《操作系统》课件-8.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第8章 实例分析: Linux操作系统 1. 2. 3. 本章讲述内容: 4. Linux的三种进程调度策略及消息队列; Linux的多级页表地址转换机制 ; Linux的文件系统Ext2和虚拟文件系统VFS ; Linux对字符设备和块设备的管理 。 8.1 Linux的处理机管理 8.1.1 Linux的进程 Linux进程的两种运行模式 1. Linux里,当进程运行用户程序时,称为“用户模式”;当进程运行中出现系统调用或中断事件,转去执行操作系统内核程序时,称为“核心模式”。进程在核心模式时,从事资源管理及各种控制活动;在用户模式时,在操作系统管理和控制下做自己的工作。 . . 在Linux里处理机有两种运行状态:在核心态,CPU执行操作系统的程序;在用户态,CPU执行用户程序。这两种运行状态,会在一定时机按需要进行转换。 . Linux把进程定义为是“程序运行的一个实例”。进程竞争并占用系统资源,向系统提出各种请求服务;进程也是调度单位,任何时刻只有一个进程在CPU上运行。 Linux进程实体的组成 2. . Linux中,每个进程是一个任务(task),有四个部分:进程描述符,即进程控制块;进程专用的系统堆栈空间;正文段,即供进程执行的程序段;进程专用的数据段和用户堆栈空间。 Linux进程的四个部分 . 在Linux中,进程描述符是一个结构类型的数据结构:task_struct,主要有以下信息: 接收的信号 进程队列指针 CPU的现场保护区 与文件系统有关的信息 产生一个新进程时,系统就分配总量为8KB的空间 (即两个连续的内存块),用于存放进程描述符和组成系统堆栈。进程因系统调用进入Linux内核时(这时CPU被切换成核心态),就使用系统堆栈。 . . 进程描述符和核心栈 两个连续的 物理块(8KB) 堆栈 进程描述符 进程的核 心栈(7KB) (1KB) Linux对进程描述符的管理 Linux在内核存储区里开辟一个指针数组task,长度为NR_TASKS,每个数组元素里存放一个已创建进程的进程描述符地址。即每个数组元素都指向一个已创建进程的进程描述符,通过它,就可以找到当前系统中所有进程的进程描述符。 一个进程描述符 一个进程描述符 一个进程描述符 NR_TASKS 个元素 指针数组task Linux进程描述符的内容 3. . . 进程标识 . 进程状态 . . . . 进程调度信息 进程家族关系 暂停状态:运行进程由于接收到一个信号,执行被暂时停止。处于该状态的进程,只能由来自另一个进程发来的信号改变成就绪状态。 不可中断状态:这是另外一种阻塞状态。处于这种状态的进程,表示进程不能被信号中断,而是在等待硬件条件的到来。 可中断状态:进程由于等待某些条件,而处于这种阻塞状态,直到那些条件出现将其唤醒。 4. Linux的进程状态 可运行状态:进程已做好了运行的准备。该状态实际上包含两个状态,要么在CPU上运行(为执行状态),要么已经做好准备,随时可以投入运行(为就绪状态)。 暂停状态 可中断状态 不可中断状态 僵死状态 可运行状态 就绪 执行 调度 被抢先 创建 事件 信号 终止 信号或事件 信号 . . . . . 僵死状态:进程已经被终止,正在结束中。 5. Linux的进程族系 Linux系统初启时,自动建立系统的第一个进程:初始化进程。之后,所有的进程都由它以及它的子孙创建。因此,Linux系统中的各个进程,相互之间构成了一个树型的进程族系。 8.1.2 Linux的进程调度 1. SCHED_FIFO—实时进程的先进先出调度策略 SCHED_FIFO是一种抢占式的调度策略。原则上,把CPU分给进程后,该进程就占用CPU直到释放为止。但若在此期间另有更高优先级的FIFO进程就绪,那就会把CPU抢夺过来。若有多个进程都有最高优先级,那就选择等待时间最长的投入运行。该调度策略适合实时进程,它们对时间性要求较强,每次运行所需的时间较短。 SCHED_RR—实时进程的轮转调度 SCHED_RR是一种抢占式的调度策略。分配给进程一个时间片后,若在此期间有另一个更高优先级的RR进程就绪,那么就允许它抢夺过CPU投入运行。若有多个进程都具有最高优先级,那就选择其中等待时间最长的投入运行。可见,SCHED_RR调度策略适合于每次运行需要时间较长的

您可能关注的文档

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档