《通用内核职责》PPT课件

《通用内核职责》PPT课件

ID:42028158

大小:1.37 MB

页数:168页

时间:2019-09-06

《通用内核职责》PPT课件_第1页
《通用内核职责》PPT课件_第2页
《通用内核职责》PPT课件_第3页
《通用内核职责》PPT课件_第4页
《通用内核职责》PPT课件_第5页
资源描述:

《《通用内核职责》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章Linux内核6.1通用内核职责总体来说,内核负责抽象与管理一台机器的硬件资源以及这些资源在执行程序之间的共享。内核必须支持进程、文件和其他资源,以使它们能够通过传统UNIX系统调用来进行管理。6.1.1资源抽象资源抽象:是指创造软件(通常情况)来简化必须应用于硬件的操作以使该硬件能恰当地工作。例如,一个设备驱动程序就是一个软件资源抽象。计算机部件被抽象为进程和资源。进程管理:操作系统中的所有执行进程抽象的所有方面称为进程管理。资源管理:是创建资源抽象以及在进程执行时为它们分配和回收系统资源的过程。UN

2、IX试图将除CPU和可执行内存之外的每一种资源都视为一个文件。6.1.2共享资源进程可以请求、使用并且释放资源。当一个进程请求资源时,它通常需要对该资源的独占使用。对一个资源的独占作用意味着当一个资源被分配给一个进程时,没有其他进程能够访问这个资源。资源管理有两个关键的方面:对获得资源的竞争和对独占使用的确保。资源管理程序示意图进程P资源管理程序已分配可用资源X请求K个单元获得K个单元释放K个单元分配K个单元图6-1资源管理程序示意图资源的独占使用进程对CPU的独占使用--通过确保其他进程无法打断一个进程的执

3、行(除非那些其他进程比当前运行的进程更重要)内存的独占使用--是通过硬件内存保护机制来保证的。这些机制禁止CPU访问那些没有分配给当前使用CPU的进程的内存。设备的独占使用是通过以下方式来完成的:禁止CPU对一个设备执行I/O指令,除非是为已分配该设备的进程而执行。管态与用户态管态(supervisormode):内核执行时CPU处于管态,也称为内核态(kernelmode)用户态(usermode):所有其他操作系统部件执行时CPU处于用户态通过CPU模式位区别当CPU处于管态时,被认为正在执行信任软件,硬

4、件将会执行在其指令表中的任何指令并且可以访问任何内存地址。当CPU处于用户态时,它被认为在执行非信任软件,硬件将无法执行特权指令(privilegedinstruction)(例如I/O指令),并且只能访问对当前使用CPU的进程所分配的内存。6.1.3操作系统的功能划分进程与资源管理存储管理设备管理文件管理6.2内核的组织结构单内核结构一个模块是一个独立的软件单元设备驱动程序模块设备驱动程序接口模块接口图6-2内核、设备驱动程序和模块Linux内核6.2.1中断中断是一个产生自外部部件(例如,设备)并由CPU

5、硬件捕获的电子信号,它使CPU开始执行一个程序序列,而该程序序列与中断发生时CPU正在执行的程序无关。6.2.2使用内核服务用户程序将内核看作一个大的抽象数据类型(ADT)(类似于一个对象),它保持状态并在其公共接口——系统调用接口上具有大量函数。内核软件不具有任何内部执行线程或进程,它只是一组保持状态的函数和数据结构的集合。任何使用内核服务的进程——这种进程是一个活动实体——通过(在逻辑上)使用一个对POSIX的过程调用来产生内核请求。即一个在内核之外执行的进程当它产生系统调用时开始执行内核代码。内核作为A

6、DT用户空间程序调用系统公共POSIX..1系统调用接口内核图6-4内核作为ADT私有实现管态与用户态之间的切换陷阱指令(trapinstruction)是一条用于将CPU转移到一个预定地址(有时作为一个指令操作数的函数)并将其自身切换为管态的指令。陷阱指令并不是一条特权指令,因此任何程序都可以执行一条陷阱指令。转移指令的目的地址是由一组地址预先决定的,它们存放在配置为指向内核代码的管理空间中。陷阱指令操作陷阱信任代码----------------------------------------------

7、---------123模式转移表用户态管态图6-5陷阱指令操作S完成一个系统调用所需执行操作1.对于系统调用F,stub(代码存根)过程用于调用F(该stub也称为F)。2.stub被链接到(用户空间)正调用的程序。3.当一个进程在运行期执行对F的调用,控制被转换到stub过程而不是直接转换到内核。4.stub过程确认传递到内核过程的参数值。另外,在原则上它可以验证调用stub过程的进程。5.stub过程执行一条陷阱指令转换CPU到管态,然后它(通过一张包含内核函数入口点的内核表间接)转移到目的内核函数的入

8、口点。6.2.3串行执行通常内核函数执行时处于临界区。也就是说,一旦进程调用一个系统函数,该函数通常要运行到结束并在CPU分配给不同的进程之前返回。这种类型的内核是单线程(single-threaded)的。IRQ可以中断系统调用的执行来运行ISR。6.2.4守护进程习惯上,守护进程执行名字以字符“d”结尾的程序。典型守护进程syslogd、klogd、crond认识Linux内核内核源程序目录结构

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。