学习是一种修行
发布时间:2013-12-30 15:40:15
在sched_init(); 中对进程0进行了初始化,当所有都初始完之后,就打开中断,将进程0移动到应用层,自此进程0开始执行。接着 if (!fork()),创建进程1,并在进程1里执行init();下面看下init代码:void init(void){ int pid,i; setup((void *) &dri.........【阅读全文】
发布时间:2013-12-29 17:36:06
hd_init一共有四句;第一句:blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST;主要获取块设备操作函数地址,DEVICE_REQUEST其实是个调用宏,获取他的地址有什么用呢?获取了快设备操作函数地址,当要访问硬盘是,就可以直接使用该地址来访问块设备。第二句:set_intr_gate(0x2E,&hd_interrupt);这是一个中断初始化函数.........【阅读全文】
发布时间:2013-12-28 23:28:01
buffer_init()这个函数是缓存区初始化,基本没什么很难的都是一些数据结构的初始化,具体解释看下面注释:void buffer_init(long buffer_end){ struct buffer_head * h = start_buffer;//初始化指针指向缓存区顶部 void * b;//定义野指针 .........【阅读全文】