操作系统习题集南京晓庄学院操作系统习题答案解析.docx
《操作系统习题集南京晓庄学院操作系统习题答案解析.docx》由会员分享,可在线阅读,更多相关《操作系统习题集南京晓庄学院操作系统习题答案解析.docx(164页珍藏版)》请在冰点文库上搜索。
操作系统习题集南京晓庄学院操作系统习题答案解析
操作系统基础
习题解析及实验指导
第一篇操作系统基础知识点及习题解答
该部分罗列操作系统基础各章节的学习要点,指出学习的重点和难点,在回顾相关知识点的基础上,对典型习题进行分析和解答。
第一章操作系统引论
本章学习要点
【1】掌握操作系统的概念与作用
【2】掌握操作系统的基本类型与特点
【3】掌握操作系统的特征与功能
【4】深入领会多道程序设计技术
本章学习难点
【1】多道程序设计技术
【2】操作系统的特征
知识点回顾
一.操作系统的概念
一个完整的计算机系统由计算机硬件系统和计算机软件系统两部分组成。
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统功能的第一次扩充。
应用程序
实用程序
操作系统
计算机硬件(裸机)
用户
图1-1计算机系统的层次图
1.操作系统(OperatingSystem,简称OS)的作用
(1)OS作为用户与计算机硬件系统之间的接口
OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
或者说,用户在OS的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。
(2)OS作为计算机系统资源的管理者
这是广为流行的一个关于OS作用的观点。
在一个计算机系统中,通常都包含了各种各样的硬件和软件资源。
归纳起来可将资源分为四类:
处理器、存储器、I/O设备以及信息(数据和程序)。
OS的主要功能正是针对这四类资源进行有效的管理。
(3)OS用作扩充机器
对于一台完全没有软件配置的计算机系统(裸机),即使功能再强,也必定难于使用。
OS在裸机上分别覆盖I/O设备管理软件、文件管理软件等,此时用户所看到的机器,将是一台比裸机功能更强、使用更方便的机器。
通常把覆盖了软件的机器称为扩充机器或虚机器。
在计算机系统上覆盖上一层软件后,系统功能便增强一级。
由于OS自身包含了若干层软件,因此当在裸机上覆盖上OS后,便可获得一台功能显著增强,使用极为方便的多层扩充机器或多层虚机器。
2.操作系统的概念
操作系统是一组控制和管理计算机硬件和软件资源、合理组织计算机的工作流程,方便用户使用的程序的集合。
操作系统是裸机上的第一层软件,是对硬件功能的首次扩充。
二.操作系统的发展过程
人工操作方式→脱机输入输出技术→批处理技术→分时、实时系统→通用操作系统→微机操作系统→网络操作系统→分布式操作系统
1.脱机输入输出技术
为解决人工操作阶段存在的人机矛盾以及CPU与I/O速度不匹配的矛盾,引入脱机输入输出技术。
系统中除主机外配置一台外围机(又称卫星机),它只与输入输出设备打交道,不与主机相连,即脱机。
用户程序与数据可以在外围机控制下(脱离主机控制)预先从低速设备输入到磁带上,CPU需要时再从磁带上输入到主机,即脱机输入技术,以解决CPU与I/O速度不匹配的矛盾。
类似地,脱机输出技术通过外围机完成数据从主机到磁带,再到低速输出设备上的输出操作。
由于主机CPU只与高速的输入输出设备打交道,从而有效地减少了CPU等待低速设备输入输出的时间。
主机
输入带
输出带
纸带机
打印机机
外围机
输入带
输出带
图1-2脱机输入/输出方式
2.批处理技术
批处理技术是指计算机对一批作业自动进行处理的一种技术。
早期的计算机系统为了充分利用系统资源,通常把一批作业以脱机输入方式输入到磁带上,并在系统中配置监督程序,依次将作业装入内存,控制磁带上的作业自动地、一个接一个地进行处理,这样就形成了早期的单道批处理系统。
3.多道程序设计技术
为进一步改进单道批处理系统中CPU和内存利用率较低的问题,引进多道程序设计技术。
多道程序设计技术同时将多个作业放入内存并允许作业交替执行,共享系统中的资源。
宏观上并行,微观上串行。
多道程序设计技术能有效提高系统的吞吐量和改善资源利用率,但是为了协调内存中运行的多道程序,应妥善解决处理机分配、内存分配、设备分配、文件安全、作业组织的问题。
为解决上述问题而设置的一组软件就形成了操作系统。
程序A
输入设备
输出设备
CPU
程序B
程序A
程序B
程序A
程序B
运行处理
输入数据
运行处理
输出数据
运行处理
输出数据
等待CPU
运行处理
图1-3多道程序运行情况
三.操作系统的分类
1.单用户操作系统
2.批处理操作系统
(1)单道批处理系统
把一批作业以脱机方式输入到磁带上,在系统中配上监督程序,在它的控制下使这批作业能自动地一个接一个地顺序处理。
对作业的处理是成批进行的、且内存中始终只保持一道作业。
(2)多道批处理系统
♉引入多道批处理的目的
a)提高CPU的利用率
b)提高内存和I/O设备的利用率
c)增加系统吞吐量
♉多道批处理的特征——多道性、无序性、调度性
♉多道批处理的优缺点
资源利用率高,系统吞吐量大,但平均周转时间长,无交互能力。
3.分时操作系统
在分时操作系统中,一台计算机和多台终端相连,每个用户通过自己的终端向系统发出命令请求,系统分析并完成各用户的请求。
(1)单道分时系统
内存中只驻留一道作业,当其运行一个时间片后,调至外存,再从外存上选一个作业进入内存。
作业频繁调进调出,开销大,系统性能较差。
(2)具有“前台”和“后台”的分时系统
内存被固定地划分为“前台区”和“后台区”。
前台区存放按时间片“调进”和“调出”的作业流,后台区存放批处理作业。
仅当前台无作业运行时,方才运行后台的作业。
(3)多道分时系统
内存中的多道作业轮流获得一个时间片来运行。
分时系统的特征具有多路性、独立性、及时性和交互性等特征。
4.实时操作系统
能使计算机系统接收到外部信号后及时进行处理,并且在严格的规定时间内处理结束,再给出反馈信号的操作系统。
实时操作系统分为实时控制系统和实时信息处理系统。
例如生产过程控制系统、航空订票系统等。
实时系统具有多路性、独立性、及时性、交互性和可靠性等特征。
实时控制系统是以计算机为中心的生产过程控制系统,又称为计算机控制系统,要求快速的响应时间,可靠性要求高。
实时信息处理系统在响应时间上和分时系统处于同一级别,但更强调可靠性和安全性,交互性差。
批处理操作系统、分时操作系统、实时操作系统是三种基本的操作系统类型。
如果一个操作系统兼有三者或其中二者的功能,则该操作系统称为通用操作系统。
5.其它操作系统
包括网络操作系统、分布式操作系统等。
四.操作系统特征——并发、共享、虚拟、异步性
1.并发
并发是指两个或多个事件在同一时间间隔内发生。
宏观上是同时的,微观上是交替的。
程序的并发执行能有效改善系统资源的利用率,但会使系统复杂化。
要注意区别并发和并行两个概念。
2.共享
系统中的资源可供内存中多个并发执行的进程共同使用。
根据资源的不同属性,可分为两种资源共享方式:
互斥共享和同时访问。
并发和共享是操作系统的两个最基本的特征,两者之间互为存在的条件。
一方面,资源的共享是以程序的并发执行为前提的;另一方面,系统若不能对资源共享实施有效管理,则程序的并发执行则无法实现。
3.虚拟
通过某种技术把一个物理实体变成若干个逻辑上的对应物,物理实体是实的,即实际存在,而后者是虚的,是用户的感觉。
例如虚拟内存、虚拟设备等。
4.异步性
在多道程序环境下,多个进程并发执行,但由于资源等因素的限制,内存中的每个进程何时执行,何时暂停,以怎样的速度向前推进,每道程序需多少时间才能完成,都是不可预知的,进程以异步的方式运行。
但只要运行环境相同,作业经过多次运行,都会获得完全相同的结果。
五.操作系统的功能
操作系统引入多道程序设计技术,一方面改善了系统资源的利用率,但另一方面也引发了复杂的系统管理问题,诸如内存中的作业如何存储,系统资源如何共享等,操作系统必须具有控制和管理各种并发活动的能力,合理组织计算机的工作流程,有效地提高各类资源的利用率。
1.处理机管理
主要任务是对处理机进行分配,并对其进行有效的控制和管理。
在多道程序环境下,处理机的分配和运行是以进程为基本单位,又称进程管理。
(1)进程控制——为作业创建进程,撤消已结束的进程,以及控制进程的状态转换。
(2)进程同步——对诸进程的运行进行协调(互斥和同步)。
(3)进程通信——实现相互合作进程之间的信息交换。
(4)进程调度——从就绪队列中,按照一定的算法选出一新进程,分配处理机,设置运行现场,使之投入运行。
2.存储器管理
存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及从逻辑上来扩充内存。
(1)内存分配——为每道程序分配内存空间,提高内存的利用率。
(2)内存保护——确保每道用户作业都在自己的内存空间中运行,互不干扰。
(3)地址映射——将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。
(4)内存扩充——借助虚拟技术,从逻辑上扩充内存容量。
3.设备管理
主要任务是完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备。
(1)缓冲管理——管理各种类型的缓冲区。
(2)设备分配——根据用户的I/O请求,分配所需设备。
(3)设备处理——实现CPU和设备控制器之间的通信。
(4)设备独立性和虚拟设备
4.文件管理
程序和数据都是以文件的形式存储在存储介质上。
文件管理的主要任务是对用户文件和系统文件进行管理,方便用户使用,保证文件的安全性。
(1)文件存储空间的管理
(2)目录管理——建立目录项,实现按名存取、实现文件共享。
(3)文件的读、写管理和存取控制
(4)文件保护
5.作业管理
(1)操作系统接口
(2)作业的控制方式
六.操作系统的结构——模块接口法、有序分层法
1.模块接口法
按功能划分模块,模块间可以不加控制的相互调用和转移。
这种结构紧凑、接口简单直接,系统效率高;但模块间的调用随便,独立性差,系统结构不清晰。
2.有序分层法
A0,A1……Ai,Ai+1……An
A0宿主系统(底),An是目标系统(顶)。
既可采用自底向上法,逐步扩充,也可采用自顶向下法,逐层分解。
(1)单向依赖
(2)同一层中各模块的功能应相近
(3)与硬件紧密相关的模块安排在A0层,便于移植
(4)运行频率较高的公用模块应放置在较低的层次
(5)由于设计目标不同而变化的部分放在外层,增强系统的适应性
习题分析
一.判断改错题(判断由下划线标明的关键词的叙述是否正确,正确的打√,错误的打×并改正。
)
(1)实时系统只能应用于生产控制系统,不能应用于信息处理系统。
()
(2)并发含有“同时进行”的概念,是指两个或者是多个事件在同一时刻发生。
()
(3)操作系统虚拟机在逻辑功能上与裸机一样,具有一个物理实体。
()
(4)对用户而言,操作系统是一种人机交互的环境,对设计者而言,它是一种强功能的系统资源管理程序。
()
(5)资源的共享是以程序的并行执行为条件的,没有程序的并行执行,就没有资源的共享。
()
(6)计算机系统的资源包括程序和数据两大部分。
()
(7)若把计算机系统分为若干层次,则按由上而下顺序可分为应用系统与应用软件、操作系统、其它系统软件和裸机。
()
(8)批处理控制程序解决了作业间的自动转换,减少了时间浪费,尤其是主机CPU时间的浪费,如果一个用户的计算作业非常庞大,也不会独自一直占据CPU。
()
习题解答:
(1)错;应为:
实时系统能应用于生产控制系统,也能应用于信息处理系统。
(2)错;应为:
……是指两个或者是多个事件在一段时间间隔内同时发生。
(3)错;应为:
操作系统虚拟机在逻辑功能上与裸机不同,但只具有一个物理实体。
(4)对;
(5)错;应为:
资源的共享是以程序的并发执行为条件的,没有程序的并发执行,就没有资源的共享。
(6)错;应为:
计算机系统的资源包括硬件资源和软件资源两大部分。
(7)错:
应为:
若把计算机系统分为若干层次,则按由上而下顺序可分为应用系统与应用软件、其它系统软件、操作系统和裸机。
(8)错;应为:
……,尤其是主机CPU时间的浪费,如果一个用户的计算作业非常庞大,就会独自一直占据CPU。
(9)对;
二.填空题
(1)实时含有立即、及时之意,因而是实时系统最关键的因素。
(2)操作系统的层次结构中,与或运行频率较高的模块都安排在紧靠硬件的软件层中,这一部分通常称为,它在执行基本操作时,往往是利用操作来实现,该操作具有原子性。
(3)UNIX是一个真正的用户、任务的操作系统。
(4)如果一个操作系统兼有、和三者或其中两者的功能,这样的操作系统称为通用操作系统。
(5)实现多道程序设计必须妥善解决三个问题:
、和系统资源的管理和调度。
(6)批处理系统的主要优点是,资源利用率高,系统开销小,它的缺点在于作业处理的,用户交互能力较弱。
(7)操作系统是对计算机进行的程序,是计算机和的接口。
(8)提供网络通讯和网络资源共享功能的操作系统称为操作系统。
(9)对系统总体设计目标来说,批处理系统注重提高计算机的效率,尽量增加系统的,分时系统应保证用户的,而实时系统在及时响应和处理的前提下,再考虑。
(10)在主机控制下进行的输入/输出操作称为操作。
(11)在计算机系统中,是整个系统硬件的核心和基础,而在计算机软件系统中,
具有同样的核心和基础作用。
习题解答:
(1)响应时间;
(2)硬件紧密相关,内核,原语;
(3)多,多,网络;
(4)批处理操作系统、分时操作系统、实时操作系统;
(5)文件,作业;
(6)系统吞吐量大,平均周转时间较长;
(7)控制和管理,用户;
(8)网络;
(9)吞吐量,交互性,与用户的交互性;
(10)联机I/O操作;
(11)CPU,操作系统;
三.简答题
1.简述操作系统在计算机系统中的位置。
答:
操作系统OS是运行在计算机硬件系统上的最基本的系统软件。
它在计算机系统中位于计算机裸机和计算机用户之间,为系统软件和用户应用软件提供了强大的支持。
2.简述描述操作系统的两种主要观点。
答:
描述操作系统有两种主要观点,一种是虚拟机的观点——装有操作系统的计算机极大地扩展了原计算机的功能,给用户提供了一个友好的、易于操作的界面,对用户来说,好像是一个扩展了的机器,即一台虚拟机器。
另一种是资源管理的观点,操作系统完成对处理机、存储器、I/O设备等硬件资源和文件等软件资源的管理。
3.什么是操作系统?
它有什么基本特征?
答:
操作系统是一组控制和管理计算机硬件和软件资源、合理组织计算机的工作流程,以及方便用户的程序的集合。
操作系统的基本特征是:
并发——是指两个或多个事件在同一时间间隔内发生。
宏观上是同时的,微观上是交替的。
共享——系统中的资源可供内存中多个并发执行的进程共同使用。
根据资源的不同属性,可分为两种资源共享方式:
互斥共享和同时访问。
虚拟——通过某种技术把一个物理实体变成若干个逻辑上的对应物,物理实体是实的,即实际存在,而后者是虚的,是用户的感觉。
异步性——在多道程序环境下,多个进程并发执行,但由于资源等因素的限制,内存中的每个进程何时执行,何时暂停,以怎样的速度向前推进,每道程序需多少时间才能完成,都是不可预知的,进程以异步的方式运行。
但只要运行环境相同,作业经过多次运行,都会获得完全相同的结果。
4.多道程序设计时应注意什么问题?
答:
处理机管理问题——多道程序之间如何分配CPU,使CPU既能满足各程序运行的需要,又能提高处理机的利用率。
内存管理问题——为每道程序分配必要的内存空间,并防止程序遭破坏。
I/O设备管理——分配为多道程序共享的I/O设备,方便用户使用,提高设备利用率。
文件管理问题——组织大量的程序和数据,便于用户使用,保证数据的安全和一致。
作业管理问题——对系统中各种类型的作业进行组织。
四.练习题
1.实时操作系统必须在( )内处理来自外部的事件。
A.一个机器周期 B.被控制对象规定的时间
C.周转时间 D.时间片
2.操作系统中最基本的两个特征是( )
A.并发和不确定性 B.并发和共享 C.共享和虚拟 D.虚拟和不确定性
3.分时系统追求的目标是( )
A.充分利用I/O设备 B.快速响应用户
C.提高系统吞吐量 D.充分利用内存
4.批处理系统的主要缺点是( )
A.系统吞吐量小 B.CPU利用率不高 C.资源利用率低 D.无交互能力
5.在主机控制下进行的输入输出操作称为( )操作。
6.如果操作系统具有很强的交互性,可同时供多个用户使用,系统响应比较及时,则属于( )类型;如果系统可靠,响应及时但仅有简单交互能力则属于( )类型;如果操作系统在用户提交作业后不提供交互能力,它追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于( )类型。
7.设内存中有三道程序A、B、C,它们按A、B、C的优先次序执行。
它们的计算和I/O操作时间
操作\程序
A
B
C
计算
30
60
20
I/O
40
30
40
计算
10
10
20
如下表所示(单位:
ms)。
假设三道程序使用相同设备进行I/O操作,即程序以串行方式使用设备。
试画出单道运行和多道运行的时间关系图(调度程序的时间忽略不计)。
在两种情况下,完成三道程序各要花多少时间?
8.试比较分时系统和实时系统。
9.简述DOS、Windows和UNIX操作系统的特点。
第二章进程管理
本章学习要点
【1】掌握进程的定义和特征
【2】深入领会进程状态及其状态转换的原因
【3】熟练运用信号量解决进程同步问题
【4】掌握调度的类型与方式
【5】掌握常用的进程调度算法
【6】掌握死锁的相关知识
【7】深入领会银行家算法
本章学习重点和难点
【1】运用信号量解决进程同步问题
【2】进程调度算法
【2】银行家算法
知识点回顾
多道程序设计技术的引入,实现了资源的共享和程序的并发执行。
为了描述并发执行的动态特点,引入进程的概念。
进程是可并发执行的程序在一个数据集合上的运行过程,具有动态性、并发性、独立性、异步性和结构特征。
进程管理包括进程控制、进程同步、进程通信和进程调度四个主要方面。
一.前趋图和程序执行
1.前趋图是一个有向无循环图,以描述结点(语句、程序段或进程)之间的前趋关系,前趋关系描述了结点执行的先后次序。
2.程序顺序执行和并发执行的特征
✧程序的顺序执行
1
4
6
5
311
2
数据1:
1输入2计算3打印数据2:
4输入5计算6打印
对较大程序的若干个程序段,或者某个程序段的多条语句,执行时必须按照某种先后次序逐个执行。
具备顺序性、封闭性和可再现性。
✧
C1
I1
P2
P3
I3
C3
C2
I2
P1
程序的并发执行
I输入
C计算
P输出
同一数据的不同操作之间、不同数据的同一操作之间存在着前趋关系。
但不同数据的不同操作之间可考虑并发执行。
例:
I3、C2、P1,可并发执行。
并发执行出现了新特征:
间断性、失去封闭性和不可再现性。
3.程序并发执行的条件。
(Bernstein条件)
R(pi):
读集,表示程序pi在执行期间所需参考的所有变量的集合。
W(pi):
写集,表示程序pi在执行期间要改变的所有变量的集合。
若两个进程p1和p2能满足下述Bernstein条件,它们便能并发执行,且具有可再现性。
R(p1)∩W(p2)∪R(p2)∩W(p1)∪W(p1)∩W(p2)={}
二.进程的描述
1.进程的定义和特征
进程是可并发执行的程序在一个数据集合上的运行过程。
具有以下特征:
✧动态性——是进程最基本的特性。
进程有一定的生命期,由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤消而消亡。
而程序是一组有序指令的集合,是静态实体。
✧并发性——多个进程在一段时间间隔内同时运行。
✧独立性——进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。
✧异步性——进程按各自独立的、不可预知的速度向前推进。
✧结构特征——进程实体由程序段、数据段和进程控制块PCB组成。
✧
2.进程的基本状态及其转换
就绪
执行
阻塞
A
B
C
D
A:
进程调度B:
发生某事件无法执行
C:
时间片到或优先级高的进程到达D:
阻塞的事件消失
3.进程控制块
✧进程控制块是进程实体的一部分,它记录了操作系统所需的、用于描述进程情况及控制进程运行所需的全部信息。
✧进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。
✧PCB是进程存在的唯一标志。
创建新进程时建立一个PCB,进程结束时回收PCB。
✧PCB经常被系统访问,应常驻内存。
✧PCB的内容
Ø进程标识符信息——外部标识符、内部标识符(唯一整数)。
Ø处理机状态信息
Ø进程调度信息——进程状态、优先级等。
Ø进程控制信息——程序和数据地址、同步机制、资源清单等。
✧PCB的组织方式
Ø链接方式——相同状态的PCB,链接成一个队列。
Ø索引方式——建立索引表。
三.进程控制
1.操作系统的内核
内核是计算机硬件的第一层扩充软件,由与硬件紧密相关的模块以及运行频率较高的模块组成,常驻内存,以提高OS的运行效率。
✧支撑功能
Ø中断处理
是内核最基本的功能,它是整个操作系统赖以活动的基础。
内核只对中断进行“有限的处理”,然后转由有关进程继续处理。
Ø时钟管理
Ø原语操作
原语本身是由若干条指令构成,用于完成一定功能的一个过程。
原语是一个不可分割的原子操作。
✧资源管理功能——进程管理、存储器管理和设备管理。
2.进程的创建、终止、阻塞与唤醒
(1)进程的创建
✧进程图——是描述进程家族关系的有向树。
有向边表示了进程的创建关系,即父子关系,(注:
并不能说明前趋关系),子进程可以继承父进程所拥有的资源,父进程撤消时必须同时撤消其所有子进程。
✧引起创建进程的事件
Ø用户登录(分时系统)
Ø作业调度(批处理系统)由系统内核创建进程
Ø提供服务
Ø应用请求——应用进程创建
✧进程的创建——创建原语
申请空白PCB为进程分配资源初始化PCB插入就绪队列
(2)进程的终止——正常结束、异常结束、外界干预
(3)进程的阻塞与唤醒
✧原因——请求系统服务、启动某种操作、新数据未到达、无新工作
✧阻塞——当出现上述事件,进程无法继续执行,进程通过调用阻塞原语block把自己阻塞,是进程自身的一种主动行为。
✧唤醒——当阻塞事件结束,由发现者进程调用唤醒原语将阻塞进程唤醒,是一种被动行为。
四.进程同步
1.进程同步的基本概念
多道程序环境下,系统中的进程间可能存在两种关系:
间接制约关系——资源共享,进程同步保