Monthly Archives: 12 月 2010

XV6 进程调度分析

进程调度主要代码在proc.c 另外trap.c syscall.c sysproc.c vm.c spinlock.c等文件中有相关部分。

主要特性总结如下:

    0、中断可以保证单CPU中代码段的原子性,自旋则实现多CPU之间的互斥。
  &[……]

继续阅读

2 Comments

十二月记

12.03:
今天是发薪水的日子,看到自己银行卡里小小的数字达到了五位数,觉得比以前稍微富裕一些了.给父亲发短信,父亲说:恭喜你成为万元户.
12.04,12.05:
一觉醒来,周末就快完毕,只记得看过<ef – a tale of memories/melodies>,其他怎么过的毫无[……]

继续阅读

Posted in 日记 | Tagged | 13 Comments

[Linux内核完全剖析]第十三章 内存管理总结

异常处理:
在开启分页的状态下,CPU执行线性地址到物理地址转化的过程中检测到如下条件,就会引起页异常(Page fault)int 14:
1、页目录或者页表项中的存在位为0;
2、当前程序没有足够的权限访问指定页面。
这时CPU会做以下操作:
1、将错误码压入栈中,在14号中断中只有最低三位有效[……]

继续阅读

Posted in 操作系统 | Tagged | Leave a comment

[MIT6.828]LAB2 Challenge 总结

Challenge 1: 大页机制的实现
没有在代码中实现,写了个步骤供参考:
0、先把预定义的PGSIZE之类的宏都更改为与大页相匹配的情况。
1、由于页大小变成了4M,所以要修改从代码,要内核4M处加载。
3、page_init()中内存布局也会发生对应变化,低端4M保留给实模式和IO映射,然后[……]

继续阅读

Posted in 操作系统 | Tagged | Leave a comment