版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章Linux内核简介,主要内容Linux内核一般结构进程的概念,进程调度和进程通信文件系统配置和管理内存管理单元驱动和中断处理,5.1概述,Linux系统可分为三大层。硬件附近的底部是内核,即Linux操作系统驻留内存部分。中间层是内核外部的shell层,即操作系统系统节目部分。顶层是应用层,即用户节目部分,结构上,Linux操作系统是单个结构的操作系统。一般可以操作系统分为内核和系统程序两部分。流程控制系统用于流程管理、流程同步、流程通信、流程调度、记忆体管理等。内存管理控制内存分配和回收。文件系统管理、档案空间分配、可用空间管理、文件访问控制和用户数据检索。Linux系统支持三种茄子类
2、型的硬件设备:文字设备、块设备和网络设备。核心底层的硬件控制负责中断处理和与机器的通信。5.2流程管理5.2.1流程和线程的概念、1流程及其状态简单地说,流程是程序的执行流程。进程必须至少具有三种茄子默认状态。三种茄子默认状态为运行状态、就绪状态和中断状态(或待机状态)。进程的状态可能因特定条件和原因而异。2Linux进程状态、3进程的模式和类型在Linux系统中,根据进程的功能和执行程序,进程的执行模式分为用户模式和内核模式。过程主要分为两类茄子。一个是系统进程,另一个是用户进程。4Linux线程Linux将线程定义为进程的“执行上下文”。可执行节目、专用系统堆栈空间、专用“线程控制块”(t
3、hread_struct数据结构)没有自己的存储空间。5.2.2流程的结构包含1task_struct结构task_struct结构的系统堆栈,其中存储流程状态调度信息指示符内部流程通信链接信息时间和计时器文件系统虚拟内存处理器信息,2流程系统堆栈每个流程的系统堆栈信息,以及流程进入内核模式后执行子例程(函数)嵌套调用的返回现场信息。每个进程的系统堆栈和task_struct数据结构之间有密切的关系,因此两个物理存储空间也连接到系统堆栈的大小静态决策,用户堆栈在运行时动态扩展。5.2.3进程的操作,1进程的每个进程生成每个进程配置构成树的进程族内核,完成基本初始化后,将拥有系统的第一个进程,所
4、有其他进程和内核线程也由牙齿远视进程或其子孙子进程创建。除初始化进程外的所有进程都是使用系统调用fork()和clone()创建的。Fork()是完全复制,clone()是可选复制,您可以等待2个进程的父进程使用系统调用wait3()终止其中一个子进程,或等待特定子进程使用系统调用wait4()终止。Wait3()算法:(1)如果父进程没有子进程,则返回错误。(2)如果发现存在已终止的子流程,请删除子流程的流程号,将子流程的CPU使用时间等添加到父流程,以释放子流程使用的task_struct和系统空间堆栈,使其可用于新流程。(3)如果存在发现子进程,但不是全部处于关闭状态,则等待父进程睡觉并
5、被该信号唤醒。3进程的结束过程可以使用系统调用exit()取消实施算法(1)的所有信号量。(2)释放所有资源,包括存储空间、打开的档案、工作目录、信号处理表等。(3)将进程状态设置为终止状态(TASK_ZOMBIE)。(4)向父进程发送子进程已终止的信号。(5)执行进程时间表。,4进程图像的更换变更进程图像操作复杂,由系统调用execve()实现,并用可执行文件副本复盖进程的内存空间。检查ELF可执行文件格式图表execve()系统调用基本算法:(1)文件的可行性。这意味着用户可以运行。(2)确定这是否是可读取和加载档案头的模块。(3)释放原始内存空间。(4)根据可执行文件要求分配新的内存空间
6、并加载内存。5.2.4进程调度,进程调度机制主要包括调度方法、调度定时和调度策略1调度方法。默认情况下,使用“抢占优先级”方法。2调度策略3茄子其他调度战略SCHED_FIFO短实时进程,时间要求相对强的SCHED_RR长实时进程另一个进程,进程的优先级nice优先级越低,后台进程的优先级越高,所有交互(前台)进程的优先级就越低,3调度计时(1)当前进程系统调用nanosleep(2)进程终止,CPU使用永久删除。(3)在时钟中断处理程序执行过程中,发现当前进程持续运行的时间过长。(4)唤醒睡眠过程时,发现唤醒过程可能比当前过程运行得更好。(5)通过运行系统调用,进程可以更改调度策略,或降低n
7、ice命令等优先级,从而立即调度。4调度算法、5 . 2 . 5 shell的基本工作原理,不是内核部分,而是在内核外部以用户方式运行。基本功能是解释和执行用户输入的各种命令,以实现与Linux内核的接口。5.3文件系统、ext、fat、ext2、ext3、minix、ms dos、sysv等多种文件系统支持。当前Linux中主要使用的文件系统是ext3。5.3.1 ext2文件系统ext2文件系统支持的标准UNIX档案类型(普通档案、目录档案、特殊档案和符号链接)。Ext2文件系统可以管理特别大的分区。Ext2文件系统支持长档案名称,最大长度为255个字符。Ext2文件系统(EXT2)已为超
8、级用户保留了约5%的数据块。1ext2文件系统物理结构,2块组配置每个块组包含超级块、组说明结构、块位图、索引节点位图、索引节点表和数据块。(1)超级块(Superblock)超级块包含有关文件系统本身的大小和格式的基本信息。每个块组都有一个超级块。超级块包含:幻数、修订级别、安装数和最大安装数、块组编号、块大小、每个数据组的块数、可用块、可用索引节点、第一个索引节点(2)块组描述结构,3索引节点索引节点也称为I节点,每个文件都有其自己的索引节点。Ext2文件系统索引节点充当档案控制块,用于控制和管理文件。索引节点有两种茄子形式:磁盘索引节点(如ext2_Inode)和内存索引节点(如inod
9、e)。磁盘索引节点包含以下几个茄子主要内容:(1)描述档案模式、文件属性和类型。(2)文件是主信息,包含档案主徽标号和组用户徽标号。(3)文件大小,即文件的字节大小。(4)时间戳(5)档案链路数,包括索引节点设置时间、最近访问时间、上次修改时间等。(6)块索引表。使用多索引表的结构保留指向档案数据块的指针。除了磁盘索引节点的基本信息外,在创建反映文件动态状态的项目、4多个索引结构、5ext2的目录条目文件时,内存索引节点还会配置一个目录条目,并将其添加到该目录文件中。目录文件可以包含许多目录条目,每个目录条目(例如ext2文件系统ext2_dir_entry_2)包含索引节点编号目录条目长度名
10、称长度档案类型档案名称,6位图片使用一系列二进制值反映块组中数据块的分布。也称为位矢量(位矢量),包括2、3、4、5、8、9、10、11、12、13、17、18、25、26、27、块位图显示如下,牙齿抽象界面主要由标准、抽象档案操作集组成,以系统调用形式提供给用户程序,2 .VFS超级块在安装的每个文件系统上都有一个VFS超级块。设备标识符索引节点指针块大小超级块工作集文件系统类型文件系统特殊信息3VFS索引节点VFS中的每个档案和目录中都只有一个VFS索引节点,安装和删除4Linux文件系统逻辑结构、5文件系统根文件系统安装后,在整个系统操作过程中无法卸载的其他文件系统(如软盘文件系统)可以
11、根据需要动态安装到生产系统中(作为子系统)6VFS索引节点高速缓存和目录高速缓存的基本思想是,VFS索引节点连接到数据结构中徐璐的其他散列队列,具有相同散列值的VFS索引节点位于同一队列中,在每个条目上设置包含指向VFS索引节点散列队列的标头指针的哈希表。散列值还哈希表管理基于文件系统块设备上的标记和索引节点编号计算的目录高速缓存。表中的每个条目都是指向具有相同散列值的目录高速缓存队列的指针。哈希值使用文件系统设备号和目录名进行计算,使用7块缓冲区多缓冲技术平滑和加速从内存到磁盘的档案信息传输。一个缓冲区由两部分组成。也就是说,存储数据的缓冲区和缓冲区控制块缓冲区和缓冲区控制块对应一个。系统对
12、控制块进行缓冲处理,以启用缓冲区管理。处于“空闲”状态的所有buffer_head都连接到自由链。只有一个。具有相同散列值(由设备上的标记和块的块号生成)的服务器构成了一个散列队列,该队列可以具有多个散列队列。5.4记忆体管理,Linux系统使用虚拟内存管理机制。即交换和请求分页存储管理技术5.4.1请求分页机制第一页概念逻辑空间分页内存空间页和内存块大小硬件确定逻辑地址表示内存分配策略页表。用于第2页请求的基本想法请求页面提供了虚拟存储。向每个分页表项添加状态位,以指示是否将页面加载到内存块中。地址转换机构发现N状态的分页表条目时,使用缺失页中断,3Linux的多级分页表Linux进程的信息
13、空间Linux系统使用三级分页表方法。4分配内存页面和解除Linux系统使用两种茄子方法管理内存页面。位图和链表页面组中的内存页面数增加到2的倍数,有5.4.2内存更换、内核的更换守护程序kswapd:内核传递的自己的进程控制块task_struct结构,与其他进程一样。但是,它没有自己的地址空间,仅使用系统空间,因此也称为线程。其任务是确保系统中有足够的可用内存页面。交换守护进程在系统启动时由内核的初始化(init)进程启动。按时叫醒。所做的工作主要分为两部分。这意味着使多个不常用的活动内存页处于非活动状态。清除非活动的“脏”页或循环使用某些内存页,使其成为可用内存页。交换空间(交换文件)实
14、际上是常规文件,但占用的磁盘空间必须是连续的。5.5进程通信5.5.1信号机制,1信号概念信号(signal,软中断)机制是软件层中中断机制的模拟机制。牙齿机构通常是:(1)信号分类,(1)信号分类,(2)对各种信号预先确定的处理方式。(3)信号检测和处理。2信号分类信号号符号表示语义1 SIGHUP远程用户中断2 SIGINT输入中断信号(Ctrl C) 3 SIGQUIT输入结束信号(Ctrl)4 SIGILL非法命令5 SIGTRAP调试断点6 SIGIOT IOT命令7 SIGBUS总线超时8 SIGFPE浮点异常9 SIGILL没有读取进程14 SIGALRM定时报警信号15 SIG
15、TERM软件结束信号17 SIGCHLD子进程结束19 SIGSTOP进程停止30 SIGPWR电源故障执行、3进程可以在能够处理信号的处理方法进程之间使用系统提供的系统调用(例如kill()发送信号。常规进程可以只向具有相同uid和GID的进程发送信号,也可以向同一进程组中的其他进程发送信号。在某个时间点适当地处理,例如中断处理的结束。(1)忽略信号。进程可以忽略收到的信号,但不能忽略SIGKILL和SIGSTOP信号。(2)阻塞信号。进程可以选择阻止特定信号。(3)信号由进程处理。用户可以在trap命令中指定处理信号的程序,这样进程本身就可以识别系统处理信号的处理程序的地址。发送牙齿信号后,由显示的处理程序处理。(4)基本处理由系统执行。如前所述,系统内核为除自定义以外的各种信号提供处理程序。默认情况下,信号由内核处理。也就是说,内核执行保留的处理程序。4信号检测和处理过程信号检测和处理过程如图所示。在图中显示进程顺序。如图所示,信号检
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026黑龙江省清史研究院招聘(劳务派遣)4人备考题库及参考答案详解(研优卷)
- 2026四川宜宾招聘省属公费师范生18名备考题库及答案详解【名校卷】
- 2026海南海口市秀英区疾病预防控制中心招聘事业编制人员9人备考题库附答案详解(b卷)
- 2026广东广州市爱莎文华高中招聘备考题库及参考答案详解(a卷)
- 2026济南文旅发展集团有限公司校园招聘20人备考题库及答案详解(有一套)
- 雨课堂学堂在线学堂云《食品加工机械设备使用与维护(辽宁农业职业技术学院)》单元测试考核答案
- 某印刷厂排版印刷制度
- 物流快递服务合同
- 2026年上半年广东广州市越秀区教育局招聘事业编制教师83人备考题库附答案详解(夺分金卷)
- 2026广东湛江市雷州供销助禾农业科技服务有限公司招聘5人备考题库附参考答案详解(综合卷)
- 2026江苏扬州高邮高新招商发展有限公司招聘招商专员5人备考题库(综合卷)附答案详解
- 2026年济南历城区九年级中考数学一模考试试题(含答案)
- 建筑业务承接管理制度
- 贵州省贵阳市2026年高三年级2月适应性考试(一)(贵阳一模)化学试题(含答案)
- 中介门店运营管理制度
- 水害监测系统值守制度规范
- 冰糖葫芦中华传统小吃冰糖葫芦介绍课件
- 牧运通官方兽医试题题库带答案详解(满分必刷)
- 2025水利部综合事业局公开招聘工作人员11人笔试历年常考点试题专练附带答案详解2套试卷
- 急诊护理中的人文关怀实践与案例
- 升压站砌筑工程施工方案
评论
0/150
提交评论