欢迎来到天天文库
浏览记录
ID:40209248
大小:337.00 KB
页数:29页
时间:2019-07-26
《操作系统教程-第2章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.3.3进程通信低级通信与高级通信1.进程通信的类型1)共享内存储区2)管道管道是外存上的一个共享文件,是一个单向的、先进先出的、固定大小的数据流。写进程向管道尾部写入数据,读进程从管道首端读出数据。管道空时,读进程被阻塞,管道满时,写进程被阻塞。管道提供了一种简单的流控制机制。3)消息机制进程之间数据交换以消息为单位。消息是一组可以传递的信息。通信的进程之间不存在共享的内存,而是由发送者执行发送命令,接收者执行接收命令,即完成了一次消息的传输。传输过程对用户是透明的,由操作系统完成。直接通信方式:发送进程将消息直接发给接收进程,挂在接收进程的消息队列上,由接收进程从自己的消息队
2、列上取下消息,完成一次消息的通信过程。间接通信方式:通信时指明一个中间媒介,即信箱。发送者执行发送命令,将消息发到指明的信箱,接收者执行接收命令时,从指定的信箱中接收消息。其它的通信方式,例如软中断(或称为信号机制)就是UNIX系统中采用的通信方式之一2.共享内存储区注意:创建;链接;断开链接;回收;灵活快速;不能提供同步;3.消息机制1)直接通信方式(消息缓冲通信)采用了一个数据结构——消息缓冲区消息缓冲通信的通信过程发送原语send(B,a)接收与原语receive(b)的实现过程2)间接通信(信箱)在信箱通信中,发送者创建一个消息,然后调用发送命令将消息发送到一个共享的数据结
3、构——信箱中去,接收者调用接收命令从信箱中取出消息。注意:创建;发送;取信;撤消;空间;对应关系;动态或表态.4.管道通信注意:管道文件(在外存);两个文件描述符;读写方式(写尾读首);互斥与同步2.4进程调度2.4.1概述1.处理机调度CPU管理的主要任务=处理机调度的主要功能:对处理机时间进行分配,也就是按照一定的策略将CPU运行时间分配给各个用户以满足用户的要求,同时要考虑到充分利用CPU来提高它的效率处理机调度可以分为三级:高、中、低高级调度:即作业调度或宏观调度。低级调度:即进程调度或微观调度。其任务是在进入内存并处于就绪队列的进程中,确定哪个进程真正获得CPU及其使用C
4、PU的时间。用执行指针指向选中进程的PCB表,将它从就绪队列移出并重布现场,使其运行。中级调度:其任务是周期性地将那些在内存中暂时不用的进程换出并放到外存,而将那些在外存上需要运行的进程换入到内存。2.进程调度概念进程有三个基本状态:就绪状态、执行状态和阻塞状态。对处于就绪状态的多个进程,按照一定的策略选出一个进程,使之从就绪状态转变为执行状态,真正获得CPU来运行其程序,而在某一给定时刻,决定哪个进程运行、运行多长时间以及如何保证进程的运行,这是进程调度的主要工作。3.进程调度方式进程调度有以下两种方式:非抢占方式:不剥夺。这种调度方式简单,容易实现,但是一个进程的运行往往可能导
5、致多数进程长期得不到服务,所以非抢占方式不适宜有多个竞争用户的通用系统。抢占方式:允许在逻辑上可执行的进程暂时放弃CPU。抢占方式的调度策略(如时间片轮转、优先级等)允许非执行进程在满足某种条件时抢占执行进程所占用的CPU。4.术语介绍时间片:一个很小的CPU时间间隔,通常从几ms到几百ms。CPU执行期:是进程一次获得CPU的时间。I/O执行期:是进程一次获得I/O的时间。周转时间:从作业提交给系统开始,直到作业完成的时间,包括作业在外存中等待运行的时间、进程在就绪队列中的等待时间、进程占用CPU时执行的时间、进程因发生某等待事件在阻塞队列中的时间等。响应时间:用户从键盘提交一个
6、请求到首次获得响应的时间,包括输入时CPU处理请求的时间、处理后响应结果回送终端显示的时间等。5.衡量调度算法性能的标准人们设计了许多进程调度算法,一个好的算法应该考虑达到以下目标:(1)公平:保证每个进程获得合理的CPU份额;(2)有效:使CPU和I/O设备都处于忙状态,系统资源得到充分利用;(3)响应时间:交互用户响应时间尽量短;(4)周转时间:批处理用户周转时间尽量短;(5)吞吐率:每小时处理的作业个数尽可能多。2.4.2进程调度的实现1.进程调度的原因(1)进程运行时,时间片用完被时钟中断;(2)请求I/O服务时,进程需要暂时放弃CPU,以免出现CPU的“忙等待”;(3)某
7、些原语操作,如P操作等;(4)进程完成;(5)在可剥夺(抢占)调度中,新建进程较执行进程优先级高。进程调度的原因2.调度过程1)保护现场将程序状态字PSW、内存管理寄存器、通用寄存器、程序计数器PC、堆栈指针等CPU当前状态送到PCB表中保存,即将中断现场信息保存。2)调度按一定策略从就绪队列中选择出将要执行的进程的PCB表,从就绪队列中摘下,送执行状态。3)现场恢复将选中进程的PCB表中存放的信息取出,重布现场,使它能够从上次被中断处执行。2.4.3进程调度算法1.
此文档下载收益归作者所有