《操作系统概论》第二章Word文档下载推荐.docx
《《操作系统概论》第二章Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《操作系统概论》第二章Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
程序的并行执行,发挥了处理器与外围设备并行工作的能力,使处理器的效率有所提高。
但是由于处理器的执行速度远远高于外围设备的传输速度。
为了进一步提高效率,可以考虑同时接收两道以上的算题,这样有可能当一道算题在等待外围设备传输的同时让另一道算题占用暂时空闲的处理器。
2.(重点)多道程序设计
让多个计算题同时进入一个计算机系统的主存储器并行执行,这种程序设计方法称为多道程序设计,这样的计算机系统称为多道程序涉及系统。
实现多道程序设计的物质基础:
通道技术和中断系统。
3.多道程序设计的优缺点。
答:
优点:
能充分发挥处理器的使用效率,增加单位时间内的算题量。
缺点:
(1)系统的效率和道数不成正比;
(2)可能延长某些作业的周转时间。
二、进程的概念(重点)
1.进程的定义
程序的执行必须依赖于一个实体——数据集。
把一个程序在一个数据集上的一次执行称为一个进程。
程序是静止的,进程是动态的。
2.进程的组成
进程由程序、数据集合和进程控制块(PCB)组成。
3.为什么要引入进程?
(1)提高资源的利用率;
(2)正确描述程序的执行情况。
4.(重点)进程和程序有什么区别?
(1)进程是动态的,程序是静态的;
(2)多个进程可以有相同的程序;
(3)进程可以并发执行,但程序不可以,程序只能并行执行;
(4)进程是有生命期的,而程序没有生命期,可以做文档资料,长期保存。
5.进程的属性
答:
(1)进程是动态的,它包含了数据和运行在数据集上的程序
(2)多个进程可以含有相同的程序
(3)多个进程可以并发执行
(4)进程有三种基本状态:
等待态、就绪态、运行态
6.进程的状态转换(重点)
(1)运行态→等待态
(2)等待态→就绪态
(3)运行态→就绪态
(4)就绪态→运行态
进程刚被创建是,它的初始状态为“就绪态”。
当它能占用处理器时变成“运行态”。
7.进程的特性
(1)动态性
(2)并发性
(3)异步性。
三、进程控制块
1.进程控制块(PCB)包含四类信息
(1)标识信息
(2)说明信息
(3)现场信息
(4)管理信息。
2.一个进程在执行过程中,为了请求某种服务,可以再要求创建其它进程。
3.(重点)原语
操作系统中往往设计一些能完成特定功能且不可中断的过程。
这些不可中断的过程称为原语。
用于控制进程的原语有:
创建原语、撤销原语、阻塞原语、唤醒原语。
四、进程队列(了解)
1.进程的基本队列
等待队列和就绪队列。
2.入队、出队及队列管理的定义
一个进程从所在的队列中退出称为出队。
一个进程排入到一个指定的队列中称为入队。
系统中负责进程入队和出队的工作称为队列管理。
五、中断和中断处理
1.中断、中断源及中断处理程序的定义
由于某些事件的出现,中止现行进程的运行,而由操作系统去处理出现的事件,待适当的时候让被中止的进程继续运行,这个过程称为中断。
引起中断的事件称为中断源。
对出现的事件进行处理的程序称为中断处理程序。
2.中断类型
(1)硬件故障中断
(2)程序中断
(3)外部中断
(4)输入/输出中断
(5)访管中断。
前四类中断是由于外界的原因迫使正在运行的进程被打断,因此称为强迫性中断,第五类中断是正在运行的进程所期待的,它表示正在运行的进程对操作系统有某种需求,故称为自愿性中断。
3.中断响应的定义
通常在处理器执行完一条指令后,硬件的中断装置立即检查有无强迫性中断事件发生。
无论发生那类中断事件,都由于硬件的中断装置暂停现行进程的运行,而让操作系统的中断处理程序占用处理器。
这一过程称为中断响应。
4.程序状态字寄存器的定义
在单处理器的计算机系统中,整个系统设置一个用来存放当前运行进程的PSW的寄存器,该寄存器称为程序状态字寄存器。
5.硬件发现中断事件应做哪些事情?
中断装置应首先把出现的中断事件存放到程序状态字寄存器中的中断码为止,然后把程序状态字寄存器中的当前PSW作为旧PSW存放到预先约定好的主存固定单元中保护起来,再把已经确定好的操作系统处理程序的新PSW送到程序状态字寄存器中,成为当前PSW。
这一过程称为交换PSW。
中断装置通过交换PSW完成中断响应,使被中断进程让出处理器,且使处理器按照中断处理程序的新PSW控制执行。
6.中断处理中,中断处理程序应做哪些事情?
(1)保护好被中断进程的现场信息。
(2)分析引起中断的原因。
(3)对中断事件进行具体处理。
7.(了解)中断事件的处理原则
(1)硬件故障中断事件的处理
(2)程序中断事件的处理
(3)外部中断事件的处理
(4)输入/输出中断事件的处理
(5)访问中断事件的处理
六、处理器调度(重点)
1.输入井、后备作业的定义
在操作系统中,把磁盘上用来存放作业信息的专用区域称为输入井。
把在输入井中等待处理的作业称为后备作业。
2.作业调度的定义
根据系统设计时确定的允许并行工作的道数和一定的规则(或称算法)从输入井的后备作业中选取若干作业,让它们进入主存储器,使它们有机会去获得处理器执行的工作称为作业调度。
3.(重点)作业调度的必要条件
系统现有的尚未分配的资源可以满足被选作业的资源要求。
4.进程调度的定义
按照一定的规则从就绪进程中选取一个进程,让它占用处理器。
这项从就绪进程中选取一个进程,让它占用处理器的工作称为进程调度。
5.进程调度从就绪态选进程,作业调度从后备态(收容态)选作业。
6.作业调度与进程调度的区别
作业调度是按一定的作业调度算法从输入井的后备态中选择资源可以满足的作业装入主存,使其有机会占用CPU执行,而一个作业能否占用CPU,何时占用CPU则由进程调度决定的,进程调度则按一定的进程调度算法从就绪队列中选择一个进程为其分配CPU去运行,作业调
度从输入井中选中作业并拖它装入主存中,为其创建一个进程,多个不同的进程初始态都为就绪态,然后由进程调度选择当前可占用CPU的进程,进程运行中由于某种原因状态发生变化,当它让出处理器时,进程调度又再选另一个作业的进程去执行。
7.(重点)在涉及调度算法时,可考虑如下原则:
(1)公平性;
(2)平衡资源使用;
(3)极大的流量;
8.一个理想的调度算法应该是既提高系统效率,又能使进入系统的作业及时得到计算结果。
9.作业i周转时间=作业i得到计算结果的时间-作业i进入输入井的时间
对n个作业来说,它们的平均周转时间T为:
T=(
)÷
n
周转时间和平均时间与选用的调度算法有关。
10.(重点)常用的作业调度算法
(1)先来先服务算法
它是按照作业进入输入井的先后次序来挑选作业,先进入作业的优先被挑选。
一个先进入的作业,若它所需要的资源或其中的一部分资源已被在它之前的作业占用且尚未归还,那么,这个作业将被推迟执行,而去选择在它之后进入的资源能满足的作业先执行。
一旦有作业执行结束归还资源后,作业调度再次选择作业时,仍要按进入输入井的次序去挑选,刚刚被推迟的作业有可能被优先选中。
先来先服务算法具有一定的公平性,容易实现。
但增加了平均周转时间,降低了系统的吞吐能力。
(2)计算时间短的作业优先算法
采用这种算法时,要求用户对自己的作业需要计算的时间预先作一个估计,在作业控制说明书中加以说明。
作业调度时依据在输入井中的作业提出的计算时间为标准,优先选择计算时间短且资源能得到满足的作业。
这种算法能降低作业的平均周转时间,从而提高系统的吞吐能力,但可能使大作业等待时间过长。
(3)响应比高者优先算法
响应比最高者优先连算法综合考虑等待时间和计算时间,把响应比定义为:
响应比=等待时间/计算时间
一个计算时间短的作业容易得到较高的响应比,作业能被优先选中。
一个大作业在等待了相当长的时间后,也或得了较高的响应比。
(4)优先数调度算法
(5)均衡调度算法
(注意):
作业调度的必要条件和开始调度时间。
【例1】:
有一个多道程序设计系统,设供用户使用的主存空间为100K。
现有一作业序列如下:
作业号
进入输入井时间
需计算时间
主存量要求
A
B
C
D
E
10.1时
10.3时
10.5时
10.6时
10.7时
42分钟
30分钟
24分钟
12分钟
15K
60K
50K
10K
20K
该系统采用多道程序设计技术,请分别写出采用“先来先服务调度算法”和“计算时间短优先算法”选中的作业的平均周转时间。
先来先服务算法:
装入输入井时间
开始执行的时间
执行结束的时间
周转时间
11.3时
10.8时
11.7时
12.1时
12.3时
0.7小时
1.0小时
1.6小时
1.1小时
5个作业的平均周转时间为:
(0.7+1.0+1.6+1.1+1.6)÷
5=1.2(小时)
计算时间短的作业优先算法:
11.9时
1.8小时
1.2小时
(0.7+1.0+1.8+1.1+1.2)÷
5=1.16(小时)
【例2】:
某单道程序设计系统中有3个作业A、B、C,它们到达输入井的时间及需要的计算时间如下表:
作业名
到达输入井时间
8:
50
9:
00
30
1.5小时
0.4小时
当这3个作业全部到达输入井后,系统以响应比高者优先调度算法选择作业,忽略调度所用的时间,则作业被选中的次序应是怎样的呢?
由于进行作业调度的时间是在作业全部到达输入井之后,即在9:
30开始进行调度,此时作业A、B、C分别等待了40分钟、30分钟和0分钟,因而它们的响应比为:
A作业的响应比=40/90=4/9
B作业的响应比=30/24=5/4
C作业的响应比=0/60=0
可见,作业B的响应比最高,当然优先选择作业B装入主存储器执行。
作业B执行结束后,又要进行调度,由于等待时间发生了变化,故应重新计算响应比。
此时的计算结果如下:
A作业的响应比=64/90=32/45
C作业的响应比=24/60=2/5
显然作业A的响应比高于作业C的响应比,因而先选择在作业A执行,最后再让作业C进入主存储器执行。
11.进程切换的定义及原因
我们把一个进程让出处理器由另一个进程占用处理器的过程称为进程切换。
下列情况均会引起进程的切换(原因):
(1)一个进程从运行状态变成等待状态。
(2)一个进程从运行状态变成就绪状态。
(3)一个进程从等待状态变成就绪状态。
(4)一个进程完成工作后被撤销。
12.(重点)常用的进程调度算法
(1)先来先服务调度算法
按照进程进入就绪队列的先后次序可占用处理器的进程。
一旦一个进程占有了处理器,它就一致运行下去,直到该进程完成工作而结束或者因等待某事件而不能运行时才让出处理器。
(2)最高优先级调度算法
进程占用处理器后有两种方式:
第一种方式是非抢占式的(非剥夺式的),第二种方式是可抢占式的(剥夺式的)。
在实时系统中,可把处理紧急情况的报警进程定为最高优先级的进程,一旦有紧急事件发生时,这个报警进程就可抢占处理器进行紧急处理和发出报警信号。
优先数大的优先级高,出Unix之外。
(3)时间片轮转调度算法
时间片是指允许进程一次占用处理器的最长时间。
时间片轮转调度算法把就绪进程按就绪的先后次序排成队列,调度时总是选择就绪队列中的第一个进程,让它占用处理器,但规定它一次连续占用处理器的实践不能超过预定的时间片。
在分时操作系统中,经常采用时间片轮转调度算法。
【例】:
假设有5个进程,只有一个在执行,有5个进程在等待,有4个进程在就绪。
七、线程的概念
1.线程的定义
线程又称轻量级进程,是进程中可独立执行的子任务。
一个进程中可以有一个或多个线程,每个线程都应有一个唯一的标识符和一张线程描述表。
线程描述表记录线程执行时的现场信息及状态等。
2.线程的基本属性:
(1)同一个进程中的各线程驻留在分配给进程的主存地址空间中,且共享该进程的所有资源。
(2)一个线程被创建后便开始了它的生命周期,直至执行结束而终止。
线程在生命期内会经历等待态、就绪态和运行态等各种状态变化。
(3)线程是处理器的独立调度单位,多个线程可以并发执行。
(4)不同的线程可以执行相同的程序,即同一个服务程序若被不同用户调用时操作系统就为它们创建不同的线程。
3.线程与进程的根本区别
线程与进程的根本区别是把进程作业资源分配单位,而线程是调度和执行单位;
每一个进程都有自己的主存空间,但同一进程中的各线程共享该进程的主存空间,进程中的所有线程对进程的整个主存空间都有存取权限。