欢迎来到天天文库
浏览记录
ID:40246363
大小:2.34 MB
页数:164页
时间:2019-07-29
《操作系统教程何樱 第2章处理器管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、操作系统教程主编何樱连卫民中国水利水电出版社第2章处理器管理2.1处理器管理概述2.2进程描述2.3进程控制2.4线程2.5进程同步与互斥2.6进程通信2.7进程调度2.8进程死锁2.1处理器管理概述2.1.1处理器管理的功能处理器管理的主要任务是对处理器进行分配,并对其运行进行有效的控制和管理。在现代操作系统中,处理器的分配和运行都是以进程为基本单位的,因而对处理器的管理也可以视为对进程的管理。进程是程序的一次执行过程。处理器管理包括以下功能:1.进程控制。在并发运行环境中,要使程序运行,必须先为它创建一个或几个进程,并给它分配必要的资源。程序运行结束
2、时,要撤消这些进程,并回收这些进程所占用的各类资源。进程控制的主要任务就是为程序创建进程,撤消已结束的进程,以及控制进程在运行过程中的状态转换。2.1.1处理器管理的功能2.进程同步。在并发环境中,进程是以异步方式工作的,并且以不可预知的速度向前推进。为了使多个进程能有条不紊地运行,系统中必须设置进程同步机制。进程同步的主要任务是对众多的进程运行进行协调。协调方式有两种:(1)进程互斥方式。(2)进程同步方式。2.1.1处理器管理的功能3.进程通信。在系统中,经常会有多个进程需要相互配合去完成一个共同的任务,而在这些进程之间,往往需要相互交换信息。进程通
3、信的任务就是用来实现相互合作进程之间的信息交换。进程的通信方式有:(1)当相互合作的进程处于同一台计算机系统时,通常采用直接通信方式。由源进程利用发送命令直接将消息发送到目标进程的消息队列上,然后由目标进程利用接收命令从其消息队列中取出消息。(2)当相互合作的进程处于不同计算机系统时,通常采用间接通信方式。由源进程利用发送命令将信息发送到一个专门存放消息的中间实体中,然后由目标进程利用接收命令从中间实体中取出消息。这个中间实体通常称为“邮箱”,相应的通信系统称为电子邮件系统。2.1.1处理器管理的功能4.调度。等待在后备队列上的作业,通常要经过处理器调度
4、才能执行。处理器调度包括作业调度(也称为高级调度)、进程调度(也称为低级调度)和中级调度。(1)作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源,将它们调入主存,然后为它们建立进程,使之成为可能获得处理器的就绪进程,并按照一定的算法将其插入到就绪队列。(2)进程调度的基本任务是从进程的就绪队列中,按照一定的调度算法选出一个进程,把处理器分配给它,并为它设置运行现场,使进程投入运行。本章主要介绍进程调度。(3)中级调度的基本任务是把那些暂时不能运行的进程从主存移到外存上,释放其所占有的宝贵资源,让其他进程运行。当移到外
5、存上的进程具备运行条件时,再由中级调度把它们重新调入主存,等待运行。2.1.2程序的执行程序执行是指程序在计算机中的运行过程。程序的执行可以用前趋图表示,程序的执行方式有顺序执行和并发执行。1.前趋图。它是一个有向无循环图。图中的每个结点可用于表示一条语句、一个程序段等;结点间的有向边表示在两个结点之间存在的前趋关系。如Pi→Pj,称Pi是Pj的前趋,而Pj是Pi的后继。在前趋图中,没有前趋的结点称为初始结点,没有后继的结点称为终止结点。应当注意的是,前趋图中不能存在循环。2.1.2程序的执行1.前趋图。在下图所示的前趋图中存在下述前趋关系:P1→P2,
6、P1→P3,P2→P5,P3→P4,P4→P5,P5→P62.1.2程序的执行2.程序的顺序执行。程序在执行时,必须按照某种先后次序逐个执行操作,只有当前一个操作执行完后,才能执行后一个操作。例如:在进行计算时,总是先输入需要的数据,然后才能进行计算,计算完成后再将结果输出。如果用I代表输入,C代表计算,P代表打印,则上述情况可用下图所示的前趋图表示。2.1.2程序的执行2.程序的顺序执行。程序的顺序执行通常表现出如下特征:顺序性。严格按照程序所规定的顺序执行。封闭性。程序在封闭的环境下执行。程序在运行时独占所有资源,其执行结果不受外界因素的影响。可再现
7、性。只要程序执行的环境和初始条件相同,程序无论重复执行多少次,按照何种方式执行,都将获得相同的结果。2.1.2程序的执行3.程序的并发执行。是指在一个时间段内执行多个程序。程序在并发执行的特征:间断性。在程序并发执行时,由于它们之间共享资源或相互合作,致使它们之间形成了相互制约的关系,导致并发程序在执行中因为受到影响,表现为“执行—暂停执行—执行”的间断性活动规律。失去封闭性。程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。这样,程序在执行时,必然会受到其他程序的影响。不可再现性。由于程序执
8、行时失去了封闭性,也将导致失去可再现性。既使并发程序执行的环境和初始条件相同,程
此文档下载收益归作者所有