MIT 操作系统实验 MIT JOS lab5
Lab 5: File system, Spawn and Shell
Disk Access
The x86 processor uses the IOPL bits in the EFLAGS register to determine whether protectedmode code is...
分类:
其他好文 时间:
2015-04-28 21:03:12
阅读次数:
310
JOS 用户态page fault保护处理机制分析
常常会在用户态触发page fault,如果直接让其因为page fault跌入内核触发panic目测是不是"太残忍了"
你想想,一个刚学会写C程序的童鞋,就经常干 *(int *)0x00.
当然,我只是比较赤果果的表现而已,这位同学可能经常用各种指针,然后指针为初始化亦或等于NULL的时候,对其进行赋值或解引用.总不至于让一个刚...
分类:
其他好文 时间:
2015-04-25 19:54:42
阅读次数:
247
基于JOS 80x86 的堆栈切换简要分析
这个问题一直困扰很久,发现还是有点粗心,源头--堆栈初始化没怎么搞明白.
这里首先强调,一定一定要搞清楚分段和分页保护的机制.
现有分段,后有分页,分页可有可无,看寄存器cr0是否开启PE位(page enable. 在JOS系统的boot.S里就已经开启了)
文章从三个方面对栈进行分析
0. GDT 全局段寻址描述表...
分类:
其他好文 时间:
2015-04-25 16:43:59
阅读次数:
207
JOS lab4 用户程序分析
faultread.c faultdie.c:
这两个用户程序一起分析
左右两个用户程序,都试图对非法地址写入数据,但是左边的就会导致 page fault ,触发的是内核trap
而后边的就会进入打印trap frame,导致系统挂掉,而右边的不会,右边的由于有用户空间的处理机制,
还是建议自己一步步跟踪去看.
faul...
分类:
其他好文 时间:
2015-04-25 00:20:05
阅读次数:
129
MIT JOS # RoundRobin Scheduling#
下面是MIT JOS里 round-robin调度策略的实现.
在 kern/sched.c里面
下面的截图来自> (以前搬过的砖也是有好处的哇~)
结合代码就能够很形象的理解Round-robin.
每当我们调用sched_yeild()的时候,我们就打算让当前进程让出CPU了.
...
分类:
其他好文 时间:
2015-04-22 11:37:16
阅读次数:
112
JOS lab4 部分用户程序分析
在lab 4的分支里面,会有各种好玩的用户程序.如下:
觉得还是有必要一一对其进行简要的分析.自顶向下的了解OS的机制
分析的用户程序顺序随意,不按照难度排序
badsegment.c:
这里的唯一一行嵌入式汇编尝试把 0x28这个数赋值给数据段寄存器 DS
看这里Global describe t...
分类:
其他好文 时间:
2015-04-21 20:49:30
阅读次数:
173
Implement a Shell by yourself -- MIT xv6 shell
这个其实是作为6.828的一个小课堂作业 ...
着重分析构建思想和过程,具体代码实现去github可以找到.
https://github.com/jasonleaster/MIT_6_828_assignments_2012/blob/homework1/sh.c
...
分类:
系统相关 时间:
2015-04-19 06:30:39
阅读次数:
256
The File System in JOS
单独开一贴扯一扯JOS里的文件系统
也是方便以后更新或引用.
集中火力看几个和文件系统有关系的头文件.
inc/fs.h
fs/fsformat.h
fs/fs.h
fs/serv.c
先回答一下神马是文件系统...
File system
The xv6 file system...
分类:
其他好文 时间:
2015-04-18 17:48:36
阅读次数:
105
MIT JOS lab4
写在前面的碎碎念~ :
经历了LAB 3的洗礼,死磕到了lab 4. 这里还是首先向各位为JOS 实验做过笔记,写过博客,把自己实验代码托管到JOS上面的先行者们致敬! 如果没有这么好的开源环境, 这么好的东西学不来. 珍惜, 不用嘴. Doing is better than saying!
-----------...
分类:
其他好文 时间:
2015-04-17 18:21:40
阅读次数:
434