姥爷不在了…
[……]
前两天收到某位同学的邮件,诉说了他考研失利的事情以及想让我在编程方面提点建议。这种失败的时刻每个人都会有,安慰亦无济于事,只能静下心来,做自己能做的事情。一时键指如飞,似曾相识的感觉忽然涌来,想起5年前还在高三的自己给CFAN编辑部程序谷的东渐GG(当是北京某所高校研究生)写的那封信。信中写到我对编程的喜爱和对高考的无奈,写到自己想要逃避。东渐GG很快的回复了我,虽然我 本人的高考没有什么起色,却[……]
早上6:30,《国际歌》响起,我知道,第一轮攻坚站开始了。迅速开灯,准备好纸和笔,拿出手机,拨号。
6:32:
Calling XXXXXXXX
No circuit/channel available
Disconnect
6:33:
Calling XXXXXXXX
No circuit/channel available
Disconnected
…
6:35:
Calling XX[……]
进程调度主要代码在proc.c 另外trap.c syscall.c sysproc.c vm.c spinlock.c等文件中有相关部分。
主要特性总结如下:
0、中断可以保证单CPU中代码段的原子性,自旋则实现多CPU之间的互斥。
1、系统先自构造一个init进程的数据保存起来待运行,构造init进程需要调用useri[……]
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[……]
12.03:
今天是发薪水的日子,看到自己银行卡里小小的数字达到了五位数,觉得比以前稍微富裕一些了.给父亲发短信,父亲说:恭喜你成为万元户.
12.04,12.05:
一觉醒来,周末就快完毕,只记得看过<ef – a tale of memories/melodies>,其他怎么过的毫无印象…
12.06:
早晨的时候特别困,眼睛都睁不开.刷牙的时候才知道自己流鼻血,不知道是什么时[……]
异常处理:
在开启分页的状态下,CPU执行线性地址到物理地址转化的过程中检测到如下条件,就会引起页异常(Page fault)int 14:
1、页目录或者页表项中的存在位为0;
2、当前程序没有足够的权限访问指定页面。
这时CPU会做以下操作:
1、将错误码压入栈中,在14号中断中只有最低三位有效。位0(P):0/1 页或者页表不存在/存在;位1(R/W):0/1代表读/写操作出错 ;位2(U/[……]
1、 规定系统最大物理内存为16MB。
2、 应用程序使用0-640K虚拟内存,640K-1M是映射IO空间,1M以上的高位内存只有内核可以使用,4064-4096最高32M地址空间映射到不同的设备。
3、 &n[……]
Challenge 1: 大页机制的实现
没有在代码中实现,写了个步骤供参考:
0、先把预定义的PGSIZE之类的宏都更改为与大页相匹配的情况。
1、由于页大小变成了4M,所以要修改从代码,要内核4M处加载。
3、page_init()中内存布局也会发生对应变化,低端4M保留给实模式和IO映射,然后4M-8M是内核代码数据,8M-16M可以用来放置页目录以及物理页面数据结构,其他空闲。
4、用于页[……]
E1:In the file kern/pmap.c, you must implement code for the following functions.
boot_alloc()
page_init()
page_alloc()
p[……]