Linux内核设计与实现
yao_hust_iAC
这个作者很懒,什么都没留下…
展开
-
《Linux内核设计与实现》读书笔记之内存管理
1.页 内核把物理页作为内存管理的基本单位,MMU(内存管理单元)以页为单位来管理系统中的页表,从虚拟内存的角度来看,页就是最小单位。 内核用struct page结构来标识系统中的每一个物理页,它的定义如下: flag域用来存放页的状态(是不是脏的,是不是被锁定在内存中等等)。_count表示这一页被引用了多少次,当次数为0时,表示此页没有原创 2015-06-04 11:34:45 · 898 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记之进程地址空间
1.进程的内核区域包含各种内存对象 进程的内核区域包含各种内存对象,比如:1.可执行文件代码可以包含各种内存映射,称为代码段(text section)。2.可执行文件的已初始化全局变量的内存映射,称为数据段(data section)。3.包含未初始化全局变量,也就是bss段的零页(页面中的信息全部为0值,所以可以用于映射bss段等目的)的内存映射。4.原创 2015-06-08 18:04:42 · 893 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记之系统调用
1.系统调用的概念 为了和用户空间上运行的进程进行交互,内核提供了一组借口。透过该接口,应用程序可以访问硬件设备和其他操作系统资源。这组借口在应用程序和内核之间扮演着使者的角色。同时,这组接口也保证了系统稳定可靠,避免应用程序肆意妄行,惹出麻烦。Linux系统的系统调用作为C库的一部分提供,其调用过程中的实例如下图所示: 从程序员的角度看,系统调用无关紧要,他们只需原创 2015-05-30 10:55:31 · 842 阅读 · 0 评论 -
《Linux内核设计与实现》之中断与中断处理程序
1.中断的概念 中断本质上是一种特殊的电信号,由硬件设备发向处理器。处理器接收到中断后,会马上向操作系统反映此信号的到来,然后就由OS负责处理这些新到来的信号。 从物理学的角度看,中断是一种电信号,有硬件设备产生,并直接送入中断控制器的输入引脚上。然后再由中断控制器向处理器发送相应的信号。处理器一经检测到此信号,便中断自己的当前工作转而处理中断。伺候处理器会通知操作系统已经原创 2015-06-01 10:53:02 · 822 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记之进程管理
1.进程描述符及任务结构 Linux内核把进程存放在叫做任务队列的双向循环链表中。链表中的每一项都是类型为task_struct,称为进程描述符的结构。进程描述符包含一个具体进程的所有信息。 task_struct相对较大,在32位的机器长,它大约有1.7K字节。进程描述符中的数据能完整的描述一个正在执行的程序:它打开的文件、进程的地址空间、挂起的信号、进程的状态,还有其他原创 2015-05-29 16:41:11 · 967 阅读 · 1 评论