第1章操作系统概述思考与练习题参考答案1. 选择题(1) C (2) D (3) C (4) C (5) B (6) C (7) B (8) C (9) B (10) B(11) A2. 填空题(1) 硬件软件(2) 存储管理设备管理(3) 软硬件资源(4) 批处理操作系统分时操作系统实时操作系统(5) 20ms 时间片轮转调度算法3. 判断题(1)×(2)×(3) √(4)×(5) ×(6). √(7) √(8)√4. 问答题(1) 简述操作系统的概念答:操作系统是一组能控制和管理计算机系统的硬件和软件资源,合理地组织计算机工作流程并为用户使用计算机提供方便的程序和数据的集合。
(2) 什么是批处理系统?为什么要引入批处理系统?答:批处理系统指用户的作业成批的处理,作业建立、过渡、完成都自动由系统成批完成。
因为1958~1964年,晶体管时代,计算机速度、容量、外设品种和数量等方面和第一代计算机相比都有了很大发展,计算机速度有几十倍、上百倍的提高,故使手工操作的慢速度和计算机运算的高速度之间形成一对矛盾。
只有设法去掉人工干预,实现作业自动过渡,这样就出现了成批处理。
(3) 什么叫多道程序?试述多道程序涉及技术的基本思想及特征,为什么对作业进行多道批处理可以提高系统效率?答:多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插交替运行。
当某道程序因某种原因不能继续运行下去时,管理程序就将另一道程序投入运行,这样使几道程序在系统内并行工作,可使中央处理机及外设尽量处于忙碌状态,从而大大提高计算机使用效率。
在批处理系统中采用多道程序设计技术形成多道批处理系统,多个作业成批送入计算机,由作业调度程序自动选择作业运行,这样提高了系统效率。
(4) 何为分时系统?简述其特点。
答:分时系统采用时间片轮转法,使一台计算机同时为多个终端服务。
特点:多路性。
若干个终端连接到计算机上,系统按分时原则为每个用户服务。
宏观上多用户同时工作,共享系统资源。
微观上,每个用户作业轮流在CPU上运行。
独立性。
各用户独立地使用一台终端工作,彼此互不干扰。
用户感觉自己在独占使用计算机。
及时性。
用户的请求能在较短时间内得到响应。
分时系统的响应时间指用户发出终端命令到系统响应,做出应答所需要的时间。
此时间需要在用户能接受的范围之内,通常为2至3秒。
交互性。
在分时系统中,用户能与计算机进行对话,以交互的方式进行工作。
用户可联机对文件进行编辑,对源程序进行编译、链接,对程序进行调试,运行程序等活动。
(5) 分时系统和实时系统有何不同?答:分时系统控制的主动权在计算机,计算机按一定时间间隔,以固定时间片或不固定时间片去轮流完成多个提交的任务,只是在用户反应相对较慢时,不感到机器“走开”。
而实时系统控制的主动权在用户,用户规定什么时间要计算机干什么,计算机不能“走开”。
分时系统通用性强,交互性强,及时响应性要求一般(通常数量级为秒);实时系统往往是专用的,系统与应用很难分离,常常紧密结合在一起,实时系统并不强调资源利用率,而更关心及时响应性(通常数量级为毫秒或微秒)、可靠性等。
(6) 实现多道程序解决哪些问题?答:首先包括分时使用硬件的硬件设计技术: CPU 和通道分时使用内存、只读存储器和数据通道等;通道与通道分时使用CPU 、内存、通道的公用控制部分等;同一通道中的I/O 又分时使用内存、通道等。
其次包括共享硬件和软件资源的软件设计技术:包括引入“进程”“线程”等技术。
(7) 设在内存中有三道程序A 、B 和C ,并按A 、B 、C 的优先次序运行,其在CPU 上运行时间以及I/O 时间分别为:A :计算30ms ,I/O 40ms ,计算10msB :计算30ms ,I/O 50ms ,计算10msC :计算20ms ,I/O 40ms ,计算20ms试画出按多道程序运行的时间关系图(调度程序的执行时间忽略不计),完成这三道程序共花多少时间?比单道运行节省多少时间?(假定运行环境为单CPU ,每个程序所用的I/O 设备相同,比如打印机)答:三道程序共花180ms ,比单道(80+90+80)ms=250ms 节省了110ms 。
(8) 简述Winodws 操作系统的发展历史。
(略) (9) 简述Linux 操作系统的发展历史。
(略)(10) 简述UNIX 系统操作系统的发展历史。
(略)第2章 处理器管理 思考与练习题参考答案1. 选择题(1) A (2) D (3)B (4) C (5)D (6) D (7) C (8) B (9) D (10) C(11) D(12)A(13)C(14) D(15) B(16) D2. 填空题(1) 数据段 PCB(2) 运行时间短 等待时间长I/O0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 t/msA B C A 空闲 B 空闲 C图1-1 三道作业并发运行情况(3) 并行并发。
(4) 资源分配调度(5) 阻塞(6) 共享存储区消息机制(7) 阻塞(8) 向前推进。
(9) 后备(10) 可剥夺非剥夺3. 判断题(1)√(2)×(3) √(4) ×(5) ×(6) ×(7) ×(8) ×(9)√(10)√(11) ×(12) ×(13) ×(14) ×(15) ×4. 问答题(1) 简述进程和程序之间的区别和联系。
答:进程和程序是既有区别又有联系的两个概念。
1) 进程是动态的,程序是静态的。
程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。
离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。
程序可看作是电影的胶片,进程可以看作电影院放电影的过程。
2) 一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。
3) 一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。
4) 程序可以长期保存,进程只能存在于一段时间。
程序是永久存在的,而进程有从被创建到消亡的生命周期。
(2) 为什么将进程划分成运行、就绪和阻塞三个基本状态?答: 根据多道程序执行的特点,进程的运行是走走停停的。
因此进程的初级状态应该是执行和等待状态。
处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它某种事件的发生。
但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。
因此,将等待状态的进程分成两部分,一部分是放在处理机上就能立即执行,这就是就绪的进程;另一部分是仍需等某种事件发生的进程,即使放在处理机上也不能执行的进程,这就是阻塞进程。
(3) 进程控制块PCB的作用是什么?它主要包含哪些内容?答: 操作系统管理的进程是多种多样的,要对这些进程实施有效的管理,必须对进程进行抽象。
为了便于系统控制和描述进程的活动,在操作系统核心为进程定义了一个进程控制块PCB。
PCB用于描述进程的基本情况以及进程运行和变化的过程,它与进程一一对应。
当系统创建进程时,为进程分配一个PCB;在进程运行过程中,系统通过PCB对进程实施管理和控制;进程结束时,系统将收回PCB。
PCB中的内容主要包括调度信息和现场信息两大部分。
调度信息包括进程名、进程号、优先级、当前状态、资源信息、程序和数据的位置信息、隶属关系和各种队列指针信息等。
现场信息主要包括程序状态字、时钟寄存器和界限寄存器等描述进程运行情况的信息。
(4) 简述创建进程的大致过程解创建一个进程大体分以下几步:1) 申请一个空白的PCB和唯一的进程标识号pid2) 为新进程分配除CPU以外的资源,包括内存空间;3) 初始化PCB中的数据项,包括标志信息、状态信息、控制信息等;4) 将新进程的PCB插入系统的就绪队列。
(5) 为何引入线程?线程与进程的关系是什么?答:在操作系统中引入进程的目的,是为了使多个程序并发执行,以改善资源利用率及提高系统的吞吐量;那么,在操作系统中再引入线程则是为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性。
线程具有许多传统进程所具有的特征,故又称为轻型进程(Light-Weight Process)或进程元;而把传统的进程称为重型进程(Heavy-Weight Process),它相当于只有一个线程的任务。
在引入了线程的操作系统中,通常一个进程都有若干个线程,至少需要有一个线程。
(6) 何谓进程通信?试列举几种进程通信方式。
答:进程之间的信息交换,就是进程通信。
进程同步与互斥,就实现了进程之间交换信息,但由于交换的信息量少,可以看作是低级通信。
并发执行的进程,有交换信息的各种需要,除同步与互斥外,还可采用其它的通信方式。
介绍几种常用的通信方式:共享存储、消息传递、共享文件。
(7)进程的三个基本的转换如下图所示,图中1、2、3、4分别代表某种类型状态变迁,请分别回答:1)什么事件引起各状态之间的变迁?2)系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,试判断变迁3——1、2——1、3——2、4——1、3——4是否存在因果关系?答:1) 引起各变迁的事件如下:变迁1:正在执行的进程从处理机上退下,导致进程调度程序从就绪状态的进程中选取一个进程。
变迁2:正在执行的进程所分配的时间片用完,导致进程从处理机上退到就绪状态;或者在可抢占优先级的进程调度中,有更高有先级的进程进入就绪状态,导致正在执行的进程从执行状态退到就绪状态。
变迁3:进程需要等待事件的发生;变迁4:进程所等待的某事件发生了(如I/O完成);2) 可能发生的因果变迁3——1:由于处于运行状态的进程转入阻塞状态,进程调度程序根据调度算法,又从就绪队列中选择一个进程投入运行;2——1:由于处于运行状态的进程时间片用完,重新转入就绪状态,从而使进程调度程序又从就绪队列中选择一个进程投入运行;3——2:此种变化不存在;4——1:4的发生与1的发生没有必然关系;3——4:3的发生和4的发生没有必然关系。
(8) 下表给出了4个作业J1、J2、J3、J4的提交时间、运行时间,试分别采用FCFS、SJF和HRRF调度算法,求出在各种作业调度算法下作业的平均周转时间和平均带权周转时间。
表1 4个作业的提交时间和运行时间表解:采用FCFS作业调度算法时,根据这4个作业提交作业的先后顺序依次运行,每个作业的周转时间和带权周转时间如表2所示。