
Linux内核源代码的案例分析(上下册,高清非扫描版)。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本PDF电子书包含上下两册,总计共1576页,并附有详细目录,呈现为高清、非扫描版本。本书由毛德操和胡希明两位作者共同撰写,主题为“Linux内核源代码情景分析”。出版商为浙江大学出版社。本书系统性地阐述了Linux内核的各个方面,旨在帮助读者深入理解其核心机制。
本书结构如下:第一章涵盖预备知识,包括对Linux内核的简要介绍、Intel X86 CPU系列的寻址方式、i386页式内存管理机制以及内核源代码中使用的C语言和汇编语言代码。第二章则深入探讨了存储管理技术,具体内容涵盖了Linux内存管理的基本框架、地址映射的全过程、关键数据结构和函数的使用、越界访问处理、用户堆栈扩展、物理页面管理(包括分配、换出和换入)、内核缓冲区管理以及外部设备存储空间的地址映射,并涉及系统调用brk()和mmap()。
第三章聚焦于中断、异常和系统调用机制。首先介绍了X86 CPU对中断的硬件支持,随后阐述了中断向量表IDT的初始化以及中断请求队列的初始化过程。接着,详细描述了中断的处理方式和服务响应机制,区分了软中断与Bottom Half的处理方法,并探讨了页面异常的进入与返回流程以及时钟中断的处理。此外,书中还介绍了系统调用的概念及跳转表的运用。
第四章着重于进程与进程调度方面的知识。首先定义了进程的四个要素,然后详细描述了进程的三部曲:创建、执行与消亡的过程。书中还讨论了系统调用fork()、vfork()和clone()等进程创建相关的函数调用以及execve()、exit()和wait4()等进程终止相关的函数调用。此外,还分析了进程的调度与切换机制,并探讨了强制性调度策略以及nanosleep()和pause()系统调用的作用。最后,书中还讨论了内核中的互斥操作概念。
第五章深入研究文件系统的运作原理。首先概述文件系统的基本概念,然后详细阐述了从路径名到目标节点的过程及其相关细节。书中还讨论了访问权限控制以及文件安全性保障措施;阐述了文件系统的安装与拆卸方法;进一步探讨文件的打开与关闭操作及其相关的写与读操作;最后介绍了其他特殊文件系统(如proc)的使用情况。
第六章则侧重于传统的Unix进程间通信技术。首先概述该技术的整体框架;随后详细讲解了管道(pipe)及其对应的系统调用;接着讨论了命名管道的概念;随后又介绍了信号(signal)及其对应的系统调用ptrace();并分析了解报文传递机制及共享内存的使用方法;最后讨论了信号量在进程间通信中的应用价值.
第七章重点在于基于socket的进程间通信技术的研究. 首先介绍了socket()等相关系统调用的使用方法; 详细讲解创建插口(socket)的过程; 阐述bind(), listen(), accept(), connect()等函数的作用及使用方法; 介绍报文接收与发送的相关内容; 最后讨论插口的关闭以及其他相关内容.
第八章则涉及设备驱动程序的开发与应用. 首先概述设备驱动程序的总体架构; 详细讲解mknod(), 可安装模块, PCI总线, 块设备驱动程序, 字符设备驱动程序概述, 终端设备及汉字信息处理, 控制台驱动程序, 通用串行外部总线USB (USB) 等相关内容; 最后介绍select()异步输入/输出 以及设备文件系统 devfs 的使用方法.
第九章着重于多处理器SMP (Symmetric Multi-Processing) 系统结构的构建与优化. 首先概述SMP系统的基本概念; 然后探讨SMP结构中可能出现的互斥问题; 进一步分析高速缓存(cache) 与内存一致性(memory consistency) 的问题; 然后描述SMP结构中的中断机制及进程调度策略; 最后阐述SMP系统的引导过程.
第十章则描述系统引导和初始化过程. 首先概述整个引导过程; 然后详细讲解第一阶段的初始化工作; 接着阐述第二阶段的初始化工作; 最后描述第三阶段的初始化工作以及系统的关闭和重新启动流程。
全部评论 (0)


