




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 顺序处理模式顺序处理模式 每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。 IiCiPi和S1S2S3 图 2-2 前趋图 阻塞阻塞(不能占用(不能占用CPU)就绪就绪(尚未占(尚未占用用CPU)运行运行(正在占(正在占用用CPU)资源不足或资源不足或等待某事件等待某事件发生发生得到资源得到资源或某事件或某事件发生发生时间片到时间片到调度选中进入调度选中进入进进入入完完成成执行执行挂起状态挂起状态引入挂起状态的原因引入挂起状态的原因 终端用户的请求。 (2) 父进程请求。 (3) 负荷调节的需要。 1) (4) 操作系统的需要。 具有挂起状态的进程状态图
2、 1. 进程控制块进程控制块的作用的作用 进程控制块的作用是使一个在多道程序环境进程控制块的作用是使一个在多道程序环境下不能独立运行的程序下不能独立运行的程序(含数据含数据),成为一个能独,成为一个能独立运行的基本单位,一个能与其它进程并发执行立运行的基本单位,一个能与其它进程并发执行的进程。或者说,的进程。或者说,OS是根据是根据PCB来对并发执行来对并发执行的进程进行控制和管理的。的进程进行控制和管理的。2. 进程控制块中的信息进程控制块中的信息 1) 进程标识符进程标识符 进程标识符用于惟一地标识一个进程。一个进程通常进程标识符用于惟一地标识一个进程。一个进程通常有两种标识符:有两种标识
3、符: (1) 内部标识符。在所有的操作系统中,都为每一个进内部标识符。在所有的操作系统中,都为每一个进 程赋予一个惟一的数字标识符,它通常是一个进程的序号。程赋予一个惟一的数字标识符,它通常是一个进程的序号。 设置内部标识符主要是为了方便系统使用。设置内部标识符主要是为了方便系统使用。 (2) 外部标识符。它由创建者提供,通常是由字母、数外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户字组成,往往是由用户(进程进程)在访问该进程时使用。为了在访问该进程时使用。为了描述进程的家族关系,描述进程的家族关系, 还应设置父进程标识及子进程标识。还应设置父进程标识及子进程标识。此外,还可
4、设置用户标识,以指示拥有该进程的用户。此外,还可设置用户标识,以指示拥有该进程的用户。 2) 处理机状态处理机状态 处理机状态信息主要是由处理机的各种寄存器中的内容处理机状态信息主要是由处理机的各种寄存器中的内容组成的。组成的。 通用寄存器,又称为用户可视寄存器,它们是通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息,用户程序可以访问的,用于暂存信息, 在大多数处理机中,在大多数处理机中,有有 832 个通用寄存器,在个通用寄存器,在RISC结构的计算机中可超过结构的计算机中可超过 100 个;个; 指令计数器,其中存放了要访问的下一条指令的地指令计数器,其中存放了要访
5、问的下一条指令的地址;址; 程序状态字程序状态字PSW,其中含有状态信息,如条件码、,其中含有状态信息,如条件码、执行方式、执行方式、 中断屏蔽标志等;中断屏蔽标志等; 用户栈指针,用户栈指针, 指每个用户指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。系统调用参数及调用地址。栈指针指向该栈的栈顶。 3) 进程调度信息进程调度信息 在在PCB中还存放一些与进程调度和进程对换有关的信中还存放一些与进程调度和进程对换有关的信息,包括:息,包括: 进程状态,指明进程的当前状态,进程状态,指
6、明进程的当前状态, 作为进作为进程调度和对换时的依据;程调度和对换时的依据; 进程优先级,用于描述进程使进程优先级,用于描述进程使用处理机的优先级别的一个整数,用处理机的优先级别的一个整数, 优先级高的进程应优先优先级高的进程应优先获得处理机;获得处理机; 进程调度所需的其它信息,它们与所采进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待用的进程调度算法有关,比如,进程已等待CPU的时间总的时间总和、和、 进程已执行的时间总和等;进程已执行的时间总和等; 事件,是指进程由执事件,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。行状态转变为阻塞状态所等待发生
7、的事件,即阻塞原因。 4) 进程控制信息进程控制信息 进程控制信息包括:进程控制信息包括: 程序和数据的地址,程序和数据的地址, 是指进是指进程的程序和数据所在的内存或外存地程的程序和数据所在的内存或外存地(首首)址,以便再调度址,以便再调度到该进程执行时,能从到该进程执行时,能从PCB中找到其程序和数据;中找到其程序和数据; 进程进程同步和通信机制,指实现进程同步和进程通信时必需的机同步和通信机制,指实现进程同步和进程通信时必需的机制,制, 如消息队列指针、信号量等,它们可能全部或部分地如消息队列指针、信号量等,它们可能全部或部分地放在放在PCB中;中; 资源清单,是一张列出了除资源清单,是
8、一张列出了除CPU以外的、以外的、进程所需的全部资源及已经分配到该进程的资源的清单;进程所需的全部资源及已经分配到该进程的资源的清单; 链接指针,链接指针, 它给出了本进程它给出了本进程(PCB)所在队列中的下一个所在队列中的下一个进程的进程的PCB的首地址。的首地址。 3. 进程控制块的组织方式进程控制块的组织方式 引起阻塞和唤醒的事件:引起阻塞和唤醒的事件: 信号量是荷兰的计算机科学家信号量是荷兰的计算机科学家Dijkstra于于1965年提出的,年提出的,也是最早的同步方法。也是最早的同步方法。所谓信号量:是一个仅能由同步原语对其进行操作的整所谓信号量:是一个仅能由同步原语对其进行操作的
9、整型变量。用变量型变量。用变量S表示。表示。Dijkstra将这两个同步原语命名为将这两个同步原语命名为“ P操作操作”,“ V操作操作”。分别表示为分别表示为wait(S)和和signal(S)。Wait(s)操作操作Wait(s) s.value = s.value -; if (s.value 0) 该进程状态置为等待状态该进程状态置为等待状态 将该进程的将该进程的PCB插入相应的等待队列插入相应的等待队列末尾末尾s.queue; 例:例:S = 4S = 0S = 2P1P2Signal(s)操作操作Signal(s) s.value = s.value +; if (s.value
10、= 0) 唤醒相应等待队列唤醒相应等待队列s.queue中等待的一个中等待的一个进程进程 改变其状态为就绪态改变其状态为就绪态 并将其插入就绪队列并将其插入就绪队列 P,V操作的功能描述见下图:操作的功能描述见下图: 入口入口 S1 S S 0 入信号量等待队列入信号量等待队列 置置“等待等待”状态状态 转进程调度转进程调度 0 P,V操作可用软件和硬件来执行。无论操作可用软件和硬件来执行。无论P操作操作和和V操作,它们的执行都必须是一个操作,它们的执行都必须是一个 不可被中断的不可被中断的整体。整体。注注:物理意义:物理意义:S 0时,时,S为可用资源量;为可用资源量;S = 0时,可用资源
11、量正好用完;时,可用资源量正好用完;S 0时,时,|S|为等待资源的队列长度,即还欠资源数为等待资源的队列长度,即还欠资源数(在信号量上等待的进程数在信号量上等待的进程数) 临界区临界区设有设有N个进程共享一互斥段对如下两种情况个进程共享一互斥段对如下两种情况每次只允许一个进程进入互斥段;每次只允许一个进程进入互斥段;最多允许最多允许M个进程个进程(MN)同时进入互斥段;同时进入互斥段;所采用信号量是否相同?信号量值的变化范围如何?所采用信号量是否相同?信号量值的变化范围如何?答:所采用的信号量相同,为答:所采用的信号量相同,为mutex。第一种情况第一种情况mutex初值为初值为1,变化范围
12、为,变化范围为-(N-1) mutex 1的的整数,第二种情况整数,第二种情况mutex初值为初值为M,变化范围变化范围为为 MN mutex M的整数。的整数。图 2-10 前趋图举例 放产品放产品取产品取产品1个生产者与个生产者与1个消费者,共享个消费者,共享1个单缓冲个单缓冲生产者进程将产生产者进程将产品放入空品放入空Buffer消费者进程从满消费者进程从满Buffer中取走产品中取走产品n个个Buffer k k个缓冲区、个缓冲区、i i个生产者和个生产者和j j个消费者个消费者1. 桌上有一空盘,允许存放一个水果。爸桌上有一空盘,允许存放一个水果。爸爸可向盘中放苹果,或放橘子,儿子专
13、门爸可向盘中放苹果,或放橘子,儿子专门等着吃盘中的橘子,女儿专门等着吃盘中等着吃盘中的橘子,女儿专门等着吃盘中的苹果。规定当盘空时一次只能放一个水的苹果。规定当盘空时一次只能放一个水果供取用,试实现爸爸、儿子和女儿三个果供取用,试实现爸爸、儿子和女儿三个并发进程的同步。并发进程的同步。 爸爸进程爸爸进程:while(1) wait(empty); 放水果放水果; if (橘子橘子) signal(orange); if(苹果苹果) signal(apple);儿子进程儿子进程:while(1) wait(orange); 取橘子取橘子; signal(empty);女儿进程女儿进程:while
14、(1) wait(apple); 取苹果取苹果; signal(empty);信号量信号量:empty=1;orange=0;apple=0;signal (x);2.7 进进 程程 通通 信信 2.7.1 进程通信的类型进程通信的类型 1. 共享存储器系统共享存储器系统(Shared-Memory System) 基于共享数据结构的通信方式。 (2) 基于共享存储区的通信方式。 2. 消息传递系统消息传递系统(Message passing system) 不论是单机系统、多机系统,还是计算机网络,消息传递机制都是用得最广泛的一种进程间通信的机制。在消息传递系统中,进程间的数据交换,是以格式
15、化的消息(message)为单位的;在计算机网络中,又把message称为报文。程序员直接利用系统提供的一组通信命令(原语)进行通信。操作系统隐藏了通信的实现细节,大大减化了通信程序编制的复杂性,而获得广泛的应用。消息传递系统的通信方式属于高级通信方式。又因其实现方式的不同而进一步分成直接通信方式和间接通信方式两种。 3. 管道管道(Pipe)通信通信 所谓“管道”,是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件,又名pipe文件。向管道(共享文件)提供输入的发送进程(即写进程), 以字符流形式将大量的数据送入管道;而接受管道输出的接收进程(即读进程),则从管道中接收(读)数据。由于发送进程和接收进程是利用管道进行通信的,故又称为管道通信。这种方式首创于U
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三门峡社会管理职业学院《小学语文课程教学与研究》2023-2024学年第二学期期末试卷
- 山西应用科技学院《公共管理导论》2023-2024学年第二学期期末试卷
- 2024年6月浙江选考化学试题分析及20题评分细则
- 沧州职业技术学院《大数据技术开源架构》2023-2024学年第二学期期末试卷
- 安徽大学《大数据分析综合实训》2023-2024学年第二学期期末试卷
- 湖南女子学院《信息安全法规与安全管理》2023-2024学年第二学期期末试卷
- 淮南联合大学《计算机导论A》2023-2024学年第二学期期末试卷
- 哈尔滨剑桥学院《山东红色文化与当代价值》2023-2024学年第二学期期末试卷
- 山东服装职业学院《应用开发课程设计》2023-2024学年第二学期期末试卷
- 山东财经大学东方学院《中国传统文化与传统建筑》2023-2024学年第二学期期末试卷
- 如何提升护理队伍专业素质
- 2025宿迁辅警考试题库
- 大型活动安全保障职责与分工
- 健康生活方式指导手册含饮食、运动
- 2025年森林管护员考试题及答案
- 2025年数独考试试题及答案
- 2025年福建福州电子信息集团有限公司招聘笔试参考题库含答案解析
- 未成年人学校保护规定的国际比较研究
- 研究院内部科技成果转化的管理流程
- 电力基础知识题库单选题100道及答案
- 化工工艺学知到智慧树章节测试课后答案2024年秋广州大学
评论
0/150
提交评论