- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
unix内核概述
Unix内核概述
进程/内核模式
CPU既可以运行在用户态下,也可以运行在内核态下。
进程是动态的实体,在系统内通常只有有限的生存期。创建、撤销及同步现有进程的任务都委托给内核中的一组例程来完成。
内核本身并不是一个进程,而是进程的管理者。
每个系统调用都设置了一组识别进程请求的参数,然后执行与硬件相关的CPU指令完成冲用户态到内核太的转换。
Unix系统还包括几个所谓内核线程的特权进程,它具有以下几个特点:
它们以内核态运行在内核地址空间;
它们不与用户交互,因此不需要终端设备;
它们通常在系统启动时创建,然后一直处于活跃状态知道系统关闭。
用户态与内核之间的切换:
处于用户态的进程A发出系统调用之后,进程切换到内核态,系统调用被执行。然后,知道发生定时中断切调度程序在内核态被激活,进程A才恢复在用户态下执行。进程切换发生,进程B在用户态开始执行,知道硬件设备发出中断请求。中断的结果是,进程B切换到内核态并处理中断。
几种方式激活内核例程:
进程调用系统调用;
正在执行进程的CPU发出一个异常信号,异常是一些反常情况,例如一个无效的指令。内核代表产生异常的进程处理异常。
外围设备箱CPU发出一个中断信号以通知一个时间的发生,如一个要求注意的请求、一个状态的变化或一个I/O操作已经完成等。每个中断信号都是由内核的中断处理程序来处理的。因为外围设备与CPU异步操作,因此,中断在不可预知的时间发生。
内核线程被执行。因为内核线程运行在内核态,因此必须认为其相应程序是内核的一部分。
进程实现
每个进程由一个进程描述符表示,这个描述符包含有关进程当前状态的信息。
当内核暂停一个进程时,就把几个相关处理器、寄存器的内容保存在进程描述符中。这些寄存器包括:
程序计数器和栈指针寄存器;
通用寄存器;
浮点寄存器;
包含CPU状态信息的处理器控制寄存器;
用来跟踪进程对RAM访问的内存管理寄存器。
当内核决定恢复一个进程时,它用进程描述符中合适的字段来装卸CPU寄存器。因为程序计数器中所存的值指向下一条将要执行的指令,所以进程从它停止的地方恢复执行。
当一个进程不在CPU上执行时,它正在等待某一事件。Unix内核可以区分很多等待状态,这些状态通常由进程描述符队列实现。每个(可能为空)队列对应一个等待特定事件的过程。
可重入内核
所有的unix内核都是可重入的,这意味着若干个进程可以同时在内核态下执行。在单处理器系统上只能有一个进程真正运行,但是有许多进程可能在等待CPU或者某一个I/O操作完成时在内核态下被阻塞。
提供可重入的一种方式是编写函数,以便这些函数只能修改局部变量,而不能改变全局数据结构,这样的函数叫可重入函数。
可重入内核可以包含非重入函数,并且利用锁机制保证一次只有一个进程执行一个非重入函数。
如果一个硬件中断发生,可重入内核能挂起当前正在执行的进程,即使 进程处于内核态。因为这样能够提高中断设备控制器的吞吐量。
内核控制路劲表示内核处理系统调用、异常或中断所执行的指令序列。
在最简单的情况下,CPU发出一条指令到最后一条指令顺序地执行内核控制路劲。然后,当下述时间发生时,CPU交错执行内核控制路径:
运行在用户态下的进程调用一个系统调用,而相应的内核控制路径证实这个请求无法立即得到满足;然后内核控制路径调用调度程序选择一个新的进程投入运行。结果,进程发生切换。第一个内核控制路径还没有完成,而CPU又重新开始执行 其他的内核控制路径。在这种情况下,两条控制路径代表两个不同的进程在执行。
当运行一个内核控制路径时,CPU检测一个异常。第一个控制路径被挂起,而CPU开始执行合适的过程。当这个过程结束时,第一个进程恢复执行。在这种情况下,两个控制路径代表同一个进程在执行。
当CPU正在运行一个启用了中断的内核控制路径时,一个硬件中断发生。第一个内核控制路径还没有执行完,CPU开始执行另一个内核控制路径来处理这个中断。当这个中断处理程序终止时,第一个内核控制路径恢复。在这种情况下,两个内核控制路径运行在同一进程的可执行上下文中,所花费的系统CPU时间都算给了这个进程。然而,中断处理程序无需代表这个进程运行。
在支持抢占式调度内核中,CPU正式运行,而一个更高优先级的进程加入就绪队列,则中断发生。在这种情况下,第一个内核控制路径还没有执行完,CPU代表高优先级进程又开始执行另一个内核控制路径。只有把内核编译成支持抢占式调度之后,才能出现这种情况。
进程地址空间
每个进程运行在它的私有地址空间。在用户态下运行的进程涉及到私有栈、数据区和代码区。在内核态运行时,进程访问内核的数据区和代码区,但是使用另外的私有栈。
因为内核是可重入的,因此几个内核控制路径(每个都与不同的进程相关)可以轮流执行。在这种情况下,每个内核控制路径都引用它自己
您可能关注的文档
- SPC及CPK教程实战篇.ppt
- SPC管制图入门.ppt
- spring内核详解.docx
- SPK装配工艺.ppt
- SPSS最全使用教程手把手教你精通SPSS.ppt
- solgel溶胶凝胶英文版.ppt
- SQL SERVER 之数据完整性.ppt
- SQL 第章 表的创建与管理续.ppt
- SPS电路基础.ppt
- SQL数据完整性主键外键uniquecheckprimary.ppt
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
最近下载
- 制造企业数字化中台技术中台数据中台业务中台建设方案(20页PPT).pptx VIP
- 防跑道侵入考试卷附答案.doc
- 3-1牛顿第一定律(解析版)—2024高考物理一轮复习100考点100讲.docx VIP
- 社会治安管理处罚法全文.docx VIP
- SL252-2017 水利水电工程等级划分及洪水标准.pdf VIP
- 监理例会会议纪要范文.docx VIP
- 新时代下黄河文化融入高校校园文化建设的路径探索.docx VIP
- SL260-2014 堤防工程施工规范.docx VIP
- 公司治理与股权激励董.pptx VIP
- 新解读《GB_T 12604.3-2013无损检测 术语 渗透检测》最新解读.docx VIP
文档评论(0)