操作系统 —— 处理机调度与死锁

(一)简答题

1.高级调度与低级调度的主要任务是什么?为什么要引人中级调度?

参考答案:

         ①高级调度的对象是作业。它的主要任务是根据某种算法,决定 将外存上处于后备队列中的哪几个作业调入内存,为它们创建进程、 分配必要的资源,并将它们放入就绪队列。 ②低级调度的对象是进程(或内核级线程)。它的主要任务是根据 某种算法,决定就绪队列中的哪个进程获得处理机,并由分派程序将处 理机分配给被选中的进程。
         引入中级调度的主要目的是提高内存利用率系统吞吐量。为此 应把那些暂时不能运行的进程调至外存等待,把进程状态改为就绪驻外存状态或挂起状态。当它们已具备运行条件且内存又有空间时,由 中级调度来决定把外存上的那些已具备运行条件的就绪进程再重新调入内存,并修改它们的状态为就绪状态,挂在就绪队列上等待。


2.何谓作业和JCB?

答:

作业是一组程序与数据和作业说明书,是高级调度的基本单位。
JCB是作业控制块,是作业存在的表示,包含管理,调度所需的全部信息。


3.在什么情况下需要使用JCB?其中包含了哪些内容?

答: 作业进入系统。

包含系统对作业调度,管理的全部信息。

JCB的使用场景,具体来说:

作业提交: 当一个新的作业进入系统,为了管理和执行这个作业,系统需要为其创建一个JCB。

作业调度: 在作业调度时,调度程序会查看每个JCB的优先级、资源需求等信息,来决定哪个作业应当先执行。

资源分配: 操作系统需要查看JCB中的资源需求信息,以确定为作业分配哪些资源。

进程管理和通信: JCB也用于进程的管理和进程间通信。

JCB通常包含了哪些内容?

作业标识符: 唯一标识每个作业的标识符。

处理器状态: 包括程序计数器、寄存器状态、程序的状态(如就绪、执行、等待等)。

作业优先级: 用于作业调度。

作业的内存需求: 包括作业需要的总内存大小、开始地址、结束地址等。

输入/输出设备需求: 表示作业需要的输入和输出设备。

作业的磁盘存储需求: 如文件存储需求。

计时信息: 包括作业的提交时间、开始时间、结束时间等。

资源需求和状态: 例如,该作业是否需要打印机、磁带驱动器等。

账务信息: 记录作业使用的系统资源,用于计费。

指向下一个和/或前一个JCB的指针: 用于在作业队列中维持JCB的顺序。

其他: 根据特定的操作系统和实现,JCB可能还包括其他信息。


4.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?

答:根据系统规模,运行速度,作业大小以及能否获得较好的系统性能等情况决定接纳多少个作业根据调度算法决定接纳哪些作业。


5.试说明低级调度的主要功能。

低级调度用于决定就绪队列中的哪个进程应获得处理机,并由分派程序把处理机分配给该进程。其主要功能有:

1.保存当前进程的处理机现场信息。

2.按某种算法选择投入执行的新进程

3.恢复新进程的现场,从而将处理机分配给新进程


6.简述引起进程调度的原因。

答:引起进程调度的因素有:
(1)正在执行的进程正常终止或异常终止
  (2)正在执行的进程因某种原因而阻塞。具体包括:
        提出 I/O请求后被阻塞;
        在调用 wait 操作时因资源不足而阻塞;

        因其他原因执行block原语而阻塞等。

(3)在引入时间片的系统中,时间片用完。
(4)在抢占调度方式中,就绪队列中某进程的优先权变得比当前正在执行的进程高,或者有优先权更高的进程进入就绪队列。


7.在抢占式调度算法中,抢占的原则是什么?

答:时间片原则  短进程优先  优先权原则


8.在选择调度方式和调度算法时,应遵循哪些准则?

答:(1)面向用户的准则:周转时间短、响应时间快、截止时间的保证、优先权准则。

(2)面向系统的准则:系统吞吐量高、处理机利用率好、各类资源的平衡利用。


9.何谓静态优先级和动态优先级?确定进程优先级的依据是什么?

参考答案: ①静态优先级是指在创建进程时确定的、在进程的整个运行期间 保持不变的优先级。 ②动态优先级是指在创建进程之初,先赋予进程一个优先级,然 后其值会随进程的推进或等待时间的增加而改变,如此而为的目的是 获得更好的调度性能。

此外,确定进程优先级,在计算机操作系统习题与考研真题解析的依据有进程类型、进程对资源的需求和用户要求等。


10.试比较FCFS和SJF这两种调度算法。

答:

        FCFS按照进程到达的先后顺序排队,每次调度队首的进程,属于非剥夺调度方式,实现简单,看似公平。但对于那些后进入队列而运行时间较短的进程,或I/O型的进程而言,可能需要等待较长时间。
        SJF属于非剥夺方式调度算法。当需要调度作业(进程)时,通过计算判断就绪队列中哪一个进程预计执行时间最短,或后备作业队列中哪一个或几个作业预计执行时间最短,就调度谁。当某个进程获得处理机,直到其执行完成,或需要等待某个事件而阻塞时,才自动释放处理机,系统又调度新的进程或作业。与FCFS算法比较,短进程优先调度算法改善了系统的性能,降低了系统的平均等待时间,提高了系统的吞吐量。但是该算法也存在一些问题:
(1)很难准确地预测进程的执行时间;
(2)可能导致长进程饥饿,对长进程不利。
(3)采用非剥夺方式, 未考虑进程的紧迫程度,不适合于分时系统或者事务处理系统。


11.在基于时间片的RR调度算法中,应如何确定时间片的大小?

参考答案: 在RR调度算法中,时间片的大小对系统性能有很大的影响。通 常,时间片应略大于一次典型的交互所需的时间,使大多数交互式进 程能在一个时间片内完成,从而获得很小的响应时间。在确定时间片的大小时,一般应考虑3个因素:系统对相应时间的要求、就绪队列 中进程的数目和系统的处理能力。


12.为什么说多级反馈队列调度算法能较好地满足各方面用户的需求?

答:多级反馈队列调度算法能较好地满足各种用户的需要。①对终端型用户而言,用户所提交的作业大都属于交互型作业,作业通常比较小,系统只要能使这些作业在第一队列所规定的时间内完成,便可使终端型用户感到满意。②对于短的批处理作业用户而言,他们的作业开始像终端型作业一样,如果仅在第一队列中执行一个时间片即可完成,便可获得与终端型作业一样的响应时间,对于稍长的作业,通常也只需要在第二队列和第三队列各执行一个时间片即可结束,其周转时间仍然较短。③对于长批处理作业用户而言,他们的长作业将依次在第1,2,---,直到第N 个队列中运行,然后再轮转方式运行,用户不必担心其作业长期得不到处理。

13.为什么在实时系统中要求系统(尤其是CPU)具有较强的处理能力?

答:实时系统中通常有着多个实时任务.若处理机的处理能力不够强,有可能因为处理机忙不过来而使某些实时任务得不到与时处理,导致发生难以预料的后果.

14.按照调度方式可将实时调度算法分为哪几种?

答:可分为非抢占式和抢占式两种算法。而非抢占式算法又分为非抢占式轮转和优先调度算法;抢占式调度算法又分为基于时钟中断的抢占式优先权和立即抢占式优先权调度算法。


15.实时系统常用的调度算法有哪些?请分别介绍它们。

[答案]:实时调度常用4种调度算法:

时间片轮转调度算法,适用于一般的实时信息处理系统;

非抢占的优先级调度算法,适用于实时要求不太严格的实时控制系统;

基于时钟中断抢占的优先级调度算法,适用于大多数实时系统;

立即抢占的优先级调度算法,适用于实时要求比较严格的实时控制系统。


16.在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?

[解答]在批处理系统中,可采用的进程(作业)调度算法有先来先服务调度算法、优先级调度算法、短作业优先调度算法、高响应比优先调度算法等,进程调度还可以采用时间片轮转法。
在分时系统中,只设有进程调度,不设作业调度。通常使用的调度算法是时间片轮转法、多级队列调度算法及多级反馈队列调度算法。
在实时系统中,只设有进程调度,不设作业调度,通常使用基于优先数的优先级调度算法和时间片轮转法。其中,时间片轮转法只适用于对时间要求不太苛刻的实时系统,优先级调度算法适用于对时间要求较为苛刻的实时系统。

17.什么是死锁?产生死锁的原因和必要条件是什么?如何预防死锁?

答:

        死锁是指多个进程在运行过程中因争夺资源而造成的一种情形,当进程处于这种状态的时,若无外力作用,它们都将无法向前推进。

        产生死锁的原因:竞争不可抢占性资源,竞争可消耗资源,进程间推进顺序不当

        产生死锁必须同时具备4个必要条件:互斥条件,请求与保持条件,不可抢占条件,循环等待条件。

        预防死锁是通过破坏死锁的4个必要条件中的一个或者几个来实现的:其中互斥条件是设备固有属性,不能改变,因此主要破坏产生死锁的其他3个必要条件。 ①破坏“请求和保持”条件。当一个进程在请求资源时,它不能持有不可 抢占性资源。 ②破坏“不可抢占”条件。当一个已经保持了某些不可抢占性资源的进程 需要时再重新申请 ③破坏“循环等待”条件。对系统所有资源类型进行线性排序,并赋予它 们不同的序号,规定每个进程必须按序号递增的方式请求资源

18.在解决死锁问题的几个方法中,哪个方法最易于实现?哪个方法可使资源利用率最高?

答:解决死锁问题的方法有预防死锁、避免死锁、检测和解除死锁,其中预防死锁最易于实现,检测和解除死锁可使资源利用率最高。

二、计算题


19.有5个进程(见表3-2)需要调度执行,若采用非抢占式优先级(短进程优先)调度算法,问这5个进程的平均周转时间是多少?
 
表3-2.进程执行时间表 
进程到达时间执行时间
P10.09
P20.44
P31.01
P45.54
P572

答:

20.假定要在一台处理机上执行表3-3所示的作业,且假定这些作业在时刻0以1,2,3,4,5的顺序到达,请说明分别采用FCFS,RR(时间片为1)、SJF及非抢占式优先级调度算法时:这些作业的执行情况(优先级的高低顺序依次为1到5)。针对上述每一种调度算法,给出平均周转时间和平均带权周转时间。

表3-3.作业执行时间表 
作业执行时间优先级
1103
211
323
414
552

 答:

  

21.将一组进程分为4类,如图3-23所示。各类进程之间采用优先级调度算法,而各类进程的内部采用RR调度算法。请简述P1,P2,P3,P4,Ps,Po,P7,Ps进程的调度过程。

答:从题意可知,各类进程之间采用优先级调度算法,而同类进程部采用时间片轮转调度算法,因此,系统首先对优先级为4的进程P1、P2、P3采用时间片轮转调度算法运行;当P1、P2、P3均运行结束或没有可运行的进程(即P1、P2、P3都处于等待状态;或其中部分进程已运行结束,其余进程处于等待状态)时,则对优先级为3的进程P4、P5采用时间片轮转调度算法运行。在此期间,如果未结束的P1、P2、P3有一个转为就绪状态,则当前时间片用完后又回到优先级4进行调度。类似地,当P1~P5均运行结束或没有可运行进程(即P1~P5都处于等待状态;或其中部分进程已运行结束,其余进程处于等待状态)时,则对优先级为2的进程P6、P7、P8采用时间片轮转调度算法运行,一旦P1~P5中有一个转为就绪状态,则当前时间片用完后立即回到相应的优先级进行时间片轮转调度。


 
22.由5个进程组成进程集合P={P0,P1,P2,P3,P4},且系统中有3类资源A,B,C,假设在某时
刻有表3-4所示的进程资源分配情况。
 
请问当x,y,z取下列值时,系统是否处于安全状态?(1)1,4,0;(2)0,6,2;(3)1,1,1;(4)0,4,7。

答:

求Need:

进程ALLocationMaxNeedAvailable
P00 0 3 0 0 40 0 1x y z
P11 0 01 7 50 7 5
P21 3 52 3 51 0 0
P30 0 2 0 6 40 4 2
P40 0 10 6 50 5 4

 当x,y,z=1,4,0时, 找安全序列,显然向量1,4,0   大于   Need的向量的进程只有P2,

进程ALLocationMaxNeedAvailable
P00 0 3 0 0 40 0 11,4,0
P11 0 01 7 50 7 5
P21 3 52 3 51 0 0
P30 0 2 0 6 40 6 2
P40 0 10 6 50 6 4
进程WorkNeedAllocationwork+Allocation
P2 1 4 01 0 01 3 52 7 5
 P02 7 50 0 10 0 32 7 8
P12 7 80 7 51 0 03 7 8

可以满足进程P2的需求,当P2结束后释放资源,此时Avaliable为(2,7,5)此时可以满足P0,P1,P3,P4中任一进程的需求,所以系统不会出现死锁,当前处于安全状态。

2) 当x,y,z=0,6,2时,满足的进程有P3,P0

故:

进程WorkNeedAllocationwork+Allocation
P3 0 6 20 6 20 0 20 6 4
 P40 6 40 6 40 0 10 6 5(此情况不满足其他进程的需求,舍去)
进程WorkNeedAllocationwork+Allocation
P0 0 6 20 0 10 0 30 6 7
 P40 6 70 6 40 0 10 6 8
P30.680 6 20 0  20 6 10(此情况不满足其他进程的需求,舍去)
 故0 6 2不处于安全状态 ,其余类似 

三、综合应用题


23.假设系统中有下述3种解决死锁的方法:
(1)银行家算法;
(2)检测死锁,终止处于死锁状态的进程,释放该进程所占有的资源;
(3)资源预分配。
简述上述哪种方法允许最大的并发性?请按“并发性”从大到小对上述3种方法进行排序。

答:

        三种办法中,首先,检测死锁允许更多的进程无等待地向前推进。因为该方法允许死锁出现,即允许进程最大限度地申请并分配资源,直至出现死锁,再由系统出面解决。其次是银行家算法,该方法允许进程自由申请资源,只是在某个进程申请时检查系统是否处于安全状态,若是,则可立即分配,若不是,才拒绝。最后是资源预分配,因为此方法要求进程在运行之前申请所需的全部资源才可开始运行,这样会使得许多进程因申请不到资源而无法开始,得到资源的进程也并不是同时需要所占的全部资源,因此导致资源的浪费。

另一种答案:

并发性:检测死锁>银行家算法>资源预分配 

检测死锁:允许进程自由申请资源,直至出现死锁,再由系统解决死锁。 进程无须等待地向前推进 

银行家算法(避免死锁):允许进程自由申请资源,检查系统是否处于安全状态 若是,则可立即分配;若不是,则拒绝某些进程请求可能被拒绝

 资源预分配(预防死锁):要求进程在运行之前申请所需的全部资源。 许多进程因申请不到全部资源而无法开始,得到部分资源的进程也会因未得到全部 资源而不释放已占用的资源。

 
24.某银行要实现一个电子转账系统,基本业务流程是首先对转出方和入方的账户进行加锁,然后办理转账业务,最后对转出方和转入方的账户进行解锁。若不采取任何措施,则系统会不会发生死锁?为什么?请设计一个能够避免死锁的方法。

答:因为对两个账户进行加锁操作是可以分割执行的,若此时有两个用户同时进行转账,P1先对账户A进行加锁,再申请账户B;P2先对账户B进行加锁,再申请账户A,此时死锁。解决的办法是:可以采用资源顺序分配法,将A、B账户进行编号,用户转账时,只能按照编号由小到大进行加锁。也可以采用资源预分配法,要求用户在使用资源之前将所有资源一次性申请到。


25、设有进程P,和进程P并发执行,它们都需要使用资源R和R2,使用资源情
况如表3-5所示。
 
表3-5 进程使用资源情况
进程P1进程P2
申请资源R1申请资源R2
申请资源R2申请资源R1
释放资源R1释放资源R2

试判断是否会发生死锁,并解释和说明发生死锁的原因与必要条件。

答:这两个进程在不同的推进速度下,可能会产生死锁。比如:进程P1先申请资源R1,P1得到R1后进程P2申请R2,P2得到R2后,P1又申请资源R2,此时则因R2已分配,故P1阻塞。P1和P2两个进程因申请不到所需资源而形成死锁。如果改变进程的运行顺序,则这两个进程可能又不会发生死锁。
因此,产生死锁的原因可归结为两点:①竞争资源;②进程推进顺序非法。产生死锁的必要条件:①互斥条件;②请求和保持条件;③不可抢占条件;④循环等待条件。

  • 10
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
1.操作系统概述 操作系统的形成,操作系统的定义与功能,操作系统的分类 2.处理机管理 多道程序设计技术,用户与操作系统的两种接口,进程的定义、特征和基本状态,进程控制块(PCB)和控制块队列(运行、就绪、阻塞),进程的各种调度算法(先来先服务、时间片轮转、优先数、多级队列),进程管理的基本原语(创建、撤消、阻塞、唤醒),作业作业调度算法(先来先服务、短作业优先、响应比高者优先)。 3.存储管理 地址的静态重定位和动态重定位,单一连续区存储管理,固定分区存储管理,可变分区存储管理,空闲区的合并,分区的管理与组织方式(表格法、单链表法、双链表法),分页式存储管理,页表、快表及地址转换过程,内存块的分配与回收(存储分块表、位示图、单链表),虚拟存储器的概念,请求分页式存储管理,缺页与缺页中断位,缺页中断与页面淘汰,页面淘汰算法(先进先出、最近最久未用、最近最少用、最优),页面走向,缺页中断率,抖动,异常现象。 4.设备管理 计算机设备的分类(基于从属关系、基于分配特性、基于工作特性),记录间隙,设备管理的目标与功能,输入/输出的处理步骤,设备管理的数据结构(SDT、DCB、IVT),独享设备的分配,共享磁盘的调度算法(先来先服务、最短查找时间优先、电梯、单向扫描),设备控制器,数据传输的方式(循环测试、中断、直接存储器存取、通道),I/O的缓冲技术(单缓冲、双缓冲、多缓冲、缓冲池),虚拟设备,SPOOLing技术。 5.文件管理 文件,文件系统,文件的逻辑结构(流式文件、记录式文件),文件的物理结构(连续文件、串联文件、索引文件),文件的存取(顺序、随机),磁盘存储空间的管理(位示图、空闲区表、空闲块链),文件控制块(FCB),目录的层次结构(一级目录,二级目录、树型),主目录,根目录,绝对路径,相对路径,按名存取的实现,文件共享,文件保护,文件上的基本操作。 6.进程间的制约关系 与时间有关的错误,资源竞争——互斥,协同工作——同步,信号量,信号量上的P、V操作,用P、V操作实现互斥,用P、V操作实现同步,用P、V操作实现资源分配,死锁死锁产生的必要条件,死锁的预防,死锁的避免,死锁的检测与恢复,银行家算法,进程间的高级通信。 7.操作系统实例分析 Windows操作系统,Linux操作系统,MS-DOS操作系统
CH1 操作系统概论............................................................................................................................1 1.1 操作系统概观............................................................................................................................1 1.1.1 操作系统的定义和目标.....................................................................................................1 1.1.2 操作系统的作用与功能.....................................................................................................2 1.1.3 操作系统的主要特性.........................................................................................................4 1.2 操作系统的形成和发展............................................................................................................6 1.2.1 人工操作阶段.....................................................................................................................6 1.2.2 管理程序阶段.....................................................................................................................6 1.2.3 多道程序设计与操作系统的形成.....................................................................................8 1.2.4 操作系统的发展与分类...................................................................................................11 1.3 操作系统提供的服务和用户接口..........................................................................................18 1.3.1 操作系统提供的基本服务...............................................................................................18 1.3.2 操作系统提供的用户接口...............................................................................................19 1.3.3 程序接口与系统调用.......................................................................................................20 1.3.4 操作接口与系统程序.......................................................................................................22 1.4 操作系统的结构设计..............................................................................................................26 1.4.1 操作系统的构件...............................................................................................................26 1.4.2 整体式结构的操作系统...................................................................................................29 1.4.3 层次式结构的操作系统...................................................................................................29 1.4.4 虚拟机结构的操作系统...................................................................................................31 1.4.5 客户/服务器与微内核结构的操作系统..........................................................................32 1.4.6 操作系统功能的实现模型...............................................................................................35 1.4.7 实例研究:Windows 2000/XP 客户/服务器结构...........................................................37 1.5 流行操作系统简介..................................................................................................................41 1.5.1 DOS 操作系统...................................................................................................................41 1.5.2 Windows 操作系统............................................................................................................42 1.5.3 UNIX 操作系统家族.........................................................................................................44 1.5.4 自由软件和Linux 操作系统............................................................................................45 1.5.5 IBM系列操作系统...........................................................................................................47 1.5.6 其他流行操作系统...........................................................................................................49 1.6 本章小结.................................................................................................................................50 CH2 处理器管理..............................................................................................................................56 2.1 中央处理器..............................................................................................................................56 2.1.1 单处理器系统和多处理器系统.......................................................................................56 2.1.2 寄存器..............................................................................................................................57 2.1.3 机器指令与特权指令.......................................................................................................58 2.1.4 处理器状态.......................................................................................................................58 2.1.5 程序状态字寄存器...........................................................................................................59 V 2.2 中断技术.................................................................................................................................60 2.2.1 中断的概念.......................................................................................................................60 2.2.2 中断源分类.......................................................................................................................60 2.2.3 中断装置..........................................................................................................................61 2.2.4 中断处理程序...................................................................................................................63 2.2.5 中断事件的具体处理方法...............................................................................................63 2.2.6 中断的优先级和多重中断...............................................................................................68 2.2.7 实例研究:Windows 2000/XP 中断处理........................................................................69 2.2.8 实例研究:Solaris 中断处理..........................................................................................75 2.2.9 实例研究:Linux 中断处理.............................................................................................76 2.3 进程及其实现..........................................................................................................................79 2.3.1 进程的定义和属性...........................................................................................................79 2.3.2 进程的状态和转换...........................................................................................................80 2.3.3 进程的描述.......................................................................................................................83 2.3.4 进程切换与模式切换.......................................................................................................87 2.3.5 进程的控制.......................................................................................................................88 2.3.6 实例研究:UNIX SVR4 进程管理...................................................................................91 2.3.7 实例研究:Linux 进程管理.............................................................................................94 2.4 线程及其实现..........................................................................................................................97 2.4.1 引入多线程技术的动机...................................................................................................97 2.4.2 多线程环境中的进程与线程...........................................................................................98 2.4.3 线程的实现.....................................................................................................................103 2.4.4 实例研究:Solaris 的进程与线程................................................................................106 2.4.5 实例研究:Windows 2000/XP 的进程与线程..............................................................110 2.5 处理器调度............................................................................................................................116 2.5.1 处理器调度的层次.........................................................................................................117 2.5.2 高级调度.........................................................................................................................117 2.5.3 中级调度........................................................................................................................118 2.5.4 低级调度........................................................................................................................118 2.5.5 选择调度算法的原则.....................................................................................................119 2.6 批处理作业的管理与调度....................................................................................................119 2.6.1 作业和进程的关系.........................................................................................................119 2.6.2 批处理作业的管理.........................................................................................................120 2.6.3 批处理作业的调度.........................................................................................................121 2.6.4 作业调度算法.................................................................................................................121 2.7 低级调度................................................................................................................................124 2.7.1 低级调度的功能.............................................................................................................124 2.7.2 低级调度算法.................................................................................................................124 2.7.3 实时调度........................................................................................................................127 2.7.4 多处理器调度.................................................................................................................128 2.7.5 实例研究:UNIX SVR4 调度算法.................................................................................132 2.7.6 实例研究:Windows 2000/XP 调度算法......................................................................133 VI 2.7.7 实例研究:Linux 调度算法...........................................................................................140 2.8 本章小结................................................................................................................................143 CH3 并发进程................................................................................................................................151 3.1 并发进程................................................................................................................................151 3.1.1 顺序程序设计.................................................................................................................151 3.1.2 进程的并发性.................................................................................................................151 3.1.3 与时间有关的错误.........................................................................................................153 3.1.4 进程的交互(Interaction Among Processes):协作和竞争........................................155 3.2 临界区管理............................................................................................................................156 3.2.1 互斥和临界区.................................................................................................................156 3.2.2 临界区管理的尝试.........................................................................................................157 3.2.3 实现临界区管理的软件方法.........................................................................................158 3.2.4 实现临界区管理的硬件设施.........................................................................................160 3.3 信号量与PV 操作.................................................................................................................162 3.3.1 同步和同步机制.............................................................................................................162 3.3.2 记录型信号量与PV 操作..............................................................................................163 3.3.3 用记录型信号量实现互斥.............................................................................................166 3.3.4 记录型信号量解决生产者-消费者问题.......................................................................168 3.3.5 记录型信号量解决读者-写者问题...............................................................................170 3.3.6 记录型信号量解决理发师问题.....................................................................................172 3.4 管程.......................................................................................................................................172 3.4.1 管程和条件变量.............................................................................................................172 3.4.2 Hoare 方法实现管程.......................................................................................................175 3.4.3 Hanson 方法实现管程....................................................................................................178 3.5 进程通信................................................................................................................................184 3.5.1 信号通信机制.................................................................................................................184 3.5.2 共享文件通信机制` .......................................................................................................185 3.5.3 共享存储区通信机制.....................................................................................................188 3.5.4 消息传递通信机制.........................................................................................................189 3.5.5 有关消息传递实现的若干问题.....................................................................................192 3.6 死锁.......................................................................................................................................195 3.6.1 死锁的产生.....................................................................................................................195 3.6.2 死锁的定义.....................................................................................................................196 3.6.3 死锁的防止.....................................................................................................................197 3.6.4 死锁的避免.....................................................................................................................198 3.6.5 死锁的检测和解除.........................................................................................................206 3.7 实例研究:WINDOWS 2000/XP 的同步和通信机制...........................................................209 3.7.1 Windows 2000/XP 的同步和互斥机制...........................................................................209 3.7.2 Windows2000/XP 进程通信机制....................................................................................210 3.8 实例研究:LINUX 信号量机制.............................................................................................211 3.9 本章小结................................................................................................................................212 VII CH4 存储管理................................................................................................................................225 4.1 主存储器................................................................................................................................225 4.1.1 存储器的层次.................................................................................................................225 4.1.2 快速缓存(caching) ....................................................................................................226 4.1.3 地址转换与存储保护.....................................................................................................227 4.2 连续存储空间管理................................................................................................................227 4.2.1 单用户连续存储管理.....................................................................................................227 4.2.2 固定分区存储管理.........................................................................................................229 4.2.3 可变分区存储管理.........................................................................................................230 4.3 分页式存储管理....................................................................................................................235 4.3.1 分页式存储管理的基本原理.........................................................................................235 4.3.2 相联存储器和快表.........................................................................................................236 4.3.3 分页式存储空间的分配和去配.....................................................................................237 4.3.4 分页存储空间的页面共享和保护.................................................................................238 4.3.5 多级页表........................................................................................................................238 4.3.6 反置页表........................................................................................................................240 4.4 分段式存储管理....................................................................................................................241 4.4.1 程序的分段结构.............................................................................................................241 4.4.2 分段式存储管理的基本原理.........................................................................................241 4.4.3 段的共享........................................................................................................................243 4.4.4 分段和分页的比较.........................................................................................................243 4.5 虚拟存储管理........................................................................................................................243 4.5.1 虚拟存储器的概念.........................................................................................................243 4.5.2 请求分页虚拟存储管理.................................................................................................245 4.5.3 请求分段虚拟存储管理.................................................................................................261 4.5.4 请求段页式虚拟存储管理.............................................................................................262 4.6 实例研究:INTEL X86/PENTIUM 存储管理硬件设施...........................................................263 4.6.1 Intel x86/Pentium 段机制——段选择符和段描述符....................................................264 4.6.2 Intel x86/Pentium 运行模式选择....................................................................................265 4.6.3 Intel x86/Pentium 地址转换............................................................................................265 4.6.4 Intel x86/Pentium 页式或段页式地址转换....................................................................266 4.7 实例研究:WINDOWS 2000/XP 虚拟存储管理...................................................................268 4.7.1 进程地址空间布局.........................................................................................................268 4.7.2 用户空间内存分配.........................................................................................................269 4.7.3 内存管理的实现.............................................................................................................273 4.8 实例研究:LINUX 的存储管理.............................................................................................279 4.8.1 Linux 存储管理概述.......................................................................................................279 4.8.2 虚拟地址空间的组织和管理.........................................................................................279 4.8.3 物理内存空间的管理.....................................................................................................280 4.8.4 用户态内存的申请与释放.............................................................................................281 4.8.5 内存的共享和保护.........................................................................................................282 VIII 4.8.6 交换空间、页面的换出和调入.....................................................................................283 4.8.7 缓冲机制........................................................................................................................284 4.9 本章小结................................................................................................................................285 CH5 设备管理................................................................................................................................292 5.1 I/O 硬件原理..........................................................................................................................292 5.1.1 I/O 系统...........................................................................................................................292 5.1.2 I/O 控制方式...................................................................................................................293 5.1.3 设备控制器.....................................................................................................................297 5.2 I/O 软件原理..........................................................................................................................298 5.2.1 I/O 软件的设计目标和原则...........................................................................................298 5.2.2 I/O 中断处理程序...........................................................................................................299 5.2.3 设备驱动程序.................................................................................................................300 5.2.4 与硬件无关的操作系统I/O 软件.................................................................................300 5.2.5 用户空间的I/O 软件.....................................................................................................302 5.3 具有通道的I/O 系统管理.....................................................................................................302 5.3.1 通道命令和通道程序.....................................................................................................302 5.3.2 I/O 指令和主机I/O 程序................................................................................................304 5.3.3 通道启动和I/O 操作过程.............................................................................................305 5.4 缓冲技术................................................................................................................................306 5.4.1 单缓冲............................................................................................................................306 5.4.2 双缓冲............................................................................................................................307 5.4.3 多缓冲............................................................................................................................307 5.5 驱动调度技术........................................................................................................................308 5.5.1 存储设备的物理结构.....................................................................................................308 5.5.2 循环排序........................................................................................................................309 5.5.3 优化分布........................................................................................................................310 5.5.4 交替地址........................................................................................................................311 5.5.5 搜查定位........................................................................................................................311 5.5.6 独立磁盘冗余阵列.........................................................................................................313 5.5.7 提高磁盘I/O 速度的一些方法.....................................................................................316 5.6 设备分配................................................................................................................................316 5.6.1 设备独立性.....................................................................................................................316 5.6.2 设备分配........................................................................................................................317 5.7 虚拟设备................................................................................................................................318 5.7.1 问题的提出.....................................................................................................................318 5.7.2 SPOOLING 的设计和实现.............................................................................................319 5.7.3 SPOOLING 应用例子.....................................................................................................321 5.8 实例研究:WINDOWS 2000/XP 的I/O 系统........................................................................321 5.8.1 Windows 2000/XP I/O 系统结构和组件.........................................................................321 5.8.2 Windows 2000/XP I/O 系统的数据结构.........................................................................325 5.8.3 Windows2000/XP 设备驱动程序....................................................................................328 IX 5.8.4 Windows 2000/XP I/O 处理.............................................................................................331 5.8.5 Windows 2000/XP 高速缓存管理................................................................................333 5.9 实例研究:LINUX 设备管理.................................................................................................344 5.9.1 Linux 设备管理概述.......................................................................................................344 5.9.2 Linux 硬盘管理...............................................................................................................345 5.9.3 Linux 网络设备...............................................................................................................346 5.9.4 Linux 设备驱动程序.......................................................................................................347 5.10 本章小结..............................................................................................................................347 CH6 文件管理................................................................................................................................352 6.1 文件.......................................................................................................................................352 6.1.1 文件的概念.....................................................................................................................352 6.1.2 文件的命名.....................................................................................................................353 6.1.3 文件的类型.....................................................................................................................353 6.1.4 文件的属性.....................................................................................................................354 6.1.5 文件的存取方法.............................................................................................................355 6.1.6 文件的使用.....................................................................................................................356 6.2 文件目录................................................................................................................................357 6.2.1 文件目录与文件目录项.................................................................................................357 6.2.2 一级目录结构.................................................................................................................358 6.2.3 二级目录结构.................................................................................................................358 6.2.4 树形目录结构.................................................................................................................359 6.3 文件组织与数据存储............................................................................................................361 6.3.1 文件的存储.....................................................................................................................361 6.3.2 文件的逻辑结构.............................................................................................................361 6.3.3 文件的物理结构.............................................................................................................365 6.4 文件系统其他功能的实现....................................................................................................371 6.4.1 文件操作的实现.............................................................................................................371 6.4.2 UNIX/Linux 文件操作系统调用.....................................................................................372 6.4.3 文件卷的安装和使用.....................................................................................................375 6.4.4 文件共享........................................................................................................................377 6.4.5 层次式文件系统模型.....................................................................................................382 6.4.6 辅存空间管理.................................................................................................................383 6.4.7 内存映射文件.................................................................................................................385 6.4.8 虚拟文件系统.................................................................................................................386 6.5 实例研究:LINUX 文件管理.................................................................................................387 6.5.1 Linux 文件管理概述.......................................................................................................387 6.5.2 Linux 文件系统的安装和管理........................................................................................388 6.5.3 虚拟文件系统VFS.........................................................................................................389 6.5.4 文件系统管理的缓冲机制.............................................................................................392 6.5.5 系统打开文件表.............................................................................................................394 6.5.6 EXT2 文件系统...............................................................................................................395 X 6.6 实例研究:WINDOWS 2000/XP 文件系统...........................................................................397 6.6.1 Windows 2000/XP 文件系统概述...................................................................................397 6.6.2 Windows2000/XP 文件系统模型和FSD 体系结构.......................................................398 6.6.3 NTFS 文件系统驱动程序...............................................................................................401 6.6.4 NTFS 在磁盘上的结构...................................................................................................402 6.6.5 NTFS 可恢复性支持.......................................................................................................405 6.6.6 NTFS 安全性支持...........................................................................................................405 6.7 本章小结................................................................................................................................406 CH7 操作系统的安全与保护........................................................................................................411 7.1 安全性概述............................................................................................................................411 7.2 安全威胁及其类型................................................................................................................411 7.3 保护.......................................................................................................................................415 7.3.1 操作系统保护层次.........................................................................................................415 7.3.2 内存储器的保护.............................................................................................................415 7.3.3 面向用户的访问控制.....................................................................................................415 7.3.4 面向数据的访问控制.....................................................................................................416 7.4 入侵者...................................................................................................................................416 7.4.1 入侵技术.........................................................................................................................416 7.4.2 口令保护.........................................................................................................................417 7.4.3 入侵检测.........................................................................................................................420 7.5 病毒(恶意软件)................................................................................................................421 7.5.1 病毒及其威胁.................................................................................................................421 7.5.2 病毒的特性.....................................................................................................................423 7.5.3 病毒的类型.....................................................................................................................423 7.5.4 反病毒的方法.................................................................................................................423 7.5.5 电子邮件病毒.................................................................................................................425 7.6 保护的基本机制、策略与模型............................................................................................426 7.6.1 机制、策略与模型.........................................................................................................426 7.6.2 身份认证机制.................................................................................................................438 7.6.3 授权机制.........................................................................................................................442 7.6.4 加密机制.........................................................................................................................452 7.6.5 审计................................................................................................................................456 7.7 实例研究:WINDOWS 2000/XP 的安全机制.......................................................................457 7.7.1. Windows 2000/XP 安全性概述.......................................................................................457 7.7.2. Windows2000/XP 安全性系统组件................................................................................457 7.7.3. Windows2000/XP 保护对象............................................................................................458 7.7.4. 访问控制策略.................................................................................................................458 7.7.5. 访问令牌.........................................................................................................................459 7.7.6. 安全描述符.....................................................................................................................459 7.8 本章小结................................................................................................................................461 CH8 网络和分布式操作系统........................................................................................................465 XI 8.1 计算机网络概述....................................................................................................................465 8.1.1 计算机网络的概念.........................................................................................................465 8.1.2 数据通信基本概念.........................................................................................................467 8.1.3 网络体系结构.................................................................................................................468 8.2 网络操作系统........................................................................................................................474 8.2.1 网络操作系统概述.........................................................................................................474 8.2.2 几个流行的网络操作系统.............................................................................................475 8.2.3 网络操作系统实例.........................................................................................................475 8.3 分布式操作系统....................................................................................................................477 8.3.1 分布式系统概述.............................................................................................................477 8.3.2 分布式进程通信.............................................................................................................478 8.3.3 分布式资源管理.............................................................................................................484 8.3.4 分布式进程同步.............................................................................................................485 8.3.5 分布式系统中的死锁.....................................................................................................495 8.3.6 分布式文件系统.............................................................................................................497 8.3.7 分布式进程迁移.............................................................................................................502 8.4 实例研究:WINDOWS2000 网络体系结构和网络服务.......................................................504 8.4.1 Windows 2000 网络体系结构.........................................................................................504 8.4.2 WindowS 2000 的层次化网络服务.................................................................................518 8.5 本章小结................................................................................................................................522
第1章 操作系统概述     【掌握】   1. 操作系统的概念   操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。   记忆要点:操作系统是什么——是系统软件;   操作系统管什么——控制和管理计算机系统内各种资源;   操作系统有何用——扩充硬件功能,方便用户使用。  功能   操作系统的五大主要功能:存储管理、进程和处理机管理、文件管理、设备管理、用户接口管理。   【理解】   1.操作系统的特征:并发、共享和异步性。   理解模拟:并发——“大家都前进了”;   共享——“一件东西大家用”;   异步性——“你走我停”,“走走停停”。   2.操作系统的主要类型   操作系统的主要类型有:多道批处理系统、分时系统、实时系统、网络操作系统、个人机操作系统、分布式系统和嵌入式操作系统。   UNIX系统是著名的分时系统。   3.分时概念:主要是指若干并发程序对CPU时间的共享。   【了解】   1.操作系统的形成;   2.分时和实时操作系统的特点,见教材16页;   3.操作系统在计算机系统中的地位:是裸机之上的第一层软件,是建立其他所有软件的基础。   4.操作系统结构设计:整体结构、层次结构、虚拟机结构和客户机-服务器结构。   5.操作系统为用户提供的三种用户接口:图形用户接口、命令行接口和程序接口。   系统调用是操作系统内核与用户程序、应用程序之间的接口。在UNIX/Linux系统,系统调用以C函数的形式出现。 第2章 进程管理   考核学生对进程定义、进程的状态及其转换、进程的组成、竞争条件和临界区、进程的同步与互斥、信号量和P、V操作及其一般应用、死锁的概念和产生死锁的必要条件等的内容学习情况。   【掌握】   1.进程的定义:进程是程序在并发环境中的执行过程。   进程与程序的主要区别。进程最基本的属性是动态性和并发性。   2.进程的状态及其转换   进程的3种基本状态是:运行态、就绪态和阻塞态。掌握教材33页的进程状态及其转换图。   3.进程的同步与互斥的概念。可以简单理解为:同步是协作,互斥是竞争。   4.信号量和P、V操作及其一般应用。   运用信号量机制和P、V操作,解决并发进程一般的互斥和同步问题。解决此类问题的一般方式:   (1)根据问题给出的条件,确定进程有几个或几类;   (2)确定进程间的制约关系——是互斥,还是同步;   (3)各相关进程间通过什么信号量实现彼此的制约,标明信号量的含义和初值;   (4)用P、V操作写出相应的代码段;   (5)验证代码的正确性:设以不同的次序运行各进程,是否能保证问题的圆满解决。切忌按固定顺序执行各进程。   【理解】   1.多道程序设计概念及其优点。   2.进程的一般组成,应深入理解进程控制块的作用。每个进程有惟一的进程控制块。   3.Linux进程管理的基本命令:ps、kill、sleep。   4.理解进程临界资源和临界区的概念,进程进入临界区的调度原则。信号量概念,P、V操作执行的动作。   5.死锁的概念;死锁的4个必要条件:互斥条件、不可抢占条件、占有且申请条件、循环等待条件。   【了解】   1.Linux进程结构,见教材41页图。   2.进程间的3种高级通信:共享内存、管道文件和消息传递。 第3章 处理机调度   考核学生对作业状态、作业调度和进程调度的功能、性能评价标准、常用调度算法、Linux常用调度命令、中断处理过程、shell命令执行过程等内容的学习情况。   【掌握】   1.作业调度和进程调度的功能   作业调度的功能见教材73页,进程调度的功能见教材74页。在一般操作系统中,进程调度是必须具备的。   2.常用调度算法   掌握三种基本调度算法(先来先服务法、时间片轮转法、优先级法)的实现思想,并能进行评价指标的计算。   要求:能利用图表形式列出各作业或进程的有关时间值,如到达时间、运行时间、开始时间、完成时间等,利用评价公式计算出各指标的值,如周转时间、带权周转时间、平均周转时间、平均带权周转时间。   【理解】   1.作业的四种状态:提交、后备、执行和完成。   2.作业调度与进程调度的关系,见教材75页。简单比喻:作业调度是演员上场前的准备,进程调度是让演员上场表演。   3.调度性能评价标准   评价调度算法的指标:吞吐量、周转时间、带权周转时间、平均周转时间和平均带权周转时间。   4.Linux系统的进程调度方式、策略和常用调度命令:nohup,at,batch,jobs,fg,bg。   5.中断处理过程:保存现场、分析原因、处理中断和中断返回。   6.shell命令的一般执行过程。   【了解】   1.调度的三个级别:高级调度、中级调度和低级调度,其中高级调度又称作业调度,低级调度又称进程调度。   2.调度策略的选择,见教材77页。   3.中断概念   中断是指CPU对系统发生的某个事件做出的一种反应,它使CPU暂停正在执行的程序,保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则返回断点继续执行被“打断”的程序。 第4章 存储管理   考核学生对重定位、分区法、分页的概念、虚拟存储概念、请求分页存储管理技术、常用页面置换算法、Linux中的存储管理技术以及抖动等内容的学习情况。   【掌握】
处理机调度是指操作系统对CPU的分配和调度,以便高效地完成各种任务。在多道程序环境下,由于有多个进程需要占用CPU,因此需要进行处理机调度,以便各个进程都能够得到合理的CPU时间片,并且能够尽早地完成任务。 处理机调度算法主要有以下几种: 1. 先来先服务 (FCFS):按照进程到达的先后顺序进行处理机分配,即谁先到谁先得到CPU的使用权。 2. 短作业优先 (SJF):按照进程的执行时间进行处理机分配,即先处理执行时间最短的进程。 3. 优先级调度 (Priority Scheduling):按照进程的优先级进行处理机分配,即优先级高的进程先执行。 4. 时间片轮转 (Round Robin):将CPU时间片分成多个时间段,每个进程在一个时间段内执行一定时间,然后切换到下一个进程,直到所有进程都执行完毕。 死锁是指在多进程环境下,由于资源竞争而导致的一种进程无限等待的现象。死锁的发生通常由于以下四个条件的同时满足: 1. 互斥条件:一个资源同时只能被一个进程使用。 2. 不可抢占条件:进程在使用一个资源时,不能被其他进程抢占。 3. 占有和等待条件:一个进程在持有一个资源的同时,可以等待其他资源。 4. 循环等待条件:多个进程之间形成一种循环等待资源的关系。 避免死锁的方法主要有以下几种: 1. 破坏互斥条件:允许多个进程同时访问一个资源。 2. 破坏不可抢占条件:允许进程在使用一个资源时被抢占。 3. 破坏占有和等待条件:一个进程在申请资源时,必须释放已经占有的资源。 4. 破坏循环等待条件:对所有资源进行编号,每个进程按照编号顺序申请资源,释放资源时按照相反的顺序释放。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘 关

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值