- 1、本文档共109页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统第2章作业进程与线程
新建 就绪 挂起 阻塞 挂起 就绪 阻塞 运行 接收 事件发生 解挂 挂起 解挂 挂起 事件发生 挂起 接收 调度 时间片完 等事件 结束 终止 有两个挂起状态的七态模型图 问题5: 进程什么时候需要挂起和解挂? 当运行进程需要更大的内存,而内存又不足时,一些进程被挂起。 进程在挂起状态时, 意味着进程没有占用内存空间。处在挂起状态的进程映像在磁盘上。 问题6: 举例说明日常生活中的挂起和解挂? (1)农宅里,白天为了方便使用把农具、工具放在住宅外(挂起),晚上为了安全把它放在住宅内(解挂)。 (2)家中请客吃饭,为了多摆一桌,把一些暂时用不上的物品放到杂物房里(挂起),等客人散去又把这些物品取回摆放原处(解挂)。 问题:计算机中进程挂起的原因? 2.5.2 进程描述 一、进程需要描述。 不同的进程有不同的状态、占用不同的资源。 例:在一个多道程序运行环境内,有多个进程(P1,…,Pn)生成并存放在虚存中。在执行过程中,每个进程必须拥有一定的资源,包括处理器、I/O设备、内存等。其中,Pl正在运行,P1至少有一部分在内存中,并控制了两个I/O设备;P2也在内存中,但由于等待一个I/O设备而阻塞;Pn被交换出内存处于挂起状态。如下图: 二、如何描述进程?——进程表 几乎所有操作系统都会有4类表来保存信息,每一个表都有一定的数据结构。 ①内存表。用来跟踪主(实)存和辅(虚拟)存。 ②I/O表。用来管理I/O设备和通道。 ③文件表。提供当前存在文件中的信息。 ④进程表。用来管理进程。 1.进程映像——即进程的具体物理组成。由进程映像来描述。 2.进程控制块的组成 (1)进程控制块内容。操作系统管理进程所需的信息类型及信息都收集在进程控制块(PCB)中。 第1类 进程标识 第2类 进程状态信息 第3类 进程控制信息 (2)一种进程映象结构。(用户数据、用户程序、系统栈、进程控制块) 2.5.3 进程控制块的组织 为了对进程进行有效管理,要将系统中的进程PCB按照一定的方式组织起来。主要的方式有: (1)线性方式 系统中规定进程的最大数目。 (2)链接方式 按照各进程的不同状态分别将它们的PCB放在不同的队列中。 (3)索引方式 利用索引表记载不同状态进程的PCB地址。 2.6 进程控制与管理 2.6.1 操作系统内核 进程的管理与控制由操作系统内核负责的。 内核----操作系统将一些与硬件紧密相关的软件模块放在紧靠硬件的层次上,并使这部分程序常驻内存,以提高操作系统的运行效率。这部分程序称为操作系统内核。 2.6 进程控制与管理 操作系统内核负责控制和管理进程的产生、执行和消亡的整个过程,这主要通过对它们的控制操作来实现。 2.6 进程控制与管理 2.6.2 核心态和用户态 因为操作系统程序要管理硬件需要执行很多与硬件相关的指令(特权指令)。为了让系统程序能执行特权指令,用户程序只能执行非特权指令。通常将处理机的执行状态分为核心态和用户态。 2.6 进程控制与管理 核心态----又称系统态。具有较高特权,能执行一切指令,能访问所有的寄存器及内存所有的区域。操作系统内核通常运行在系统态。 用户态----具有较低特权的执行状态。在这种状态下,只能执行规定的指令,访问指定的寄存器和内存指定的区域。通常用户程序在用户态下运行。 2、程序并发执行时的特征 (5)程序与计算不再一一对应。 一个共享程序可被多个用户作业调用,从个形成了多个“计算”。程序是静态的,“计算”是动态的。 例:在多道程序设计的系统里,“可再入”程序可以对应多个计算。 “可再入”程序:是指能被多个程序同时调用的程序。如编辑程序,编译程序,汇编程序等。 编译程序P 源程序 乙 B A 编译程序P 源程序 甲 A B 上例中,一个编译程序对应了两个“计算”,两个断点。 如:一个编译程序副本往往为几个用户同时服务,该编译程序便对应了几个“计算”。 2.4 进程概念 ★在多道程序设计中,程序的执行出现“走走停停”的新状态,我们把程序执行的每一个新状态称作一个进程。 进程甲 进程乙 编译程序P 源程序 乙 B A 编译程序P 源程序 甲 A B 叫什么? 叫什么? 进程理解例:“程序执行的每一个新状态称作一个进程”。 日常生活中进程的例子:按菜谱炒菜 银耳香菇枣汤 原料:银耳15克,冬菇仔25克,大粒花生、蜜枣各6个,花生油、盐、水各适量。制作步骤: ①花生用滚水滤过,去衣,放在锅内,注入大半锅水,再加入蜜枣先行煎煮。 ②银耳浸开,切去硬蒂,洗净,冬菇仔浸软,去蒂,洗净。
文档评论(0)