- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM9嵌入式统设计——基于S3C2410与Linux_P296-301
Linux内核的结构
操作系统内核的结构模式可分为两种:整体式的单内核模式和层次式的微内核模式。
单内核
单内核也叫集中式操作系统。整个系统是一个大模块,可以被分为若干逻辑模块,即处理器管理、存储器管理、设备管理和文件管理,其模块间的交互是通过直接调用其他模块中的函数实现的。
单内核模型以提高系统执行效率为设计理念,因为整个系统是一个统一的内核,所以其内部调用效率很高。单内核的缺点也正是由于其源代码是一个整体而造成的:通常各模块之间的界限并不特别清晰,模块间的调用比较随意,所以进行系统修改或升级时,往往“其一发而动全身”,导致工作量加大,使其难以维护。
微内核
微内核是指把操作系统结构中的内存管理、设备管理、文件系统等高级服务功能尽可能地从内核中分离出来,变成几个独立的非内核模块,而在内核中只保留少量最基本的功能,使内核变得简洁可靠。
微内核实现的基础的操作系统理论层面的逻辑功能划分。几大功能模块在理论上是相互独立的,形成比较明显的界限,其优点如下:
·充分的模块化设计,可独立更换任一模块而不会影响其他模块,从而方便第三方开发、设计模块。
·未被使用的模块功能不必运行,因而能大幅度减少系统的内存需求。
·具有很高的可移植性,理论上讲只需要单独对各微内核部分进行移植修改即可。由于微内核的体积通常很小,而且互不影响,因此工作量很小。
微内核的明显缺点是系统运行效率低,因为各个模块与微内核之间是通过通信机制进行交互的。
Linux内核主要由5个子系统组成:进程调度、内存管理、虚拟文件系统、网络接口和进程间通信。
进程调度控制进程对CPU的访问,采用适当的调度策略使各进程能够合理的使用CPU。内存管理(MM)允许多个进程安全的共享主内存区域。Linux的内存管理支持虚拟内存,即在计算机中运行的程序,其代码、数据和堆栈的总量可以超过实际内存的大小,操作系统只是把当前使用的程序块保留在内存中,其余的程序块则保留在磁盘中。必要时,操作系统负责在磁盘和内存之间交换程序块。虚拟文件系统(Virtual File System,VFS)隐藏了各种硬件的具体细节,为所有的设备提供统一的接口,从而提供并支持与其他操作系统兼容的多种文件系统格式。网络接口(NET)提供了对各种网络标准的存取和各种网咯硬件的支持。进程间通信(IPC)支持进程间各种通信机制。
6.2.1 进程调度
进程调度控制进程对CPU的访问。采用适当的调度策略使各进程能够合理的使用CPU。一般情况下,当一个进程等待硬件操作完成时,他被挂起。当硬件操作完成时,进程恢复执行。例如,当一个进程通过网路发送一条消息时,网络接口需要挂起发送进程,直到硬件成功地完成消息的发送;当消息被成功地发送出去以后,网络接口给进城返回一个代码,表示操作的成功与失败。
进程的定义
一个进程是程序的一次执行过程。程序是静态的,它是一些保存在磁盘上的可执行的代码和数据集合。进程是一个动态的概念,它是Linux系统的基本调度单位。一个进程由如下元素组成:
·程序的读取上下文,它表示程序读取执行的状态;
·程序当前执行目录;
·程序服务的文件和目录;
·程序的访问权限;
·内存和其他分配给进程的系统资源。
Linux进程中最知名的属性就是它的进程号(Process Identity Number,PID)以其父进程号(Parent Process ID,PPID)。PID、PPID都是非零正整数。一个PID唯一地标识一个进程。一个进程创建新进程称为创建了子进程(Child Process),创建子进程的进程称为父进程。所有进程追溯其祖先最终都会落到进程号为1的进程身上,这个进程叫做init进程,是内核自举后第一个启动的进程。Init进程的作用是扮演终结父进程的角色。因为init进程永远不会被终止,所以系统总是确信它的存在,并在必要时以它为参照。如果某个进程在它衍生出来的全部子进程结束之前被终止,就会出现必须以init为参照的情况。此时那些失去了父进程的子进程就都会以init作为其父进程。通过执行ps-af命令,可以列出许多父进程ID为1的进程。Linux提供了一条pstree命令,允许用户查看系统内正在运行的各个进程之间的继承关系。直接在命令行输入pstree,程序会以树状结构方式列出系统中正在运行的各进程之间的继承关系。
Linux进程的状态
Linux进程主要有以下几种状态。
可运行状态:进程正在运行或处于就绪,只要得到CPU就可以立即投入运行的就绪态。
等待状态:进程正在等待某个事件发生或等待某种资源的状态。Linux进程有两种等待状态,即可中断的等待状态和不可中断的等待状态。
暂停状态:此时进程暂时停止运行,接受某种处理。
僵死状态:表示进程结束但尚未消亡的一种状态。
Linux进程的结构
您可能关注的文档
最近下载
- 中国水利水电第一工程局有限公司-三级安全教育确认卡.doc
- DB11_1444-2017 城市轨道交通隧道工程注浆技术规程.docx
- 基于.51单片机音乐盒课程设计报告.doc
- 一种提锂后废渣的高效回收利用方法.pdf VIP
- 2024香水香氛趋势白皮书.pdf
- 2023中考语文真题分类汇编:说明文阅读试题(含答案解析).docx VIP
- 2024年四川省成都市中考数学试题卷(含官方答案及逐题解析).docx
- CA6140车床的型号831002拨叉零件的机械加工工艺规程及夹具设计(含有全套图纸).doc VIP
- 2023年成都七中外地生自主招生考试数学试题和答案.doc
- 第三章聚合物流体的流变性能.ppt
文档评论(0)