《操作系统》习题课
- 格式:doc
- 大小:107.00 KB
- 文档页数:7
练习11.1-1.10题解见书1.11 有一台输入设备和一台输出设备的计算机系统上,运行有两道程序。
两道程序投入运行情况如下:程序1先开始运行,其运行轨迹为:计算50ms、输出100ms、计算50ms、输出100ms,结束;程序2后开始运行,其运行轨迹为:计算50ms、输入100ms、计算100ms、结束。
1. 忽略调度时间,指出两道程序运行时,CPU是否有空闲?在哪部分空闲?指出程序1和程序2. 有无等待CPU的情况?如果有,发生在哪部分?题解:由题画出CPU利用图如下:由图可知,1.CPU有空闲,在100ms~150ms时间段是空闲的。
2.程序1无等待时间,而程序2在一开始的0ms~50ms时间段会等待。
1.12 在计算机系统上运行三道程序,运行次序为程序1、程序2、程序3。
程序1的运行轨迹为:计算20ms、输入40ms、计算10ms。
程序2的运行轨迹为:计算40ms、输入30ms、计算10ms。
程序3的运行轨迹为:计算60ms、输入30ms、计算20ms。
忽略调度时间,画出三道程序运行的时间关系图;完成三道程序共花多少时间?与单道程序比较,节省了多少时间?解答:三道程序运行,完成三道程序共花170ms。
与单道程序(260ms)比较,节省了90ms。
(始终按照1-2-3的次序,即程序1→程序2→程序3→程序1→程序2→(在程序3运行前会停10ms等待输入完成)程序3。
(如果不是按照程序1、2、3的次序完成则会有多种情况。
)1.13 在计算机系统上有两台输入/输出设备,运行两道程序。
程序1的运行轨迹为:计算10ms、输入5ms、计算5ms、输出10ms、计算10ms。
程序2的运行轨迹为:输入10ms、计算10ms、输出5ms、计算5ms、输出10ms。
在顺序环境下,先执行程序1,再执行程序2,求总的CPU利用率为多少?题解:由题画出CPU利用图如下:由图可知,在总共80ms的时间里,CPU空闲时间为40ms,即:CPU利用率=40ms/80ms*100%=50%1.14 一个计算机系统有足够的内存空间存放3道程序,这些程序有一半的时间在空闲等待I/O操作。
第一章1.下面不属于操作系统的是(C )A、OS/2B、UCDOSC、WPSD、FEDORA2.操作系统的功能不包括(B )A、CPU管理B、用户管理C、作业管理D、文件管理3.在分时系统中,当时间片一定时,(B ),响应越快。
A、内存越大B、用户越少C、用户越多D、内存越小4.分时操作系统的及时性是指( B )A、周转时间B、响应时间C、延迟时间D、A、B和C5.用户在程序设计的过程中,若要得到系统功能,必须通过(D )A、进程调度B、作业调度C、键盘命令D、系统调用6.批处理系统的主要缺点是( C )A、CPU使用效率低B、无并发性C、无交互性D、都不是第二章1、若信号量的初值为2,当前值为-3,则表示有(C )个进程在等待。
A、1B、2C、3D、52、在操作系统中,要对并发进程进行同步的原因是(B )A、进程必须在有限的时间内完成B、进程具有动态性C、并发进程是异步的D、进程具有结构性3、下列选项中,导致创进新进程的操作是(C )I用户成功登陆II设备分配III启动程序执行A、仅I和IIB、仅II和IIIC、仅I和IIID、I,II,III4、在多进程系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓的临界区是指(D )A、一个缓冲区B、一个数据区C、一种同步机构D、一段程序5、进程和程序的本质区别是(B )A、内存和外存B、动态和静态特征C、共享和独占计算机资源D、顺序和非顺序执行计算机指令6、下列进程的状态变化中,(A )的变化是不可能发生的。
A、等待->运行B、运行->等待C、运行->就绪D、等待->就绪7、能从1种状态变为3种状态的是(D )A、就绪B、阻塞C、完成D、执行8、下列关于进程的描述正确的是(A )A、进程获得CPU是通过调度B、优先级是进程调度的重要依据,一旦确定就不能改变C、在单CPU系统中,任何时刻都有一个进程处于执行状态D、进程申请CPU得不到满足时,其状态变为阻塞9、CPU分配给进程的时间片用完而强迫进程让出CPU,此时进程的状态为(C )。
【计算机专业】专业课操作系统习题一、单选题1. 操作系统是一组()。
A. 文件管理程序B. 中断处理程序C. 资源管理程序D. 设备管理程序2. 从用户观点看,操作系统是()。
A. 用户与计算机之间的接口B. 控制和管理计算机资源的软件C. 合理的组织计算机工作流程的软件D. 由若干层次的程序按一定的结构组成的有机体3. ()不是操作系统关心的主要问题。
A. 管理计算机裸机B. 设计、提供用户程序与计算机硬件系统的界面C. 管理计算机系统资源D. 高级程序设计语言的编译器4. 现代OS具有并发性和共享性,是()的引入导致的。
A.单道程序B. 磁盘C. 对象D.多道程序5. 引入多道程序的目的在于()。
A. 充分利用CPU,减少CPU等待时间B. 提高实时响应速度C. 有利于代码共享,减少主、辅存信息交换量D. 充分利用存储器6. 在单一处理机上执行程序,多道程序的执行是在()进行的。
A. 同一时刻B. 同一时间间隔内C. 某一固定时刻D. 某一固定时间间隔内7. 批处理系统的主要缺点是()。
A. CPU的利用率不高B. 失去了交互性C. 不具备并行性D. 以上都不是8. 在分时系统中,时间片一定,(),响应时间越长。
A. 内存越多B. 用户数越多C. 后备队列越短D. 用户数越少9. 在下列性质中,哪一个不是分时系统的特征。
()A. 交互性B. 同时性C. 及时性D. 独占性11. 要求在规定的时间内对外界的请求必须给予及时响应的OS是()。
A.多用户分时系统B.实时系统C.批处理系统时间D.网络操作系统12.下面6个系统中,必须是实时操作系统的有()个。
i. 航空订票系统ii. 过程控制系统iii. 机器口语翻译系统iv. 计算机辅助系统v. 办公自动化系统vi. 计算机激光照排系统A.1B.2C.3D.413. ()对多道批处理系统最重要。
A.实时性B.交互性C.共享性D.运行效率14. ()对多用户分时系统最重要。
1.什么是操作系统?其主要功能是什么?操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口.2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。
A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。
B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。
试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待?(2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。
0 50 100 150 200 250 30050 100 50 10050 100 20 100(1) cpu有空闲等待,在100ms~150ms的时候.(2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms.1.设公共汽车上,司机和售票员的活动如下:司机的活动:启动车辆;正常行车;到站停车。
售票员的活动:关车门;售票;开车门。
在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。
semaphore s1,s2;s1=0;s2=0;cobegin司机();售票员();coendprocess 司机(){while(true){P(s1) ;启动车辆;正常行车;到站停车;V(s2);}}process 售票员(){while(true){关车门;V(s1);售票;P(s2);开车门;上下乘客;}}2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。
请用信号量和P、V操作,写出能够正确执行的程序。
第一章选择题1.操作系统是(资源的分配者、硬件与应用程序之间的接口、系统服务的提供者)2.操作系统提供给应用程序的接口是(系统调用)3.在设计批处理多道系统时,首先要考虑的是(系统销量和吞吐量)4.操作系统中采用多道程序设计技术来提高CPU和外部设备的(利用率)5.CPU状态分为目态和管态两种,从目态转换到管态的唯一途径是(中断)6.在单处理机系统中,可并行的是(处理机与设备,处理机与DMA,设备与设备)7.分时操作系统允许在一台主机上连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机8.下列选项中,能引起外部中断的事件是(键盘输入)9.处理器执行的指令被分为两类,其中一类称为特权指令,它只允许(操作系统)使用10.计算机系统中判别是否有中断事件发生应是在(执行完一条指令后)填空题1.列举两个你所知道的操作系统名称:(实时操作系统和嵌入式操作系统)2.CPU的工作状态可以分为两种:(管态和目态)3.CPU通过哪一个寄存器来设定它的工作状态?(程序状态字)4.用户进程从目态转换为管态的唯一途径是(中断)5.中断可以分为两类,即同步中断和异步中断。
如果一个用户程序中,出现了算术溢出或除零的错误,那么此时产生的中断属于(同步中断)6.用户程序通过(访问或陷阱指令)来请求操作系统为其提供某种功能的服务,如I/O操作。
7.从资源管理的角度来看,操作系统的主要功能可以分为4个模块: 进程管理、存储管理、(I/O管理、文件管理)8.实时操作系统的两个基本特征是: (实时性和可靠性)第二章选择题1.下列对进程的描述中,错误的是(进程是指令的集合)2.当一个进程被唤醒时,这意味着(该进程变为就绪状态)3.在进程管理中,当(时间片用完时),进程从阻塞状态变为就绪状态4.下列的进程状态变化中,(就绪->阻塞)变化是不可能发送的5.通常,用户进程被建立后,(随着时间片轮转而撤销与建立)6.进程控制块中包含多种信息,以下信息中不属于进程控制块中内容是(页面大小)7.下列内容不是存放在线程控制块TCB当中的是(页表指针)8.在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区,所谓临界区是指(一段程序)9.用P、V来管理临界区时,信号量的初值应定义为(1)10.若P、V操作的信号量S初值为1,当前值为-2,则表示等待信号量S的进程个数为(2个)11.设与某资源相关联的信号量初值为3,当前值为1,若M表示该资源的可用个数,N表示等待该资源的进程个数,则M、N分别为(1、0)12.用V操作唤醒一个等待进程时,被唤醒进程的状态变为(就绪)13.对于两个并发进程,设互斥信号量为mutex,若mutex=0,则(表示有一个进程进入临界区)14.下列叙述中正确的是(进程同步是指某些进程之间在逻辑上的相互制约关系)15.在进程调度算法中,(先来先服务算法)属于不可抢占的调度方式16.在下列调度算法中,不会出现"饥饿"(sttarvation)情况的是(时间片轮转算法)17.支持多道程序设计的操作系统在运行过程中,为了实现CPU的共享,会不断地选择新进程来运行。
5.何谓脱机I/O和联机I/O?答:脱机I/O:程序和数据的输入和输出都是在外围机的控制下完成的在脱离主机的情况下进行的。
联机I/O:是指程序和数据的输入输出都是在主机的直接控制下进行的。
了解:【假脱机:在联机情况下实现的同时操作的技术。
】11.OS有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
13. 什么是时分复用技术?举例说明它能提高资源利用率的根本原因是什么。
答:时分复用技术:将资源在不同的时间片内分配给各进程以使该资源被重复利用,从而提高资源的利用率。
原因: 如采用时分复用技术的虚拟处理机,能够在不同的时间片内处理多个用户的请求,从而使得用户感觉自己独占主机,而处理机在这期间也被充分的利用。
了解:空分复用技术:让同一个频段在不同的空间内得到重复利用,称之为空分复用。
2. 画出下面四条诧句的前趋图: S1:a=x+y;S2:b=z+1; S3:c=a-b ;S4:w=c+1;6.试从动态性,并发性和独立性上比较进程和程序。
答:(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。
进程有一定的生命期,而程序只是一组有序的指令集合,是静态实体。
(2)并发性是进程的重要特征,同时也是OS 的重要特征。
引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。
(3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。
对于未建立任何进程的程序,不能作为独立单位参加运行。
11.试说明进程在三个基本状态之间转换的典型原因。
答:(1)就绪状态→执行状态:进程分配到CPU 资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O 请求 (4)阻塞状态→就绪状态:I/O 完成了解:三个基本状态是什么:(1)就绪状态 (2)执行状态 (3)阻塞状态第三章1.高级调度不低级调度的主要仸务是什么?为什么要引入中级调度? 答:高级调度的主要任务:用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程插入就绪队列上,准备执行。
习题一1、什么是操作系统?操作系统与普通的程序工作方式有何不同?操作系统是一个大型的程序系统,它负责计算机系统软、硬件资源的分配和管理;控制和协调并发活动;提供用户借口,使用户获得良好的工作环境。
操作系统资源管理的目标是提高系统资源的利用率和方便用户使用。
操作系统实际上是一组计算机程序,与普通的程序工作方式相同。
主要区别在于程序的意图和运行模式不同。
操作系统控制CPU和其它系统资源的使用,并调度CPU运行普通程序的时间。
OS的程序在核心态(kernel mode)下运行,硬件保护它免受用户程序的破坏;而应用程序都在用户态(user mode)下运行,它们不受硬件保护。
2、批处理系统与分时系统各有那些特点?为什么一般而言分时系统对交互式用户的响应比较快?批处理系统:先将程序加载到内存中然后再由CPU执行。
时系统:分时系统是把处理机时间划分成很短的时间片(如几百毫秒)轮流地分配给各个联机作业使用,如果某个作业在分配的时间片用完之前还未完成计算,该作业就暂时中断。
分时系统由于是时间片轮转来运行程序,所以比多道处理系统响应更快。
3、操作系统的主要特征是什么?操作系统的特征有:并发性,共享性,不确定性,虚拟性。
4、操作系统的主要功能是什么?存储器管理的功能处理机管理的功能设备管理的功能文件管理的功能5、多道程序执行时的特征是什么?需要多道程序设计的主要原因是什么?特征:(1)多道:计算机内存中同时存放几道相互独立的程序。
(2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。
(3)微观上串行:从微观上看,内存中的多道程序轮流地或分时地占有处理机,交替执行(单处理机情况)原因:改善了输入输出量少,外围设备空闲、主机空闲6、何谓脱机I/O和联机I/O?(I/O输入输出)脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
(完整版)操作系统课后题答案课本课后题部分答案第⼀章1.设计现代OS的主要⽬标是什么?答:(1)有效性(2)⽅便性(3)可扩充性(4)开放性2.OS的作⽤可表现在哪⼏个⽅⾯?答:(1)OS作为⽤户与计算机硬件系统之间的接⼝(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象13.OS有哪⼏⼤特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
14.处理机管理有哪些主要功能?它们的主要任务是什么?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;进程管理:为作业创建进程,撤销已结束进程,控制进程在运⾏过程中的状态转换。
进程同步:为多个进程(含线程)的运⾏进⾏协调。
通信:⽤来实现在相互合作的进程之间的信息交换。
处理机调度:(1)作业调度。
从后备队⾥按照⼀定的算法,选出若⼲个作业,为他们分配运⾏所需的资源(⾸选是分配内存)。
(2)进程调度:从进程的就绪队列中,按照⼀定算法选出⼀个进程,把处理机分配给它,并设置运⾏现场,使进程投⼊执⾏。
15.内存管理有哪些主要功能?他们的主要任务是什么?北京⽯油化⼯学院信息⼯程学院计算机系3/48《计算机操作系统》习题参考答案余有明与计07和计G09的同学们编著 3/48答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。
内存分配:为每道程序分配内存。
内存保护:确保每道⽤户程序都只在⾃⼰的内存空间运⾏,彼此互不⼲扰。
地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。
内存扩充:⽤于实现请求调⽤功能,置换功能等。
16.设备管理有哪些主要功能?其主要任务是什么?答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。
主要任务: 完成⽤户提出的I/O 请求,为⽤户分配I/O 设备;提⾼CPU 和I/O 设备的利⽤率;提⾼I/O速度;以及⽅便⽤户使⽤I/O设备.17.⽂件管理有哪些主要功能?其主要任务是什么?答:⽂件管理主要功能:⽂件存储空间的管理、⽬录管理、⽂件的读/写管理和保护。
操作系统课后习题答案第一章o引论1.设计现代OS的主要目标是什么方便性,有效性,可扩充性和开放性.2.OS的作用可表现为哪几个方面a.OS作为用户与计算机硬件系统之间的接口;b.OS作为计算机系统资源的管理者;c.OS作为扩充机器.4.试说明推动多道批处理系统形成和发展的主要动力是什么不断提高计算机资源利用率和系统吞吐量的需要;5.何谓脱机I/O和联机I/Oa.脱机输入输出方式(Off-LineI/O)是为了解决人机矛盾及CPU和I/O设备之间速度不匹配而提出的.它减少了CPU的空闲等待时间,提高了I/O速度.具体内容是将用户程序和数据在一台外围机的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,在直接从磁带机高速输入到内存,从而大大加快了程序的输入过程,减少了CPU等待输入的时间,这就是脱机输入技术;当程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速把结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是脱机输出技术.b.若这种输入输出操作在主机控制下进行则称之为联机输入输出方式.6.试说明推动分时系统形成和发展的主要动力是什么用户的需要.即对用户来说,更好的满足了人-机交互,共享主机以及便于用户上机的需求.7.实现分时系统的关键问题是什么应如何解决a.关键问题:及时接收,及时处理;b.对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输入的数据;---对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行一次.8为什么要引入实时操作系统更好地满足实时控制领域和实时信息处理领域的需要.12试从交互性,及时性和可靠性方面,将分时系统与实时系统进行比较.a.分时系统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统虽然也有交互能力,但其交互能力不及前者.b.实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的.c.实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高.13OS具有哪几大特征它的最基本特征是什么a.并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(Aynchronim).b.其中最基本特征是并发和共享.14处理机管理具有哪些功能它们的主要任务是什么a.进程控制,进程同步,进程通信和调度.b.进程控制的主要任务是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换.---进程同步的主要任务是对诸进程的运行进行调节.---进程通信的任务是实现在相互合作进程之间的信息交换.---调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新进程,把处理机分配给它,并为它设置运行现场,是进程投入运行.15内存管理有哪些主要功能它们的主要任务是什么a.主要功能:内存分配,内存保护,地址映射和内存扩充等.b.内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,以减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要.---内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰.---地址映射的主要任务是将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址.---内存扩充的主要任务是借助虚拟存储技术,从逻辑上去扩充内存容量.16设备管理有哪些主要功能其主要任务是什么a.主要功能:缓冲管理,设备分配和设备处理,以及虚拟设备等.b.主要任务:完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备.17文件管理有哪些主要功能其主要任务是什么a.主要功能:对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护.b.主要任务:对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性.18是什么原因使操作系统具有异步性特征a.程序执行结果是不确定的,即程序是不可再现的.b.每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,即不可预知性.第二章2.试画出下面条语句的前趋图:S1:a=5-某;S2:b=a某某;S3:c=4某某;S4:d=b+c;S5:e=d+3.S1->S2->S4->S5......../......S33.程序并发执行为什么会产生间断性因为程序在并发执行过程中存在相互制约性.4.程序并发执行为什么会失去封闭性和可再现性因为程序并发执行时,多个程序共享系统中的各种资源,资源状态需要多个程序来改变,即存在资源共享性使程序失去封闭性;而失去了封闭性导致程序失去可再现性.5.在操作系统中为什么要引入进程概念它会产生什么样的影响为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,而引入了进程概念.影响:使程序的并发执行得以实行.6.试从动态性,并发性和独立性上比较进程和程序a.动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体.b.并发性是进程的重要特征,同时也是OS的重要特征.引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的.c.独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位.而对于未建立任何进程的程序,都不能作为一个独立的单位参加运行.7.试说明PCB的作用为什么说PCB是进程存在的唯一标志a.PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构.PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.b.在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志.8.试说明进程在三个基本状态之间转换的典型原因.a.处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态.b.当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态.c.当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态.9.为什么要引入挂起状态该状态具有哪些性质a.引入挂起状态处于5中需要:终端用户的需要,父进程的需要,操作系统的需要,对换的需要和负荷调节的需要.b.处于挂起状态的进程不能接收处理机调度.10在进行进程切换时,所要保存的处理机状态信息主要有哪些a.进程当前暂存信息;b.下一条指令地址信息;c.进程状态信息;d.过程和系统调用参数及调用地址信息.11试说明引起进程创建的主要事件.a.用户登陆;b.作业调度;c.提供服务;d.应用请求.12试说明引起进程撤消的主要事件.a.正常结束;b.异常结束;c.外界干预;13在创建一个进程时,需完成的主要工作是什么a.操作系统发现请求创建新进程事件后,调用进程创建原语Creat();b.申请空白PCB;c.为新进程分配资源;d.初始化进程控制块;e.将新进程插入就绪队列.14在撤消一个进程时,需完成的主要工作是什么a.OS调用进程终止原语;b.根据被终止进程的标志符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态;c.若被终止进程正处于执行状态,应立即中止该进程的执行,并设置调度标志为真;d.若该进程还有子孙进程,还应将其所有子孙进程予以终止;e.将该进程所拥有的全部资源,或者归还给其父进程,或者归还给系统;f.将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息.15试说明引起进程阻塞或被唤醒的主要事件是什么a.请求系统服务;b.启动某种操作;c.新数据尚未到达;d.无新工作可做.17.为什么进程在进入临界区之前,应先执行"进入区"代码,在退出临界区后又执行"退出区"代码为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为"进入区"代码;在退出临界区后,必须执行"退出区"代码,用于恢复未被访问标志.18.同步机构应遵循哪些基本准则为什么a.空闲让进.b.忙则等待.c.有限等待.d.让权等待.20.你认为整型信号量机制和记录型信号量机制,是否完全遵循了同步机构的四条准则a.在整型信号量机制中,未遵循"让权等待"的准则.b.记录型信号量机制完全遵循了同步机构的"空闲让进,忙则等待,有限等待,让权等待"四条准则.23.在生产者-消费者问题中,如果缺少了ignal(full)或ignal(empty),对执行结果会有何影响生产者-消费者问题可描述如下: varmute某,empty,full:emaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeat.produceaniteminne某tp;..wait(empty);wait(mute某);buffer(in):=ne某tp;in:=(in+1)modn;ignal(mute某);/某某某某某某某某某某某某某某某某/ ignal(full);/某某某某某某某某某某某某某某某某/ untilfale;endconumer:beginrepeatwait(full);wait(mute某);ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);/某某某某某某某某某某某某某某某某/ ignal(empty);/某某某某某某某某某某某某某某某某/conumetheiteminne某tc;untilfale;endparendend可见,生产者可以不断地往缓冲池送消息,如果缓冲池满,就会覆盖原有数据,造成数据混乱.而消费者始终因wait(full)操作将消费进程直接送入进程链表进行等待,无法访问缓冲池,造成无限等待.24.在生产者-消费者问题中,如果将两个wait操作即wait(full)和wait(mute某)互换位置;或者是将ignal(mute某)与ignal(full)互换位置结果会如何varmute某,empty,full:emaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeat..produceaniteminne某tp;.wait(empty);wait(mute某);buffer(in):=ne某tp;in:=(in+1)modn;/某某某某某某某某某某某某某某某某某某某/ ignal(full);ignal(mute某);/某某某某某某某某某某某某某某某某某某某/ untilfale;endconumer:beginrepeat/某某某某某某某某某某某某某某某某某某/ wait(mute某);wait(full);/某某某某某某某某某某某某某某某某某某/ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);ignal(empty);conumetheiteminne某tc;untilfale;endparendendwait(full)和wait(mute某)互换位置后,因为mute某在这儿是全局变量,执行完wait(mute某),则mute某赋值为0,倘若full也为0,则该生产者进程就会转入进程链表进行等待,而生产者进程会因全局变量mute某为0而进行等待,使full始终为0,这样就形成了死锁.而ignal(mute某)与ignal(full)互换位置后,从逻辑上来说应该是一样的.25.我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥.开锁原语:unlock(W):W=0;关锁原语:lock(W);if(W==1)dono_op;W=1;利用开关锁原语实现互斥:varW:emaphore:=0;beginparbeginproce:repeatlock(W);criticalectionunlock(W);remainderectionuntilfale;endparend26.试修改下面生产者-消费者问题解法中的错误: producer:beginrepeat..produceraniteminne某tp;wait(mute某);wait(full);/某应为wait(empty),而且还应该在wait(mute某)的前面某/buffer(in):=ne某tp;/某缓冲池数组游标应前移:in:=(in+1)modn;某/ignal(mute某);/某ignal(full);某/untilfale;endconumer:beginrepeatwait(mute某);wait(empty);/某应为wait(full),而且还应该在wait(mute某)的前面某/ne某tc:=buffer(out);out:=out+1;/某考虑循环,应改为:out:=(out+1)modn;某/ignal(mute某);/某ignal(empty);某/conumeriteminne某tc;untilfale;end27.试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法.设初始值为1的信号量c[I]表示I号筷子被拿(I=1,2,3,4,...,2n),其中n为自然数.end(I):BeginifImod2==1then{P(c[I]);P(c[I-1mod5]);V(c[I-1mod5]);}ele{P(c[I-1mod5]);P(c[I]);Eat;V(c[I]);V(c[I-1mod5]);}End28.在测量控制系统中的数据采集任务,把所采集的数据送一单缓冲区;计算任务从该单缓冲中取出数据进行计算.试写出利用信号量机制实现两者共享单缓冲的同步算法.intmute某=1;intempty=n;intfull=0;intin=0;intout=0;{cobeginend();obtain();coend}end(){while(1){..collectdatainne某tp; ..wait(empty);wait(mute某);buffer(in)=ne某tp;in=(in+1)modn;ignal(mute某);ignal(full);}}//endobtain(){while(1){wait(full);wait(mute某);ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);ignal(empty);culculatethedatainne某tc;}//while}//obtain29画图说明管程由哪几部分组成为什么要引入条件变量管程由三部分组成:局部于管程的共享变量说明;对该数据结构进行操作的一组过程;对局部于管程的数据设置初始值的语句.(图见P59)因为调用wait原语后,使进程等待的原因有多种,为了区别它们,引入了条件变量.30.如何利用管程来解决生产者-消费者问题(见P60)31.什么是AND信号量试利用AND信号量写出生产者-消费者问题的解法.为解决并行所带来的死锁问题,在wait操作中引入AND条件,其基本思想是将进程在整个运行过程中所需要的所有临界资源,一次性地全部分配给进程,用完后一次性释放.解决生产者-消费者问题可描述如下:varmute某,empty,full:emaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeat..produceaniteminne某tp;..wait(empty);wait(1,2,3,...,n);//1,2,...,n为执行生产者进程除empty外其余的条件wait(mute某);buffer(in):=ne某tp;in:=(in+1)modn;ignal(mute某);ignal(full);ignal(1,2,3,...,n);untilfale;endconumer:beginrepeatwait(full);wait(k1,k2,k3,...,kn);//k1,k2,...,kn为执行消费者进程除full 外其余的条件wait(mute某);ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);ignal(empty);ignal(k1,k2,k3,...,kn);conumetheiteminne某tc;untilfale;endparendend33.试比较进程间的低级通信工具与高级通信工具.用户用低级通信工具实现进程通信很不方便,因为其效率低,通信对用户不透明,所有的操作都必须由程序员来实现.而高级通信工具则可弥补这些缺陷,用户可直接利用操作系统所提供的一组通信命令,高效地传送大量的数据.第三章1.高级调度与低级调度的主要任务是什么为什么要引入中级调度a.作业调度又称宏观调度或高级调度,其主要任务是按一定的原则对外存上处于后备状态的作业进行选择,给选中的作业分配内存,输入输出设备等必要的资源,并建立相应的进程,以使该作业的进程获得竞争处理机的权利.b.进程调度又称微观调度或低级调度,其主要任务是按照某种策略和方法选取一个处于就绪状态的进程,将处理机分配给它.c.为了提高内存利用7.选择调度方式和调度算法时,应遵循的准则是什么a.面向用户的准则有周转时间短,响应时间快,截止时间的保证,以及优先权准则.b.面向系统的准则有系统吞吐量高,处理机利用率好,各类资源的平衡利用.11.在时间片轮转法中,应如何确定时间片的大小?a.系统对响应时间的要求;b.就绪队列中进程的数目;c.系统的处理能力。
1.1 存储程序式的计算机的主要特点是什么?答:是集中顺序过程控制,即控制部件根据程序对整个计算机的活动实行集中过程控制,并根据程序规定的顺序依次执行每一个操作。
集中控制:由CPU集中管理顺序性:程序计数器控制过程性:模拟人们手工操作过程1.2 批处理系统和分时系统各具有什么特点?为什么分时系统的响应比较快?答:在批处理系统中操作人员将作业成批装入计算机并由计算机管理运行,在程序的运行期间用户不能干预,因此批处理系统的特点是:用户脱机使用计算机,作业成批处理,系统内多道程序并发执行以及交互能力差。
在分时系统中不同用户通过各自的终端以及交互方式共同使用一台计算机,以计算机“分时”的方法轮流为每个用户服务。
分时系统的主要特点是:多个用户使用计算机的同时性,人机问答方式的交互性,每个用户独立使用计算机的独占性以及系统响应的及时性。
分时系统一般采用时间轮转的方法,使一台计算机同时为多个终端用户服务,因此分时系统的响应比较快。
1.4 什么是多道程序设计技术?试论述多道程序运行的特征。
答:多道程序设计技术是指同时把多个作业(程序)放入内存并允许它们交替执行和共享系统中的各类资源;当一道程序因为某种原因(如I/O请求)而暂停执行时,CPU立即转去执行另一道程序。
多道程序运行具有如下特征:多道:计算机内存中同时存放几道相互独立的程序、宏观上并行:同时进入系统的几道程序都处于运行过程中,它们先后开始了各自的运行,但都未运行完毕。
微观上串行:从微观上看,内存中的多道程序轮流或分时地占有处理机,交替执行。
1.6 操作系统的主要特征是什么?为什么会具有这样的特征?答:操作系统具备的主要特征就是并发和共享。
另外,由于操作系统要随时处理各种事件,所以它也具备不确定性。
具有这样的特性是因为为了充分利用计算机系统的资源,一般采用多个同时性用户分用的策略。
以顺序计算为基础的计算机系统要完成并处理的功能,必将导致顺序计算模型与并行计算模型的矛盾,必须解决资源共享和多任务并发执行的问题。
计算题类型:
1.重定位地址计算:
1)给定逻辑地址,计算物理地址(分段或分页,一级页表或二级页表)
2)给定逻辑地址LA,页长度,计算逻辑地址的页号和偏移
3)给定物理地址RA,页帧长度,计算物理地址的页帧号和偏移
2.有效内存访问时间计算:
给定内存访问时间、快表访问时间及快表命中率、调页时间及缺页率,计算有效内存访问时间
3.磁盘地址及容量计算:
1)给定一维的逻辑扇区编址A,柱面数C、磁头数H、扇区数S,计算物
理c、h、s
2)给定柱面数C、磁头数H、扇区数S,计算磁盘容量
4.文件系统相关计算:
1)给定inode数据结构,盘块大小,地址长度,计算文件最大容量
2)给定卷的容量,簇大小,FAT12/16/32分别需要多少个簇来存放FAT表
3)给定RAID5阵列的磁盘数量n,计算磁盘空间有效利用率
5.给定作业达到时刻、计算时间长度,调度策略,计算响应时间、周转时间
例1:在某个采用分页存储管理的系统中,假定逻辑页面和物理存储块的大小
均为1KB,主存容量为10KB。
某个用户编写的程序P共有4个页面,
被分别装入到主存的第3、4、6、8存储块中。
(1)写出P对应进程的页面映射表;
(2)当P在CPU运行时,执行了一条指令:MOV [2100],[3100]
请计算指令中的两个操作数的物理地址。
解答:(1)由于页大小为长。
页表应为:
(2
例2:在请求分页式存储管理中,假设一次内存访问时间为100ns,一次快表(TLB)访问时间为20ns,地址转换计算时的快表命中率为80%,请计算
平均有效内存访问时间为多少ns?若缺页率为1‰,且每次缺页中断处
理时间为20ms,请计算平均有效内存访问时间为多少ns?
解答:
如果快表命中(即页号在快表中),则内存访问时间A1=20+100=120ns
如果快表未命中,则内存访问时间
A2=20+100+100=220ns【含一次访问内存中页表】则平均有效内存访问时间
A=A1×80%+A2×20%=120×0.8+220×0.2=140ns
缺页率p=1‰的含义是,每1000次有效内存访问中有2次需要调页处理!
因此,请求页式存储管理过程中,平均有效内存访问时间:
T = (1-p)×A+p×20(ms)
=(1-0.001)×140 + 0.001×20000000(ns)
=139.86+20000
=20139ns
【注】1s=1000ms=1000 000us=1000 000 000ns
例3:假设一个磁盘共有2048个柱面,16个磁头,每个磁道分为64个扇区,
每个扇区容量为512字节,请计算该磁盘的总容量有多少GB?假设磁
盘的一个逻辑盘块大小为2KB,则逻辑盘块号513所对应的首个扇区
的三维物理地址(c,h,s)为多少?
解答:
(1)C=2048=2K个柱面H=16个磁头S=64个扇区/每个磁道每个扇区的容量=512字节=0.5KB
则磁盘总容量=0.5KB×C×H×S = 0.5KB×2K×16×64 = 1GB
(2)1个盘块由2KB/0.5K=4个扇区构成
因此,513号盘块的首块扇区号A=4×513=2052
s = A % S = 2052 % 64= 4
h = ⌊A / S⌋ % H = ⌊2052 / 64⌋ % 16 = 0
c = ⌊A / (S×H)⌋ = ⌊2052 / (64×16)⌋ = 2
结果=(2,0,4)
例4-1:RAID5磁盘阵列共有8块磁盘构成,请计算磁盘空间有效利用率?解答:磁盘空间有效利用率= (n-1) / n = 7 / 8 = 87.5%
例4-2:已知磁盘容量为256MB,簇大小为4KB,对FAT16格式的文件系统
来说,文件分配表应该占用多大磁盘空间?(不考虑文件系统的空间
开销)
解答:整个磁盘逻辑盘块(簇)个数= 256MB/4KB = 256×1024 / 4 = 64K个FAT16文件格式的文件分配表每项占用16bit即2B空间
因此,文件分配表占用空间= 2B×64K = 128KB
例4-3:MINIX文件系统1.0中,每个文件均有唯一的一个inode数据结构,
其中共有9个文件数据块指针zone[0..8],每个指针为short类型。
前
7个即zone[0..6]为直接数据块指针,zone[7]为一级数据块指针,zone[8]
为二级数据块指针。
而每个数据块大小为1KB。
试计算该文件系统能
够支持的最大文件是多大?
解答:数据块大小为1KB,而每个指针为short整型,级占2B空间,因此1个数据块可以有512个指针。
inode的直接数据块有7个,即可以指出7KB的空间;
inode的一级间接指针块,共有512个指针,可以指出512×1KB = 0.5MB 空间;
inode的二级间接指针块,共有512个指针,可以指出512个一级指针块,共可以指出512×512个数据块,即可以指出512×512×1KB = 0.25GB
空间。
因此,MINIX文件系统1.0的单个文件最大容量为0.25GB+0.5MB+7KB
例5:给定作业达到时刻、计算时间长度,调度策略,计算响应时间、周转时
间
采用SRFS(调度执行结果甘特图:
则响应时间(提交到第1次执行):
5
61
8
13
20
30
42
例6:在银行家算法中,系统有5个进程和3类资源。
若出现一下资源分配情况:
目前状态是否为安全状态?如果是安全状态,给出一个安全序列,否则给出死锁进程集合。
解答:
(1)P1、P3、P2、P0、P4
(2)P1、P3、P2、P4、P0
(3)P1、P3、P4、P0、P2
(4)P1、P3、P4、P2、P0
(5)P1、P4、P3、P0、P2
(6)P1、P4、P3、P2、P0
(7)P3、P1、P2、P0、P4
(8)P3、P1、P2、P4、P0
(9)P3、P1、P4、P0、P2
(10)P3、P1、P4、P2、P0
(11)P3、P4、P1、P0、P2
(12)P3、P4、P1、P2、P0
调度策略:
1.CPU调度(进程调度)
FCFS(先来先服务)、
SJF(最短作业优先)、
SRJF(最短剩余时间作业优先)、
RR(时间片轮转)
四种方式的作业(任务)调度执行结果的甘特图,并通过甘特图计算响应时间、周转时间等
2.虚拟内存的缺页置换
FIFO(先进先出);OPT(MIN)(最优置换);LRU(最近最少使用);
三种置换策略,计算缺页数及缺页率
3.磁盘调度
FCFS(先来先服务)、
SSTF(最短寻道时间优先)、
SCAN(扫描/电梯法)、
CSCAN(周期扫描法)
CLOOK(周期查看扫描)
五种调度策略的寻道移动磁道数量计算
进程状态变迁及条件
三状态、五状态、七状态
算法:
银行家算法检测死锁
哲学家进餐问题
信号量控制互斥、同步程序编写
简答题例子:
(1)解释什么是并行和并发?
答案:并行是指两个或多个活动在同一时刻同时执行的情况;
并行是指系统中存在着若干个逻辑上相互独立的程序或程序段,它们都已经被启动执行,在相对短的时间内,它们交叉地在CPU上执行的情况。
给使用者一个并行的感觉。
(2)进程与程序之间的联系与区别?
答案:进程是程序的一次执行过程,没有程序就没有进程;
程序是完成某个特定功能的一系列程序语句的集合,只有不被破坏,它就永远存在;
程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。
选择题例子:
(1)如果分时系统的时间片一定,那么( A ),则响应时间越长。
A 用户数越多
B 用户数越少
C 主存容量越大
D 主存容量越小
(2)在分时系统中,当用户数为100时,为保证响应时间不超过2s,系统设置的时间片应为(D)。
A 50ms
B 100ms
C 10ms
D 20ms
(3)若信号量S的初值为2,当前值为-1,则表示有(B)个等待进程。
A 0
B 1
C 2
D 3
判断题例子:
死锁是指系统中的全部进程都处于阻塞状态。
【×】
一个程序在执行过程中可能产生多进程。
【√】
P、V操作既可以用来实现进程间的同步,也可以实现进程间互斥。
【√】
当进程调度未能选中一个进程运行时,就绪队列和阻塞队列一定为空。
【×】。