Linux内核修炼之道
马冬冬
手艺人
展开
-
第2章 配置与编译内核
配置内核几种配置方式1. make config基于文本的最为传统的也是最为枯燥的一种配置方式,但是它可以适应任何情况。这种方式会为每一个内核支持的特性向用户提问。如果用户回答“y”,则把该特性编译进内核;回答“m”,则该特性作为模块进行编译;回答“n”,则表示不对该特性提供支持。2.make oldconfigmake oldcon原创 2015-09-02 10:54:25 · 339 阅读 · 0 评论 -
第11章 设备驱动
概述设备驱动在本质上就是一种软件程序,上层软件可以在不用了解硬件特性的情况下,通过设备驱动提供的接口和计算机硬件进行通信。为方便我们加入各种驱动以支持不同硬件,内核抽象出了很多层次结构,这些层次结构是设备驱动的上层。它们抽象出各种驱动接口,相应驱动只需要填写相应的回调函数,就能很容易把新的驱动加入到Linux内核。一般来说,设备驱动可以分为下面3类(1)块设备驱动(bl原创 2015-09-10 15:02:11 · 277 阅读 · 0 评论 -
第5章 系统调用
系统调用概述一个稳定运行的Linux操作系统需要内核和用户应用程序之间的完美配合,内核提供各种各样的服务,然后用户应用程序通过某种途径使用这些服务,进而契合用户的不同需求。用户应用程序访问并使用内核所提供的各种服务的途径即是系统调用。在内核和用户应用程序相交界的地方,内核提供了一组系统调用接口,通过这组接口,应用程序可以访问系统硬件和各种操作系统资源。内原创 2015-09-06 10:41:51 · 372 阅读 · 0 评论 -
第九章 内存管理
内存概述地址空间内存单元所对应的实际的地址称为物理地址。通常程序操作访问的内存地址称为逻辑地址,CPU通过总线操作的内存地址称为线性地址。分页为了有效管理,物理内存分为固定大小的块,称为帧或页。物理页的大小是由硬件决定的,通常为2的幂,像X86平台为4KB。虚拟地址包含页号和页内偏移,页号作为页表的索引通过MMU映射到物理内存的基地址,再加上页内原创 2015-09-08 22:03:30 · 308 阅读 · 0 评论 -
第10章 文件管理
概述文件Linux中文件的概念并不局限于普通的磁盘文件,而是指由字节序列构成的信息载体,将I/O设备、套接字等也包括在内。具体来说,Linux文件主要包括如下几类:普通文件:包括文本文件、二进制文件等。目录文件:就是目录,可以使用“mkdir”命令创建。链接文件:链接共分为两种,一种为硬链接,另一种为软链接,其中软链接又称为符号链接。设备文件:Linux原创 2015-09-09 20:59:09 · 379 阅读 · 0 评论 -
第3章 浏览内核源代码
内核将应用程序和硬件分离开来。内核一方面负责与计算机硬件进行交互,实现对硬件的编程控制和接口操作,调度对硬件资源的访问,另一方面为用户应用程序提供一个高级的执行环境和访问硬件的虚拟接口。部分内核为体系结构和硬件所特有,即体系相关部分;部分内核是可移植的,即体系无关部分。体系无关部分通常会定义与体系相关部分的接口,这样,内核向新的体系结构移植的过程就变成确认这些接口的特性并将它们加以原创 2015-09-02 16:25:31 · 335 阅读 · 0 评论 -
第7章 进程管理
概述进程vs程序程序是存储在某种存储介质上的可执行文件,是目标码和用户数据的集合。程序装载进内存后可以执行,处于可执行状态的程序称为进程。但是进程并不仅仅局限于一段可执行代码以及一些用户数据,通常它还要包括很多其他的资源,比如打开的文件、用于保存临时数据的堆栈、挂起的信号等。因此,进程可以看作处于执行状态的程序以及它所包含的资源的总称。从内核的角度来看,进程是操原创 2015-09-08 10:52:28 · 302 阅读 · 0 评论 -
第4章 系统初始化
引导过程(1)CPU自身初始化CPU自身的初始化是引导过程的第一步,如果有多个CPU,即多处理器系统,则每个CPU都要进行自身初始化。比如,对于双处理器的Pentium系统,一个CPU总是为主,另外一个CPU总是为辅,主CPU执行引导过程的剩余工作,随后内核才会激活辅CPU。在辅CPU被激活之前,我们可以认为该体统中只有一个CPU可用,而不必考虑另外一个CPU。接下来,原创 2015-09-02 17:15:15 · 312 阅读 · 0 评论 -
第6章 中断与中断处理
概述管理系统中存在的各种设备是内核的主要职责,内核一般可以通过两种方式来履行这个职责:轮询:内核以一定的周期访问设备,查询设备的状态并进行处理。中断:设备在需要时通知内核,内核收到设备的请求后再做出相应处理。使用轮询方式时,内核对设备的访问按照一定频率周期地进行,因而常常会出现设备的请求不能得到及时的处理,或者在内核一次又一次的访问中没有发现设备的任何请求,进而原创 2015-09-07 16:48:52 · 960 阅读 · 0 评论 -
第8章 调度
概述多任务系统可分为非抢占式所任务和抢占式多任务。调度策略通常情况下,使用什么样的调度策略与进程的具体类型有关。进程的一种分类方法是CPU消耗型和I/O消耗型。前者需要大量的CPU时间用于数值计算,后者则需要花费很多的时间等待I/O操作的完成。另一种分类方法把进程区分为3种。交互式进程。这类进程需要大量的人机交互,因此会不断地休眠,等待键盘和鼠标输入原创 2015-09-08 16:39:30 · 481 阅读 · 0 评论