人生如戏

前两天收到某位同学的邮件,诉说了他考研失利的事情以及想让我在编程方面提点建议。这种失败的时刻每个人都会有,安慰亦无济于事,只能静下心来,做自己能做的事情。一时键指如飞,似曾相识的感觉忽然涌来,想起5年前还在高三的自己给CFAN编辑部程序谷的东渐GG(当是北京某所高校研究生)写的那封信。信中写到我对编程的喜爱和对高考的无奈,写到自己想要逃避。东渐GG很快的回复了我,虽然我 本人的高考没有什么起色,却[……]

继续阅读

Posted in 日记 | Tagged | Leave a comment

春节战役第一波–订票

早上6:30,《国际歌》响起,我知道,第一轮攻坚站开始了。迅速开灯,准备好纸和笔,拿出手机,拨号。
6:32:
Calling XXXXXXXX
No circuit/channel available
Disconnect

6:33:
Calling XXXXXXXX
No circuit/channel available
Disconnected

6:35:
Calling XX[……]

继续阅读

Posted in 日记 | Tagged | 3 Comments

XV6 进程调度分析

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

主要特性总结如下:

    0、中断可以保证单CPU中代码段的原子性,自旋则实现多CPU之间的互斥。
    1、系统先自构造一个init进程的数据保存起来待运行,构造init进程需要调用useri[……]

继续阅读

2 Comments

十二月记

12.03:
今天是发薪水的日子,看到自己银行卡里小小的数字达到了五位数,觉得比以前稍微富裕一些了.给父亲发短信,父亲说:恭喜你成为万元户.
12.04,12.05:
一觉醒来,周末就快完毕,只记得看过<ef – a tale of memories/melodies>,其他怎么过的毫无印象…
12.06:
早晨的时候特别困,眼睛都睁不开.刷牙的时候才知道自己流鼻血,不知道是什么时[……]

继续阅读

Posted in 日记 | Tagged | 13 Comments

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

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

继续阅读

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

XV6内存布局

1、        规定系统最大物理内存为16MB。
2、        应用程序使用0-640K虚拟内存,640K-1M是映射IO空间,1M以上的高位内存只有内核可以使用,4064-4096最高32M地址空间映射到不同的设备。
3、      &n[……]

继续阅读

Posted in 操作系统 | Tagged | 5 Comments

[MIT6.828]LAB2 Challenge 总结

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

继续阅读

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