操作系统Word格式文档下载.docx
- 文档编号:7029648
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:34
- 大小:42.88KB
操作系统Word格式文档下载.docx
《操作系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《操作系统Word格式文档下载.docx(34页珍藏版)》请在冰点文库上搜索。
引入多道程序设计技术的好处是:
提高处理机的利用率;
提高内存和I/O设备的利用率;
增加系统的吞量。
6、多道程序设计技术要解决哪些问题?
多道批处理系统有哪些特征?
多道程序设计技术要解决下列一些问题:
处理机管理、内存储器管理、I/O设备管理、文件管理、作业管理等问题。
多道批处理系统的特征有:
多道性、无序性、调度性
7、为什么要引入实时操作系统?
什么是硬实时任务和软实时任务?
(1)、虽然多道批处理系统和分时系统已能获得较为令人满意的资源利用率和响应时间,从而使计算机的应用范围日益扩大,但它们仍然不能满足某些应用领域的需要。
引入实时操作系统是更好地满足实时控制领域和实时信息处理领域的需要。
(2)、硬实时任务是系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。
如导弹的制导系统、飞机的自动驾驶系统等
软实时任务是它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。
8、操作系统的结构设计有哪几种方法?
微内核操作系统有哪些优点?
操作系统的结构设计的方法有:
模块化结构设计、层次式结构设计、微内核结构设计。
微内核操作系统的优点有:
提高了系统的可扩展性;
增强了系统的可靠性;
可移植性好;
提高了对分布式系统的支持;
融入了面向对象技术。
9、模块接口法存在哪些问题?
可以什么样的途径来解决?
模块接口法存在的问题:
(1)、在操作系统设计时,对各模块间的接口规定很难满足在模块完成后对接口的实际需求;
(2)、在操作系统设计阶段,设计者必须做出一系列的决定,每一个决定必须建立在上一个决定的基础上,但在模块结构设计中,各模块的设计齐头并进,无法寻找到一个可靠的决定顺序,造成各种决定的“无序性”,这将使程序设计人员很难做到“设计中的每一步决定都是建立在可靠的基础上”,因此模块接口法是一种“无序模块法”
为了将模块接口法中“决定顺序”的无序性变为有序性,引入了有序分层法。
10、什么是微内核结构?
微内核结构的操作结构系统设计中应用了哪些新技术?
(1)、微内核结构是指采用足够小的内核和基于客户/服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在内核外面的一组服务器中
(2)、在基于微内核结构的操作系统设计中,应用的新技术有:
客户/服务器模式、机制与策略分离原理、面向对象技术。
第二章、
1、为什么程序并发执行时会产生间断性?
程序并发执行为何会失去封闭性和可再现性?
(1)、程序在并发执行时,由于它们共享系统资源,为了完成同一项任务而相互合作,致使在些并发执行的程序之间,形成了相互制约的关系,这种相互制约将导致并发程序具有“执行—暂停—执行”这种间断性的活动规律。
(2)、程序并发执行时,多个程序共享系统中和各种资源,资源的状态由多个程序来改变,即存在资源共性使程序失去封闭性,而失去了封闭性就有可能导致程序失去可再现性。
2、什么是临界区和临界资源?
对临界区管理的基本原则是什么?
(1)、并发进程中与共享变量有关和程序段叫临界区,共享变量代表的资源叫临界资源。
(2)、对临界区管理的基本原则:
一次至多允许一个进程进入临界区内;
一个进程不能无限地停留在临界区内;
一个进程不能无限地等待进入临界区。
3、试述进程的结构。
进程有哪些特征?
(1)、进程的结构由程序段、相关数据段和PCB组成。
(2)、进程的特征有:
动态性。
进程的实质是进程实体的一次执行过程。
进程由创建而产生,由调度执行,由撤销而消亡。
并发性。
多个进程实体同存于内存中,且能一段时间内同时运行。
独立性。
进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位,凡未建立PCB的程序不能作为一个独立的单位参与运行。
异步性。
进程按各自独立的、不可预知的速度向前推进。
4、试述PCB的作用?
为什么说PCB是进程存在的唯一标志?
(1)、PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。
PCB是记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息,因而它的作用是使一个在多道程序环境下下能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其他进程并发执行的进程。
(2)、在进程的整个生命周期中,系统总是通过其PCB对进程控制,根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所说,PCB是进程存在的唯一标志。
5、进程的基本状态有哪些?
试述进程在三个基本状态之间转换的主要原因。
(1)、进程的基本状态有:
就绪状态:
当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。
执行状态:
进程已获得CPU,其程序正在执行。
阻塞状态:
正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,即进程的执行受到阻塞,把这种暂停状态称为阻塞状态。
(2)、进程在三个基本状态之间转换的典型原因:
由就绪状态转换为执行状态:
处于就结果状态的进程,当进程调度程序为之分配了处理机之后,该进程便由就绪状态变为执行状态。
由执行状态转换为阻塞状态:
当前进程因发生某事件而无法执行,如需要I/O或访问已被战胜的临界资源,就会使进程由执行状态转变为阻塞状态。
由执行状态转换为就绪状态:
前前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。
6、引起进程挂起的原因有哪些?
相关操作的原语有哪些?
(1)、引起进程挂起的原因有:
终端用户的请求、父进程请求、负荷调节的需要、操作系统的需要。
(2)、活动就绪->
静止就绪、活动阻塞->
静止阻塞:
挂起原语Suspend.
静止就绪->
活动就绪,静止阻塞->
活动阻塞:
激活原语Active.
7、在生产者-消费者问题中,能否将生产者进程的wait(empty)和wait(mutex)语句互换?
为什么?
(1)、在生产者-消费者问题中,不能将生产者进程的wait(empty)和wait(mutex)语句互换
(2)、因为将生产者进程的wait(empty)和wait(mutex)语句互换可能会导致系统死锁。
当系统中没有空缓冲区时,生产者进程的wait(mutex)操作获取了缓冲队列的控制权,而wait(empty)又导致生产者进程阻塞,这时消费者进程也无法执行。
8、在生产者-消费者问题中,如果在生产者进程中缺少了signal(full),对执行结果会产生什么影响?
如果在消费者进程中缺少了signal(empty),对执行结果又会产生什么影响?
(1)、在生产者-消费者问题中,如果在生产者进程中缺少了signal(full),生产者进程可以不断地将产品放入缓冲区,直到放满为止,而消费者进程不能从缓冲区中取走产品,结果造成死锁。
(2)、如果在消费者进程中缺少了signal(empty),生产者进程可能不断地从缓冲区取走商品,直到取空为止,而生产者进程不能将产品放入空的缓冲区,结果同样造成死锁。
9、什么是进程通信?
根据信息交换量的多少可分为哪几种类型?
高级通信分为哪几种?
(1)、进程通信是指进程之间的信息交换。
(2)、根据信息交换量的多少可分为低级通信和高级通信两种。
用于进程同步与互斥的信号量机制因信息交换量少,效率太低,称为低级通信;
高级通信则以较高的效率传送大批数据。
(3)、高级通信分为三种:
共享存储区、消息传递系统、管道通信
10、为什么要在操作系统中引入线程?
线程具有哪些属性?
(1)、在操作系统中引入线程,是为了减少程序在并发执行时所会出的进间和空间开销,使操作系统具有更好的并发性。
在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。
由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效地提高系统内多个程序间并发执行的程度。
(2)、线程具有下列一些属性:
轻微实体。
线程中的实体基本上不拥有系统资源,只有一点必不呆少的,能保证其独立运行的资源。
独立调度和分派的基本单位。
在多线程操作系统中,线程是能独立运行的基本单位,也是独立调度和分派的基本单位。
可并发执行。
在一个进程中的多个线程之间可并发执行,甚至允许在一个进程中的所有线程都能并发执行;
同样,不同进程中的线程也能并发执行。
共享进程资源。
在同一进程中的各个线程都可以共享该进程所拥有的资源,这首先表现在所有线程都具有相同的地址空间。
第三章、
1.什么是作业调度?
作业调度选择作业的必要条件是什么?
答:
(1)作业调度是根据作业控制块中的信息,审查系统能否满足用户作业的资源需求;
按照一定的算法从外存的作业后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源;
然后再将创建的进程插入就绪队列,准备执行。
(2)作业调度选择作业的必要条件是系统中现有的尚未分配的资源可以满足被选作业的资源要求。
2.处理机调度分哪三个层次?
作业调度和进程调度有何区别?
(1)处理机调度的三个层次:
高级调度、中级调度、低级调度。
高级调度:
即作业调度,根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,按照一定的算法从外存的作业后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源;
然后将创建的进程插入就绪队列,准备执行。
中级调度:
使那些暂时不能运行的进程不再占用宝贵的内存资源,将它们调至外存上去等待,当这些进程又具备运行条件时,由中级调度决定把外存上的那些又具备条件的就绪进程重新调入内存。
低级调度:
即进程调度,决定就绪队列中的哪个进程应该获得处理机,然后由分派程序分配处理机。
(2)作业调度是高级调度,往往发生在一个批作业运行完毕时,作业调度的周期长,进程调度是低级调度,运行频率高,是一种短程调度。
3.为什么说作业控制块是作业存在的标志?
其中包含了哪些内容?
(1)为了管理和调度作业,在多道批处理系统中为每个作业设置了一个作业控制块,如同进程控制块是进程在系统中存在的标志一样,它是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度所需要的全部信息。
(2)在JCB中所包含的内容因系统而异,通常应包含的内容有:
作业标识、用户名称、用户账户、作业类型、作业状态、调度信息、资源需求、进入系统时间、开始处理时间、作业完成时间、作业退出时间、资源使用情况等。
4.何谓静态优先权和动态优先权?
确定静态优先权和动态优先权的依据是什么?
(1)静态优先权是创建进程时进程时确定的,且在进程的整个运行期间保持不变。
动态优先权是指在创建进程时所赋予的优先权,是可以随进程的推进和随其等待时间的增加而改变的,以便获得更好的调度性能。
(2)确定进程静态优先权的依据有三个方面:
1.进程类型。
通常,系统进程(如接收进程、对换进程、磁盘I/O进程)的优先权高于一般用户进程的优先权。
2.进程对资源的需求。
如进程的估计执行时间及内存需要量的多少,对这些要求少的进程应赋予较高的优先权。
3.用户要求。
这是由用户进程的紧迫程序及用户所付费用的多少来确定的优先权。
确定进程动态优先权的依据:
可以规定在就绪队列中的进程,随其等待时间的增长,其优先权以某种效率提高。
若所有的进程都具有相同的优先权初值,则显然是最先进入就绪队列的进程将其动态优先权变得更高而优先获得处理机。
若所有的就绪进程具有各种不相同的优先权初值,那么,对于优先权初值低的进程,在等待了足够的时间后,其优先权便可能升为最高,从而可以获得处理机。
当采用抢占式优先权调度算法时,如果再规定当前进程的优先权以某种效率下降,则可防止一个长作业长期地垄断处理机。
5.在选择调度方法和调度算法时,应遵循的准则是什么?
在批处理系统、分时系统中,各采用哪几种进程(作业)调度算法?
(1)在选择调度方式和调度算法时,应遵循的准则是:
1面向用户的准则有周转时间短、响应时间快、截止时间的保证以及优先权准则;
2.面向系统的准则有系统吞吐量高、处理机利用率好、各类资源的平衡利用。
(2)在批处理系统中采用:
先来先服务、短作业(进程)优先、高优先权优先、时间片轮转等调度算法。
在分时系统中采用:
时间片轮转等调度算法。
6.试比较FCFS和SJF两种调度算法。
为什么说多级反馈队列能较好的满足各种用户的需要?
(1)FCFS和SJF两种调度算法的比较:
FCFS调度算法时一种简单的调度算法,该算法比较有利用于长作业,而不利于短作业,有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业。
SJF调度算法能有效的降低作业的平均等待时间,提高系统吞吐量,但该算法对长作业不利。
该算法完全未考虑作业的紧迫程序,因而不能保证紧迫性作业会被及时处理。
由于作业的长短只有根据用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度。
(2)多级反馈队列能较好的满足各种用户的需求,主要原因有:
1、对于终端型作业用户,由于终端型作业用户所提交的作业,大都属于交互型作业,系统只要能使这些作业在第一队列所规定的时间内完成,便可使终端型作业用户都感到满意。
2、对于短批处理作业用户,如果很短的批作业处理型作业仅在第一队列中执行一个时间片即可完成,便可获得与终端型作业一样的相应时间;
对于稍长的作业,通常只需在第二队列和第三队列中各执行几个时间片即可完成,其周转时间仍然很短。
3、对于长批处理作业用户,用户也不必担心其作业长期得不到处理。
7.什么是死锁?
产生死锁的必要条件是什么?
(1)死锁指多个进程因竞争资源而造成的一种僵局,若无外力的作用,则这些进程将永远不能再向前推进。
如果在一个进程集合中的每个进程都在等待只能由该集合中的其他一个进程才能引发的事件,则这一组进程或系统此时发生了死锁。
(2)产生死锁的4个必要条件:
1、互斥条件。
进程对所分配的资源进行排他性使用,即在一段时间内某资源只由一个进程占用。
2、请求和保持条件。
进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又已被其他进程占有,此时请求资源的进程阻塞,但又对自己已获得的其他资源保持不放。
3、不剥夺条件。
进程已获得资源在未使用完之前,不能被剥夺,只能在使用完毕后由自己释放。
4、环路等待条件。
在发生死锁时,必然存在一个进程-资源的环形链。
8.试述死锁的防止于死锁的避免的区别。
避免死锁的实质是什么?
(1)死锁的防止与死锁的避免的区别:
1、死锁的防止时系统预先确定一些资源分配策略,进程按规定申请资源、系统按预先规定的策略进行分配,从而防止死锁的发生。
2、死锁的避免是当进程提出自愿申请时,系统先进行资源分配测试,仅当能确保系统安全时才能把资源分配给进程,使系统一直处于安全状态,从而避免死锁。
(2)避免死锁的实质是:
系统在进行资源分配时,如何使系统不进入不安全状态。
第四章、
1.存储管理的目的是什么?
存储管理的功能有哪些?
(1)存储管理的目的是尽可能地方便用户使用和提高内存空间的利用率,让用户感觉有用不完的存储空间。
(2)存储管理的功能有:
1、内存空间的分配与回收;
2、实现地址转换;
3、内存空间的共享与保护;
4、内存空间的扩充。
2、程序的装入方式主要有哪些?
程序链接的方式主要有哪些?
(1)程序的装入方式主要有:
1、绝对装入方式;
2、可重定位装入方式;
3、动态运行时装入方式
(2)程序链接的方式主要有:
1、静态链接。
在程序运行之前,先将个目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开。
2、装入时动态链接。
将用户源程序编译后得到的一组目标模块,在装入内存时,采用边装入边链接的连接方式。
3、运行时动态链接。
对某些目标模块的链接,是在程序执行中需要该目标模块时,才对它进行链接。
3、什么是程序的重定位?
重定位分为哪几种?
(1)重定位:
把逻辑地址转换成绝对地址的工作称为重定位和地址转换。
(2)重定位分为两种:
1、静态重定位。
地址转换工作是爱作业开始执行前集中完成的,在作业执行过程中无需再进行地址转换工作。
2、动态重定位。
在作业执行过程中,每当执行一条指令时都由硬件的地址转换机构将指令中的逻辑地址转换成绝对地址,这种方式的地址转换是在作业执行时动态完成的。
4、什么事分区分配?
分区分配的方式有几种?
(1)分区分配是给每一个内存中的进程划分适当大小的存储区,以连续存储各进程的程序和数据,使各进程都得以并发执行。
(2)分区分配的方式可分为:
固定式分区、可变式分区、可重定位分区。
固定式分区方法属于静态分区分配,其余两种为动态分区分配。
5、可变分区的分配算法有哪几种?
试分别说明这些算法的基本思想。
(1)可变分区的分配算法有:
首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。
首次适应算法:
该算法的空闲区表是按空闲区首址升序的方法组织的。
分配时从表头开始,以请求内存区的大小逐个与空闲区进行比较,找到第一个满足要求的空闲区后,若空闲区大小与请求区的大小相等,则将该空闲区分配给请求者,并撤销该空闲区所在表目;
若大于请求区,,就将该空闲区的一部分分配给请求者,然后修改空闲区的大小和首址。
循环首次适应算法:
为进程分配内存空间时,不再是每次都从链首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直至找到一个能满足要求的空闲分区,从中划出一块与请求大小相等的内存空间分配给进程。
最佳适应算法:
该算法的空闲区表是按空闲区大小降序的方法组织的。
分配时总是取表中的第一个表目,若不能满足申请者的要求,则表示系统中无满足要求的空闲区,分配失败;
否则,将从该空闲区中分配一块给申请者,然后修改空闲区的大小,并将它插入到空闲区表的适当位置。
6、页式存储管理中为什么要设置页表?
分页存储管理方式中如何实现逻辑地址到物理地址的变换?
(1)因为页式管理时把作业分散在内存中的不连续块中存放,必须通过页表来建立逻辑地址中的页号到绝对地址中的块号的映射,作为硬件进行转换的依据。
在配置了页表后,进程执行时,通过查找该表,即可找到每页在内存中的物理块号。
页表的作业是实现从页号到物理块号的地址映射。
(2)分页存储管理方式中逻辑地址到物理地址的转换:
当进程要访问某个逻辑地址中的数据时,分页地址变换机构会自动地将相对地址分为页号和页内地址两部分,再以页号为索引区检索页表。
在执行检索之前,先将页号与页表长度进行比较,若未出现越界错误,则将页表始址与页号和页表项长度的乘积相加,便得到该表项在页表中的位置,于是可从中得到该页的物理块号,将之装入物理地址寄存器中。
与此同时,再将有效地址寄存器中的业内地址送入物理地址寄存器的块内地址字段中。
7、什么是快表?
块表有何优点?
(1)快表是一个高速、具有并行查询能力的联想存储器,用于存放正运行的进程的当前页号和块号,或者段号和段起始地址。
(2)快表的命中率很高,有效地提高了地址转换的速度。
8、为实现分页存储管理,需要哪些硬件支持?
引入分段存储管理是为了满足用户哪几方面的需要?
(1)位实现分页存储管理,需要的硬件支持有:
页表机制、缺页中断机制、地址变换机构。
(2)引入分段存储管理是为了满足用户下列方面的需要:
1、方便编程。
通常,用户把自己的作业按照逻辑关系划分为若干个段,每个段都是从0开始编址,并有自己的名字和长度。
2、实现分段共享。
为了实现段的共享,存储管理能与用户程序分段的组织方式相适应。
3、实现分段保护。
分段管理方式能更有效和方便地实现信息保护功能。
4、实现动态增长。
分段存储管理方式能较好地解决段的动态增长问题。
5、实现动态链接。
动态链接要求以段作为管理的单位。
9、什么是段式存储管理?
它从逻辑地址到物理地址是怎么变换的?
(1)段式存储管理把程序按内容或构成关系分为段,每段都由自己的名字,一个用户作业把进程包含的段对应于一个二维虚拟存储器。
以段为单位进行分配内存,然后通过地址映射机构把逻辑地址转换成物理地址,只将那些经常访问的段驻留内存,其他的段放在外存,待需要时自动调入。
(2)地址变换过程:
由虚地址中的段号为索引查段表:
找出该段在内存的起始地址,并将其和段内地址相加,从而得到物理地址。
10、分页和分段存储管理有何区别?
为什么说分段系统较之分页系统更易于实现信息共享和保护?
(1)分页和分段存储管理的区别:
1、页式信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;
而段式信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要,2、页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序。
3、分页的作业地址空间是一维的,而分段的作业地址空间是二维的。
(2)分段系统较之分页系统更易于实现信息共享和保护是因为:
1、对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此需要建立大量的页表项,难于实现信息的共享和保护。
2、而对于分段系统,每个段都从0开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一起来即可,易于实现信息的共享和保护。
11、在请求分页系统中,通常采用哪种页面分配方式?
(1)在请求分页系统中有固定和可变分配两种分配方法。
(2)采用固定分配方式是基于进程的类型(交互式)或根据程序员、系统管理员的建议,为每个进程分配以固定页数的内存空间,在整个运行期间不再改变;
采用可变分配方式有全局置换和局部置换两种,前者易于实现,后者效率高。
12、在请求分页系统中,其页表项中包含哪些数据项?
它们的作用是什么?
(1)在请求分页系统中,其页表项中包含的数据项有页号、物理块号、状态为P、访问字段A、修改位M和外存地址。
(2)它们的作用分别是:
1、状态位P:
致使该页是否调入内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统