星光灿烂

C元素

读《Linux 内核设计与实现》

 

第二章 从内核出发

 

内核开发特点:

  1. 没有libc库。 kernel是一个不依赖任何库的,包括标准C函数库。kernel中使用的一些常见函数,比如memset, strcpy都是在kernel代码中自己实现的。
  2. 请使用gcc来编译内核,因为内核中的代码并不完全符合ANSI C的标准。
  3. 没有内存保护,非法的内存操作可能会使系统挂起。
  4. 不要使用浮点数
  5. 内核栈容量很小( 2 * 页面大小 )
  6. linux是抢占多任务操作系统,进程,内核都可以抢占,而且支持多处理器,所以内核代码需要考虑并发和同步的问题。
  7. 尽量要兼容所有架构(arch),良好的移植性

 

 

 

第三章 进程管理

 

内存描述符及任务结构

  1. 每个进程都对应有一个进程描述符,即task_struct结构,用来记录这个进程的所有信息:打开的文件,地址空间,进程状态……
  2. linux通过slab(个人感觉类似于pool)分配task_struct。 进程的task_struct指针存放在位于内核栈底的一个叫做thread_info的结构里面。
  3. 内核通过PID来标识进程,默认设置最大值,即默认系统最大进程数为32768。内核中一般通过current宏来获的当前进程的task_struct,不同的体系架构下,实现方法可能会不同。
  4. 进程状态,可以通过set_task_state来设置
    1. TASK_RUNNING 进程可执行;它正在运行,或者是在任务队列中等待被运行。
    2. TASK_INTERRUPTIBLE 进程可中断;进程被阻塞,但是可以通过信号,或者其他方法唤醒。
    3. TASK_UNINTERRUPTIBLE 进程不可中断;进程被阻塞,而且不受任何干扰,不会响应信号而被唤醒。
    4. TASK_ZOMBIE 进程僵死;进程已经运行完毕,但是父进程没有调用wait4系统调用,此时子进程的task_struct保留,等待父进程查询相关信息。【Agaric:相似的,在windows上,进程的HANDLE通过(CreateProcess或者OpenProcess得到) 在程序运行完毕后,在CloseHandle 前,也是仍然有效,用于查询进程相关信息,比如Exit code 等等】
    5. TASK_STOPPED 进程停止;
  5. 进程上下文: 进程通过系统调用或者异常陷入内核,此时内核是"代表进程"在工作,这个工作环境,叫做进程上下文,内核程序可以通过宏来获的当前进程的task_struct
  6. 进程家族树: 除了init,每个进程都有父进程, 每个进程都可能有子进程及兄弟进程。

(待续)

posted on 2008-03-06 00:00 菌子 阅读(1735) 评论(7)  编辑 收藏 引用 所属分类: 读书

评论

# re: 读《Linux 内核设计与实现》 2008-09-03 10:17 ddd

陈利君的书感觉就是大杂烩,
自己没搞懂,
东拼西凑各种概念

写linux内核的书从2.2就开始了  回复  更多评论   

# re: 读《Linux 内核设计与实现》 2010-12-09 08:23 ji

[url=http://www.iebook.cn">http://www.iebook.cn]电子杂志[/url]
[url=http://www.iebook.cn">http://www.iebook.cn]iebook第一门户[/url]
  回复  更多评论   

# re: 读《Linux 内核设计与实现》 2011-06-14 17:00 便笺本印刷

http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn 明信片印刷
http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn 手提袋印刷
http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn 便笺本印刷
http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn 快印
  回复  更多评论   

# re: 读《Linux 内核设计与实现》 2011-06-14 17:00 便笺本印刷

http://www.iein.cn 印功夫
http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn 企业电子画册
http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn iebook超级精灵
http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn 超级精灵
http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn">http://power.iebook.cn 电子杂志制作系统
  回复  更多评论   

# re: 读《Linux 内核设计与实现》 2011-06-14 17:02 便笺本印刷

http://diy.iebook.cn 电子相册制作软件
http://sc.iebook.cn 电子杂志模板制作器
http://tj.iebook.cn">http://tj.iebook.cn 电子杂志统计系统
http://tj.iebook.cn">http://tj.iebook.cn 统计精灵
http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn 超级皮肤
http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn iebook皮肤
http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn 电子杂志皮肤
http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn">http://pf.iebook.cn 杂志皮肤
  回复  更多评论   

# re: 读《Linux 内核设计与实现》 2011-06-14 17:02 便笺本印刷

http://sc.iebook.cn 电子杂志模板制作器
http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn 印刷
http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn 在线印刷
http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn 在线设计
http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn">http://www.iein.cn 名片印刷
  回复  更多评论   

# re: 读《Linux 内核设计与实现》 2011-06-14 17:03 便笺本印刷

http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn 企业电子杂志
http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn 企业电子商刊
http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn 第一门户
http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn iebook第一门户
http://mb.iebook.cn 超级模板
http://sc.iebook.cn">http://sc.iebook.cn">http://sc.iebook.cn">http://sc.iebook.cn 电子杂志模板
http://sc.iebook.cn">http://sc.iebook.cn">http://sc.iebook.cn">http://sc.iebook.cn 电子杂志模板下载
http://sc.iebook.cn">http://sc.iebook.cn">http://sc.iebook.cn">http://sc.iebook.cn flash电子杂志模板
  回复  更多评论   

# re: 读《Linux 内核设计与实现》 2011-06-14 17:03 便笺本印刷

http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn 电子杂志
http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn 电子杂志制作软件
http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn 电子杂志制作
http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn 电子杂志软件
  回复  更多评论   

# re: 读《Linux 内核设计与实现》 2011-06-14 17:04 便笺本印刷

http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn 电子画册
http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn 电子商刊
http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn 时尚杂志
http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn">http://www.iebook.cn 杂志
  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

常用链接

留言簿(8)

随笔分类

随笔档案

令一片星空

搜索

最新评论

阅读排行榜

评论排行榜