E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
MIT6.828
对CPU和操作系统的一点见解
做到了
MIT6.828
的lab4后对操作系统感觉有了更深的理解,下面记录一下最近想到的问题。1.CPU是怎么运行程序的,为什么会有代码段和数据段,为什么不合在一起?
Kyrie_046a
·
2020-07-19 13:37
mit6.828
lab1 PART2
Part3:TheBootLoader终于到了bootloader部分了......FloppyandharddisksforPCsaredividedinto512byteregionscalledsectors.Asectoristhedisk'sminimumtransfergranularity:eachreadorwriteoperationmustbeoneormoresectorsi
Huang智杰
·
2020-07-15 03:50
MIT6.828
Lab1:第2部分 The Boot Loader
对于PC来说,软盘,硬盘都可以被划分为一个个大小为512字节的区域,叫做扇区。一个扇区是一次磁盘操作的最小粒度。每一次读取或者写入操作都必须是一个或多个扇区。如果一个磁盘是可以被用来启动操作系统的,就把这个磁盘的第一个扇区叫做启动扇区。当BIOS找到一个可以启动的软盘或硬盘后,它就会把这512字节的启动扇区加载到内存地址0x7c00~0x7dff这个区域内。对于6.828,我们将采用传统的硬盘启动
bysui
·
2020-07-14 08:44
操作系统
MIT6.828
Fall 2012 Lab 1: Booting a PC
首先感慨一下好长时间没有写博客了啊~好几次准备写,但是写着写着就觉得写不下去了。开通这个博客的初衷就是为了锻炼书面表达能力,在此鼓励下自己,即使写起来很费劲,但是还是得硬着头皮写啊~再说这个6.828lab,才第一个lab就已经体会到涉及到的知识非常多,要想理解需要看很多各个方面的资料,好在实验里都列出来各个部分需要看的资料了~环境搭建:我电脑的环境是Ubuntu12.04LTS,gcc4.6.3
sduzh9011
·
2020-07-07 05:05
操作系统
MIT6.828
32位操作系统笔记(4)----LAB1上
MITEDU6.828实验源代码分类MIT6.82832位操作系统实验笔记实验完善代码LAB2-4下载链接提取码:79t81、安装qemu下载qemugitclonehttps://github.com/mit-pdos/6.828-qemu.git/usr/local(后面的表示将文件保存到这个文件夹下)切换到文件目录,并运行命令./configure--disable-kvm--target-
YoungSusie
·
2020-07-01 15:52
操作系统
MIT6.828
课程JOS在macOS下的环境配置
本文将介绍如何在macOS下配置MIT6.828JOS实验的环境。写JOS之前,在网上搜寻JOS的开发环境,很多博客和文章都提到“不是32位linux就不好配置,会浪费大量时间在配置环境”上之类的论调。故前期开发直接使用了32位ubuntu系统,并做了共享文件系统,背景开一个ubuntu虚拟机进行编译。最近实在无法忍受背景开虚拟机那恐怖的耗电量和发热量,尝试将开发环境移到macOS下,竟发现非常的
He11o_Liu
·
2020-07-01 09:42
JOS
操作系统
MIT6.828
/6.S081 - 2019:Lab1 Utilities
Mit6.828
/6.S081fall2019的Lab1是Unixutilities,主要内容为利用xv6的系统调用实现sleep、pingpong、primes、find和xargs等工具。
Physicaloser
·
2020-07-01 07:14
操作系统
MIT6.828
/6.S081 - 2019:MacOS下搭建xv6和risc-v环境
本文介绍搭建
Mit6.828
/6.S081fall2019实验环境的详细过程,包括riscv工具链、qemu和xv6,以MacOS下的实践为例,Linux系统同样可以参考。
Physicaloser
·
2020-07-01 07:14
操作系统
MIT6.828
lab1/Exercise 11
Exercise11要求借助x86提供的read_ebp()在kern/monitor.c的mon_backtrace中打印出函数调用的栈中的ebp和eip的信息,实现下面所示的效果Stackbacktrace:ebpf0109e58eipf0100a62args00000001f0109e80f0109e98f0100ed200000031ebpf0109ed8eipf01000d6args00
Kyrie_046a
·
2020-06-29 12:10
[
MIT6.828
] 调试虚拟机OS时断点设置问题和总结
MIT6.828
的LAB1中的内核代码中,内核段基址为0x10000000(可由kern/entry.S中的mygdt标号下的数据计算得到),这样如果一个虚拟地址是0xF010013A(kern/init.c
davelv
·
2020-06-23 03:27
操作系统
虚拟机
os
vb
汇编
windows
linux
MIT6.828
学习之homework8:User-level threads
多路复用机制为进程提供了独占处理器的假象,实现多路复用有几个难点。首先,应该如何从运行中的一个进程切换到另一个进程?xv6采用了普通的上下文切换机制;虽然这里的思想是非常简洁明了的,但是其代码实现是操作系统中最晦涩难懂的一部分。第二,如何让上下文切换透明化?xv6只是简单地使用时钟中断处理程序来驱动上下文切换。第三,可能出现多个CPU同时切换进程的情况,那么我们必须使用一个带锁的方案来避免竞争。第
请叫宝宝荡哥
·
2020-06-22 11:14
MIT6.828操作系统学习
MIT6.S081/6.828 实验1:Lab Utilities
Mit6.828
/6.S081fall2019的Lab1是Unixutilities,主要内容为利用xv6的系统调用实现sleep、pingpong、primes、find和xargs等工具。
zhayujie
·
2020-06-07 14:00
MIT6.S081/6.828准备:MacOS下搭建xv6和risc-v环境
本文介绍搭建
Mit6.828
/6.S081fall2019实验环境的详细过程,包括riscv工具链、qemu和xv6,以MacOS下的实践为例,Linux系统同样可以参考。
zhayujie
·
2020-05-27 10:00
强烈推荐的两个神级教学项目: nand2tetris 与
MIT6.828
nand2tetris难度:★★★★☆推荐:★★★★★nand2tetris项目有一本书叫《计算机系统要素》,也有英语的视频教程。如果英语不好的可以看书,内容是一样的。这本书主要讲解了计算机原理(1-6章)、编译原理(7-11章)、操作系统相关知识(12章)。不要看内容这么多,其实这本书的内容非常通俗易懂,翻译也很给力。每一章背后都有对应的练习,需要你手写代码去完成,堪称理论与实践结合的经典。这里
woai3c
·
2020-04-06 18:40
编译原理
操作系统
程序员
互联网
计算机原理
一,
MIT6.828
课程实验环境搭建
1.步骤安装VMware15并安装虚拟机Ubuntu18.04.3安装git和python按照tools安装编译器工具链编译jos系统并加载输入命令:%objdump-i第二行结果为elf32-i386输入:%gcc-m32-print-libgcc-file-name结果为Command'gcc'notfound,butcanbeinstalledwith:安装gcc%sudoapt-getin
王郑东
·
2020-02-06 20:02
飞龙的计算机公开课推荐
编程哈佛CS50MIT6.001xUCBCS61a主页中文版教材数据结构·算法斯坦福CS106bUCBcs61b普林斯顿Algs4MIT6.006系统nand2tetrisCMU15-213主页笔记
MIT6.828
ApacheCN_飞龙
·
2020-01-07 13:38
## ucore Lab0 一些杂记
ucoreLab0一些杂记前一阵子开始做
MIT6.828
,做了两三个实验才发现清华的ucore貌似更友好一些,再加上前几个实验也与6.828有所重叠,于是决定迁移阵地。
李斌libinyl的博客
·
2019-08-30 02:00
mit6.828
实验环境配置
Ubuntu配置1安装工具包#sudoapt-getinstall-ybuild-essentiallibtoollibglib2.0-devlibpixman-1-devzlib1g-devgitlibfdt-devgcc-multilibgdb2安装qemu下载qemu定制版本#gitclonehttp://web.mit.edu/ccutler/www/qemu.git-b6.828-2.3
__七把刀__
·
2019-08-14 12:15
MIT-6.828-JOS-环境搭建
MIT6.828
是操作系统中最经典的一门课程。完成所有的lab就相当于完成了一个迷你的操作系统。我跟的是2018年的课程,课程首页在6.828课程官网。
gatsby123
·
2018-10-05 22:00
(
MIT6.828
) 1.实验环境搭建
(
MIT6.828
)1.实验环境搭建文章目录(
MIT6.828
)1.实验环境搭建1.检查工具链2.安装QEMU3.获取源码参考官网:https://pdos.csail.mit.edu/6.828/2018
khermit
·
2018-10-05 12:07
操作系统
MIT6.828
MIT_6.828 环境配置
MIT6.828
在网上一直有很高的地位,但是由于上手难度太难,而且是MIT研究生的课程,让大家都望而却步.但是如果想要深入透彻的了解计算机系统的架构和设计,这门课又是有很大帮助.作为一个计算机学生,一个热爱学习
helloworld19970916
·
2018-08-12 05:14
计算机系统
mit6.828-操作系统实践
说明该文档是跟
mit6.828
的2017年的课程时做的作业,完成6个实验,耗费很多业余时间,也多有参考网上大神们的代码实现,完成的文档和代码地址如下,github仓库地址mit6.828-2017。
__七把刀__
·
2018-07-18 22:31
MIT6.828
操作系统课程实验环境搭建
在网上找了很多实验环境搭建教程,发现大部分写的都不详细,到最后还是去
MIT6.828
的官网找到了一份实验所需工具安装教程,不过不是图文教程,因此在此撰写一份图文版的实验环境搭建教程(只针对ubuntu版本
eye_water
·
2018-06-10 11:59
c语言
飞龙的计算机公开课推荐
编程哈佛CS50MIT6.001xUCBCS61a主页中文版教材数据结构·算法斯坦福CS106bUCBcs61b普林斯顿Algs4MIT6.006系统nand2tetrisCMU15-213主页笔记
MIT6.828
飞龙
·
2018-02-23 00:00
公开课
MIT 6.828 JOS 环境配置
MIT6.828JOSLab1记录这学期刚好在学操作系统课程,课余时间也比较充足,所以着手开始做鼎鼎大名的
MIT6.828
操作系统课程的Lab。
Tommylwp
·
2016-02-26 08:03
JOS
飞龙的计算机公开课推荐
UCBCS61a主页中文版教材数据结构·算法斯坦福CS106bUCBCS61b普林斯顿Algs4MIT6.006GateLectures算法和数据结构系统nand2tetrisCMU15-213视频笔记
MIT6.828
飞龙
·
2016-01-16 00:00
公开课
计算机科学
关于学习
MIT6.828
操作系统课程的记录
课程描述:6.828传授关于操作系统的基本知识。下面的主题将会在本课程中具体学到: virtual memory, kernel and user mode, system calls, threads, context switches, interrupts, interprocess communication, coordination of concurrent activi
·
2015-11-13 17:01
操作系统
关于学习
MIT6.828
操作系统课程lab1记录
今天把第一课的实验过一遍,然后看了一下前512字节的bootloader的代码。对bios的int0x10 软中断服务程序进行了一点实验。整个过过程遇到些问题,记录一下,以免忘了没有地方找! 1:在编译lab下代码时遇到的问题: lib/printfmt.c:42:对‘__udivdi3’未定义的引用 lib/printfmt.c:50:对‘__umoddi3’未定义的引用
·
2015-11-13 16:42
操作系统
MIT6.828
JOS系统 lab2
关于系统分页,在
MIT6.828
虚拟地址转化为物理地址——二级分页:http://blog.csdn.net/fang92/article/details/47320747中有讲。
fang92
·
2015-08-19 21:31
operator
system
MIT6.828
Fall 2012 Lab 1: Booting a PC
首先感慨一下好长时间没有写博客了啊~好几次准备写,但是写着写着就觉得写不下去了。开通这个博客的初衷就是为了锻炼书面表达能力,在此鼓励下自己,即使写起来很费劲,但是还是得硬着头皮写啊~再说这个6.828lab,才第一个lab就已经体会到涉及到的知识非常多,要想理解需要看很多各个方面的资料,好在实验里都列出来各个部分需要看的资料了~环境搭建: 我电脑的环境是Ubuntu12.04LTS,gcc4.6
copica
·
2014-07-22 15:00
MIT6.828
lab1
MIT6.828
boot.S文件分析
#include #StarttheCPU:switchto32-bitprotectedmode,jumpintoC. #TheBIOSloadsthiscodefromthefirstsectoroftheharddiskinto #memoryatphysicaladdress0x7c00andstartsexecutinginrealmode #with%cs=0%ip=7c00. 启动
xiaocainiaoshangxiao
·
2014-03-28 17:00
汇编
分析
JOS
boot.S
MIT6.828
[
MIT6.828
] LAB4 PART A
Exercise1.Implementround-robinschedulinginsched_yield()asdescribedabove.Don'tforgettomodifysyscall()todispatchsys_yield().修改kern/sched.c文件的sched_yield()函数//Chooseauserenvironmenttorunandrunit.voidsche
davelv
·
2011-02-22 15:00
操作系统
[
MIT6.828
] LAB4 PART A
Exercise1.Implementround-robinschedulinginsched_yield()asdescribedabove.Don'tforgettomodifysyscall()todispatchsys_yield().修改kern/sched.c文件的sched_yield()函数//Chooseauserenvironmenttorunandrunit.voidsche
davelv
·
2011-02-22 15:00
[
MIT6.828
] LAB4 PART A
Exercise 1.Implement round-robin scheduling in sched_yield() as described above. Don't forget to modify syscall() to dispatch sys_yield(). 修改kern/sched.c文件的sched_yield()函数 // Choose a user environme
talin2010
·
2011-02-22 15:00
数据结构
C++
c
C#
J#
[
MIT6.828
] LAB3总结
LAB3:Q1.Whatisthepurposeofhavinganindividualhandlerfunctionforeachexception/interrupt?(i.e.,ifallexceptions/interruptsweredeliveredtothesamehandler,whatfeaturethatexistsinthecurrentimplementationcould
davelv
·
2010-12-22 17:00
function
汇编
struct
user
null
structure
[
MIT6.828
] LAB3总结
LAB3: Q1.What is the purpose of having an individual handler function for each exception/interrupt? (i.e., if all exceptions/interrupts were delivered to the same handler, what feature that exists in
talin2010
·
2010-12-22 17:00
数据结构
编程
C++
c
C#
[
MIT6.828
]LAB2 Challenge 总结
Challenge1:大页机制的实现没有在代码中实现,写了个步骤供参考:0、先把预定义的PGSIZE之类的宏都更改为与大页相匹配的情况。1、由于页大小变成了4M,所以要修改从代码,要内核4M处加载。3、page_init()中内存布局也会发生对应变化,低端4M保留给实模式和IO映射,然后4M-8M是内核代码数据,8M-16M可以用来放置页目录以及物理页面数据结构,其他空闲。4、用于页面映射的操作的
davelv
·
2010-12-02 17:00
list
struct
command
null
insert
Parameters
[
MIT6.828
]LAB2 Challenge 总结
Challenge1:大页机制的实现没有在代码中实现,写了个步骤供参考:0、先把预定义的PGSIZE之类的宏都更改为与大页相匹配的情况。1、由于页大小变成了4M,所以要修改从代码,要内核4M处加载。3、page_init()中内存布局也会发生对应变化,低端4M保留给实模式和IO映射,然后4M-8M是内核代码数据,8M-16M可以用来放置页目录以及物理页面数据结构,其他空闲。4、用于页面映射的操作的
talin2010
·
2010-12-02 17:00
设计模式
数据结构
C++
c
C#
[
MIT6.828
]LAB2 Exercise & Question总结
E1:Inthefilekern/pmap.c,youmustimplementcodeforthefollowingfunctions. boot_alloc() page_init() page_alloc() page_free()staticvoid*boot_alloc(uint32_tn,uint32_talign){externcharend[];void*v;if(
davelv
·
2010-11-28 12:00
list
struct
table
null
insert
reference
[
MIT6.828
]LAB2 Exercise & Question总结
E1:Inthefilekern/pmap.c,youmustimplementcodeforthefollowingfunctions.boot_alloc()page_init()page_alloc()page_free()staticvoid*boot_alloc(uint32_tn,uint32_talign) { externcharend[]; void*v; if(boot
talin2010
·
2010-11-28 12:00
数据结构
REST
[
MIT6.828
] LAB1中VBE图形界面测试总结
看到红色的Challenge就想挑战一把,于是搞了下VESA图形模式的编程。科普知识:什么是VBE?VBE的全称是VESABIOSExtension。什么是VESA?VESA的全称是VideoElectronicsStandardsAssociation即视频电子标准协会,是由代表来自世界各地的、享有投票权利的超过165家成员公司的董事会领导的非盈利国际组织。VESA致力于开发、制订和促进个人计算
talin2010
·
2010-11-04 22:00
设计模式
编程
C++
c
C#
[
MIT6.828
] LAB1中VBE图形界面测试总结
看到红色的Challenge就想挑战一把,于是搞了下VESA图形模式的编程。科普知识:什么是VBE?VBE的全称是VESABIOSExtension。什么是VESA?VESA的全称是VideoElectronicsStandardsAssociation即视频电子标准协会,是由代表来自世界各地的、享有投票权利的超过165家成员公司的董事会领导的非盈利国际组织。VESA致力于开发、制订和促进个人计算
davelv
·
2010-11-04 22:00
测试
float
图形
extension
Standards
math.h
[
MIT6.828
]LAB1输入输出TAB字符的若干问题及总结
LAB1给代码中的'/t'的处理很简陋,直接把'/t'替换为5个空格,这和我们平时习惯有很大不同,所以要改造一下。1、在kern/console.ccga_putc()函数中,可以看到'/t'case分支,把这个分支替换为如下代码:case'/t':do{cons_putc('');}while(crt_pos%TAB_SIZE!=0);break;其中的TAB_SIZE我将其定义在kern/co
davelv
·
2010-11-02 17:00
c
OS
buffer
character
终端
2010
[
MIT6.828
]LAB1输入输出TAB字符的若干问题及总结
LAB1给代码中的'\t'的处理很简陋,直接把'\t'替换为5个空格,这和我们平时习惯有很大不同,所以要改造一下。1、在kern/console.ccga_putc()函数中,可以看到'\t'case分支,把这个分支替换为如下代码:case'\t': do{ cons_putc(''); }while(crt_pos%TAB_SIZE!=0); break;其中的TAB_SIZE我将其定义
talin2010
·
2010-11-02 17:00
C++
c
C#
OS
[
MIT6.828
] 调试虚拟机OS时断点设置问题和总结
MIT6.828
的LAB1中的内核代码中,内核段基址为0x10000000(可由kern/entry.S中的mygdt标号下的数据计算得到),这样如果一个虚拟地址是0xF010013A(kern/init.c
davelv
·
2010-10-31 00:00
虚拟机
windows
linux
汇编
OS
vb
[
MIT6.828
] 调试虚拟机OS时断点设置问题和总结
MIT6.828
的LAB1中的内核代码中,内核段基址为0x10000000(可由kern/entry.S中的mygdt标号下的数据计算得到),这样如果一个虚拟地址是0xF010013A(kern/init.c
talin2010
·
2010-10-31 00:00
虚拟机
linux
windows
OS
vb
[
MIT6.828
]ELF文件格式
1、整体ELF文件结构看起来如下:LinkingViewExecutionView==========================ELFheaderELFheaderProgramheadertable(optional)ProgramheadertableSection1Segment1...Segment2Sectionn...SectionheadertableSectionheader
davelv
·
2010-10-29 18:00
struct
header
File
table
Integer
alignment
[
MIT6.828
]ELF文件格式
1、整体ELF文件结构看起来如下:LinkingViewExecutionView ========================== ELFheaderELFheader Programheadertable(optional)Programheadertable Section1Segment1 ...Segment2 Sectionn... Sectionheadertabl
talin2010
·
2010-10-29 18:00
数据结构
linux
OS
bbs
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他