Chinaunix首页 | 论坛 | 博客
  • 博客访问: 63650
  • 博文数量: 10
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 143
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-20 21:24
个人简介

学习是一种修行

文章分类

全部博文(10)

文章存档

2014年(2)

2013年(8)

我的朋友

发布时间: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.........【阅读全文】

阅读(2182) | 评论(0) | 转发(0)

发布时间:2013-12-29 17:36:06

hd_init一共有四句;第一句:blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST;主要获取块设备操作函数地址,DEVICE_REQUEST其实是个调用宏,获取他的地址有什么用呢?获取了快设备操作函数地址,当要访问硬盘是,就可以直接使用该地址来访问块设备。第二句:set_intr_gate(0x2E,&hd_interrupt);这是一个中断初始化函数.........【阅读全文】

阅读(2608) | 评论(0) | 转发(0)

发布时间:2013-12-28 23:28:01

buffer_init()这个函数是缓存区初始化,基本没什么很难的都是一些数据结构的初始化,具体解释看下面注释:void buffer_init(long buffer_end){        struct buffer_head * h = start_buffer;//初始化指针指向缓存区顶部        void * b;//定义野指针     .........【阅读全文】

阅读(2680) | 评论(0) | 转发(0)

发布时间:2013-12-28 17:14:40

这个很熟是进程调度初始化函数,主要做了设置进程的GDT,LDT描述符,设置系统定时器中断,系统调用终端,代码如下:void sched_init(void){        int i;        struct desc_struct * p;/**********************************描述结构在include/linux/head.h中typedef st.........【阅读全文】

阅读(2561) | 评论(0) | 转发(0)

发布时间:2013-12-27 16:59:49

blk_dev_init()的代码很少,如下:void blk_dev_init(void){               int i;                for (i=0 ; i<NR_REQUEST ; i++) {                request[i].dev = -1;  .........【阅读全文】

阅读(2153) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册