操作系统教材答案陈向群杨芙清Word格式.docx
《操作系统教材答案陈向群杨芙清Word格式.docx》由会员分享,可在线阅读,更多相关《操作系统教材答案陈向群杨芙清Word格式.docx(42页珍藏版)》请在冰豆网上搜索。
多道程序设计的基本思想在内存中保持多个作业,主机可以交替的方式同时处理
多个作业,一般来说任何一道作业的运行总是要交替的使用处理器和外设子案
9.多道程序设计的度是指在任一给定时刻,单个CPU所能支持的进程数目最大值。
讨论要
确定一个特定系统的多道程序设计的度必须考虑的因素。
可以假定批处理系统中进程数量
与作业数量相同。
10.描述批处理系统响应一个执行请求需要的时间(称为响应时间),描述分时系统下的
响应时间,什么样的系统可能有较短的响应时间?
为什么?
1)就是将用户的作业组成一批作业,之后输入到计算机中,计算机依次执行每个作
业
,然后输出,即为响应时间。
2)定义这个响应时间就是:
系统对一个输入的反应时间
实时系统的反应时间
11.什么情况下批处理是比较好的策略?
什么情况下分时是比较好的策略?
现代的操作系
统往往要把两者结合,请举出这样的例子,并说明它们是怎样被结合起来的,并通过这样
的结合获得了什么好处。
常见的通用操作系统是分时系统与批处理系统结合,其原则是:
分时优先,批处理再
后,"
前台"
响应需要频繁交互的作业,如终端的要求。
“后台”处理时间性要求不强的作
。
12.操作系统的技术发展是怎样的?
从这一技术演化过程可以得到什么启发?
操作系统的发展是根据计算机硬件发展,计算机应用软件的发展而发展的,
我们发展操作系统的目标就是:
充分利用硬件,提供更好的服务。
13.请作一个调查,看看各种计算机的应用领域都在使用什么样的操作系统,他们分别是
什么类型的操作系统,调查的内容应该涵概现代操作系统的主要类别.
14.现有一下应用计算机的场合,请为其选择适当的操作系统。
1)航天航空,核变研究;
2)国家统计局数据处理中心;
3)学校学生上机学习编程4)高炉炉温控制;
5)民航定
票系统,6)发送电子邮件(在两个地区之间)
1)航天航空,核变研究:
嵌入式操作系统
2)分布式操作系统
3)个人计算机操作系统
4)实时操作系统
5)批处理操作系统
6)网络操作系统。
15.什么是Spooling技术?
他有什么用?
你认为未来先进的个人计算机会把假脱机作为一
个关键特性吗?
假脱机(SPOOLing.)技术的全称是同时得外部设备联机操作,这种技术的基本思想
是用磁盘设备作为主机的直接输入输出设备,,主机直接从磁盘上选取作业运行,作业
的执行结果
16.外壳程序(shell)是不是操作系统的一部分,为什么?
不是,它不属于操作系统内核的一部分,它是一个应用程序。
17.如果你有一个可用得类UNIX系统,例如Linux,Minix或者BSD等,而且你有足够的权限
重起或者使得系统崩溃,请编写一个shell程序作下面的实验,用该shell程序不停的产生
新进程,观察发生的事情,在运行你的shell之前,请用sync命令同步硬盘和内存中的磁
盘缓存,以免在程序运行过程中访问文件系统,注意,请不要在任何共享的系统中做这件
事情?
进程数不断增多,最后导致系统崩溃了!
重要:
18.现代操作系统的设计很讲求机制与策略的分离,已经使操作系统的结构和实现能够在
一定范围内适应不同的需要。
例如Solaris的调度器实现了进程调度的基本机制,同时它
允许通过动态调整核心参数实现不同负载下的系统性能平衡,这就是一种机制和策略的分
离,请给出一个例子,说明怎样根据调度将机制和策略分开。
请构造一种机制,允许父
进程控制子进程的调度策略。
19.有兴趣,可以去写一篇,记得写完了,发给我,我把你的文章贴上来!
硬件环境
第二章操作系统的硬件环境
1.请简述处理器的组成和工作原理。
你认为那些部分和操作系统的密切关系,为什么?
一般的处理器由运算器,控制器,一系列的寄存器以及高速缓存构成。
运算器实现
任何指令中的算术和逻辑运算,是计算机计算的核心;
控制器负责控制程序运行的流程,
包括取指令,维护CPU状态,CPU与内存之间的交互等等。
寄存器是指令在CPU内部做处理
的过程中占存数据,地址一级指令信息的存储设备,在计算机的存储系统中它具有最快的
访问速度。
加上高速缓存以及内存管理单元(MMU)
2.为了支持操作系统,现代处理器一般都提供哪两种工作状态,用来隔离操作系统和
普通程序?
两种状态各有什么特点?
答;
多数系统将处理器工作状态划分为管态和目态
管态:
操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态
目态:
用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态
3.什么是分级的存储体系结构?
它主要解决什么问题?
容量、速度和成本
三个目标不可能同时达到最优,要作权衡
存取速度快,每比特价格高
容量大,每比特价格越低,同时存取速度也越慢
解决方案:
采用层次化的存储体系结构
当沿着层次下降时
每比特的价格将下降,容量将增大
速度将变慢,处理器的访问频率也将下降
4.主存储器通常有哪两种类型?
它们各自的特点是什么?
用在哪里?
硬盘存储器,和内存存储器.
硬盘存储器:
容量大,存储速率慢,断电后,数据信息不丢失
内存存储器:
容量小,存储速率快,断电后,数据信息丢失。
5.请简述程序局部性原理。
这个原理在分级的存储体系结构中是怎么样起作用的?
时间局部性,空间局部性。
起的作用是:
提高存储系统效能这个目的。
6.什么是存储保护?
有哪些方法实现存储保护?
对主存中的信息加以严格的保护,使操作系统及其它程序不被破坏,是其正确运行的
基本条件之一
多用户,多任务操作系统:
OS给每个运行进程分配一个存储区域
操作系统提供了:
1.界限地址寄存器,存储健两个存储保护机构!
7。
呵呵,大家去翻资料把!
!
8.缓冲技术在计算机系统中起着什么样的作用?
它是如何工作的?
缓冲技术一般有三个用途,一种是用在处理器和主存储器之间的;
另一种是用在处理
器和其他外部设备之间的;
还有一种是用在设备与设备之间的通信上。
9.什么是中断?
为什么说中断对现代计算机很重要?
中断概念:
指CPU对系统中或系统外发生异步事件的响应
异步事件是指无一定时序关系的随机发生事件
如外部设备完成数据传输,实时设备出现异常等
中断机制是操作系统得以正常工作的最重要的手段
它使得OS可以捕获普通程序发出的系统功能调用
及时处理设备的中断请求
防止用户程序中破坏性的活动等等
10.中断的一般处理过程是怎么样的?
多个中断同时发生呢?
1)如书图2.9(简单的中断处理过程)
2)如书图2.12(一个多优先级中断系统中多个中断的处理示例)
11.请简述中断和操作体统的关系,操作系统是如何利用中断机制的?
及时处理设备的中断请求
12.常用的I/O控制技术有那些?
各有什么特点?
常用的I/O控制技术有以下几种:
程序控制,中断驱动以及直接存储器存取(DMA)
以及通道。
程序控制I/O技术:
由处理器提供I/O相关指令来实现
I/O处理单元处理请求并设置I/O状态寄存器相关位
不中断处理器,也不给处理器警告信息
处理器定期轮询I/O单元的状态,直到处理完毕
I/O软件包含直接操纵I/O的指令
控制指令:
用于激活外设,并告诉它做什么
状态指令:
用于测试I/O控制中的各种状态和条件
数据传送指令:
用于在设备和主存之间来回传送数据
主要缺陷:
处理器必须关注I/O处理单元的状态,因而耗费大量时间轮询信息,严重地降
低了系统性能
中断驱动I/O技术:
为了解决程序控制I/O方法的主要问题
应该让处理器从轮询任务中解放出来
使I/O操作和指令执行并行起来
具体作法:
当I/O处理单元准备好与设备交互的时候
通过物理信号通知处理器,即中断处理器
DMA技术:
中断的引入大大地提高了处理器处理I/O的效率
当处理器和I/O间传送数据时,效率仍旧不高
解决方法:
直接存储器访问(DMA:
DirectMemoryAccess)
通过系统总线中一独立控制单元——DMA控制器
自动控制成块数据在内存和I/O单元间的传送
大大提高处理I/O的效能
通道:
独立于中央处理器,专门负责数据I/O传输的处理机
它对外设实现统一管理
代替CPU对I/O操作进行控制
使CPU和外设可以并行工作
通道又称为I/O处理机
引入通道的目的:
为了使CPU从I/O事务中解脱出来
同时为了提高CPU与设备、设备与设备之间的并行度
13.时钟对操作系统有什么重要作用?
时钟为计算机完成以下必不可少的工作:
在多道程序运行环境中,为系统发现陷入死循环(编程错误)的作业,防止机时的浪费
在分时系统中,间隔时钟实现作业间按时间片轮转
在实时系统中,按要求的间隔输出正确时间信号给实时的控制设备(如A/D、D/A转换设
备)
定时唤醒要求延迟执行的各外部事件(如定时为各进程计算优先数,银行中定时运行某类
结账程序等)
记录用户使用设备时间和记录某外部事件发生时间
记录用户和系统所需要的绝对时间,即年、月、日
第三章用户接口与作业管理
1.阐述程序,作业,作业步和进程之间的联系和区别。
(1)作业
用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称
(2)作业步
一个作业可划分成若干部分,称为一个作业步
典型的作业控制过程:
“编译”、“连接装配”、“运行”
2.一个具有分时兼批处理功能的操作系统应该怎样调度和管理作业?
品
3.在一个批处理系统中,一个作业从提交到运行结束并退出系统,通常要经历哪几个阶段
和状态?
你能说出这些状态转变的原因吗?
哪些程序负责这些状态的转变?
4.假设有三个作业,他们进入时间和估计运行的时间如下:
作业号进入时刻估计运行时间
110:
0060分钟
210:
1060分钟
310:
2515分钟
在单道批处理方式下,采用先来先服务算法和最短作业优先算法进行作业调度。
请给出
他们的调度程序,并分别计算出作业平均周转时间和带权平均周转时间,请对计算结果进
行解释。
先来先服务:
作业号进入时间估计运行时间开始时间结束时间周转时间带权周转时间
110:
006010:
0011:
00601
210:
106011:
0012:
0011011/6
251512:
1511022/3
平均周转时间:
280/3带权:
55/6+6/6=61/6
最短作业服务:
1512:
1512525/12
251511:
0011:
155010/3
235/3
带权:
1+25/12+10/3=77/12
5.有一个两道的批处理操作系统,作业调度采用最短作业优先的调度算法,进程调度采用
基于优先数的抢占式调度算法,有如下的作业序列:
作业进入时间估计运行时间优先数
0040分钟5
2030分钟3
310:
3050分钟4
410:
5020分钟6
其中优先数数值越小,优先级越高。
1)列出所有作业进入内存时间及运行结束时间
2)计算作业平均周转时间和带权平均周转时间。
004010:
00603/2
203010:
2010:
50301
305010:
3011:
20501
502011:
20303/2
2.5带权:
5
第四章进程管理
1..一个单CPU的操作系统共有n个进程,不考虑进程状态过渡时的情况,也不考虑空转进
程
(1)给出运行进程的个数;
(2)给出就绪进程的个数;
(3)给出等待进程的个数。
解:
1.运行进程的个数可能是0,也可能是1;
2,就绪的进程的个数可能是0,也可能是n-1
3.等待进程的个数可能是0,也可能是n
2.多道程序在单CPU上并发运行和多道程序在多CPU上并行执行,这两者在本质是否相同
请给出以上两者在实现时应考虑什么问题?
1)本质上不同,前者是宏观上并发同时运行,微观上是交替顺序执行,后者则是宏观上并
行,微观上也并行。
2)在实现多道程序设计时,必须协调好资源使用者和被使用者之间的关系,即对处理机资
源
加以管理,以实现处理机在各个可运行程序之间的分配与调度,对内存资源加以管理,将
内存分配给各个运行程序,还要解决程序在内存中的定位问题,并防止内存中各个程序之
间互相干扰或对操作系统的干扰,对设备资源进行管理,使各个程序在使用设备时,不发
生冲突。
3.用进程概念说明操作系统的并发性和不确定性是怎样体现出来的?
进程的并发特性和异步特性体现了操作系统的并发性和不确定性。
进程的并发特性:
可以同其他进程一道向前推进,即一个进程的第一个动作可以在另一
个进程的最后一个动作结束之前开始
进程的异步性:
每个进程按照各自独立的,不可预知的速度向前推进。
4.PCB的作用是什么?
他是怎么样描述进程的动态本质的?
PCB称为进程控制块(ProcessControlBlock),为了便于系统控制和描述进程的活动
过程,在操作系统核心中为进程定义一个专门的数据结构,就是PCB。
系统利用PCB来描述进程的基本情况以及进程的运行变化过程。
PCB是进程存在的唯一标
志。
当系统创建一个进程时,为进程设置一个PCB,再利用PCB对进程进行控制和管理;
撤
销进程时,-系统收回它的PCB,进程也随之消亡。
5.进程的三个基本状态转换如图(见书),图中1,2,3,4表示某种类型的状态变迁,请
分别回答下列问题:
1)什么“事件”引起某一种类型的状态变迁
运行中的进程因为中断的发生,或者需要等待某种事件的发生,变迁到等待状态
等待状态的进程,应为所等待的事件发生了,变迁到就绪态
CPU为空的时候,就绪态的进程就变迁到运行状态
运行的进程因为调度程序,变迁到就绪状态
2)系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,试判断在下述情
况下,如果有的话,将发生什么因果变迁?
3->
12.->
14->
13->
4
如果有处于就绪态的进程(3->
1)
如果有处于就绪态的进程(2->
CPU为空(4->
等待事件发生(3->
4)
3)在什么情况下,下述变迁中哪些将不立即引起其他变迁?
1234
当1发生,并不引起其他变迁
当2发生,如果有进程处于就绪态,引起1发生
当3发生,如果有进程处于就绪态,引起1发生
当4发生,如果CPU为空,那么引起1发生
4)引起进程状态变迁的根本原因是什么?
原因:
自身的进展情况和外界环境条件的变化。
自身的逻辑,中断和进程调度程序
等!
根据进程的动态性,进程在其生命周期内,需要经历一系列离散状态。
6.内核通常完成哪些功能?
经过内核扩充后形成的虚拟机有哪些属性?
内核一般提供如下功能
1)中断处理2)进程调度3)进程控制4)进程同步与互斥;
5)进程通信;
6)存储管理的
基本操作7)设备管理的基本操作8)文件信息管理的基本操作9)时钟管理
虚拟机的属性有:
1)没有中断2)为每个进程提供了一台虚拟处理机,每个进程好像在各
自的处理机上顺序的运行3)为进程提供了强大的指令系统,即非特权的指令和原语一起
组成的指令系统
7.并发进程执行时一定会产生与时间有关的错误吗?
不一定,如果并发进程都占有一些受到保护的私有资源(包括内存,设备等资源),那
么执行的结果和进程调度的算法以及中断等外界环境没有关系,所以不一定会产生与时间
有关的错误.
8.试举出进程状态转换的典型原因和引起进程调度的因素。
进程状态转换的典型原因:
1中断或者等待某事件发生,2.所等待事件发生了3,CPU为
空
引起进程调度的因素为:
1)正在执行的进程运行完毕
2)正在执行的进程调用阻塞原语将自己阻塞起来并进入等待状态
3)正在执行的进程调用了P原语操作,从而因为资源不足而被阻塞,或调用了V原语操作
激活了等待资源的进程队列
4)执行中的进程提出了I/O请求后被阻塞
5)在分时系统中时间片已经用完
以上都是CPU为不可抢占方式下引起进程调用的原因,当CPU为可抢占时,就绪队列中的进
程比当前运行的进程的优先级高,也引起进程调度
9.说明下列活动是属于哪些制约关系?
1)若干同学去图书馆借书进程互斥
2)两队进行篮球比赛进程互斥
3)流水线生产中的各道工序进程同步
4)商品生产和社会消费进程同步
10,是否所有的共享资源都是临界资源,为什么?
不是,根据定义,一次只允许一个进程使用得进程才叫临界资源,能同时被多个进程
使用得资源不是临界资源
11.设一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。
卡片机把一
叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上印出,问:
1)系统要设几个进程来完成这个任务?
各自的工作是什么?
2)这些进程间有什么样的相互制约关系
3)用P,V操作写出这些进程的同步算法
4)设系统中只有上述几个进程,用图表示出各自状态变迁情况及原因?
这是一个典型的生产者,消费者问题
1)系统要设三个进程完成任务,第一个进程P1,从卡片输入机中读入数据,并且把数据放
入缓冲区B1中,第二个进程从B1缓冲区中取数据,加工处理后放入缓冲区B2中。
第三个进
程将缓冲区的内容输入到打印机中打印出来
2)这三个进程之间是同步和互斥的关系
3)三个进程之间必须协调工作,需设置四个信号量,S1,S2,S3,S4并令S1的初值为1,S2的
处置为0,S4的初值为1,则程序为:
进程p1进程p2进程p3
P(S1)P(S2)P(S3)
从卡片机中读入数据P(S4)将缓冲区B2内容
V(S2)将BufferB1中的数据在打印机中输出
拷贝道BufferB2中V(S4)
V(S1)
V(S3)
4)当缓冲区B1为空时,当有输入时,进程p1进入就绪态,如果CPU为空,则为运行态,输
入完成后,进入等待态
如果存在进程p2,则为等待态,当S2+1后,处于等待态进程进入就绪态,如果CPU为空
进入运行态,拷贝完成后,进入等待态
如果存在进程p3,则为等待态,当S3+1后,处于等待态进程进入就绪态,如果CPU为空
进入运行态,输出完成后,进入等待态
12.设有无穷多个信息,输入进程把信息逐个写入缓冲区,输入进程逐个地从缓冲区中取
出信息。
在下述情况下:
1)缓冲区是环形的,最多可以容纳n个信息;
2)缓冲区是无穷大
的。
试分别回答下列问题?
1)输入,输出两进程读,写缓冲区需要什么条件?
2)用P,V操作写出输入,输出两进程的同步算法,并给出信号量含义以及初值
3)指出信号量的值的变化范围和其值的含义
一:
当缓冲区的大小为n时
1)当缓冲区信息为空的时候,输出进程无法读,处于等待状态,当缓冲区信息为满的时
候无法写,都某个缓冲区单位进行读写的时候,要互斥
2)
1.空的信号量empty初值为n,满的信号量为full初值为0,对缓冲区单元的互斥信号
量为mutex,j,k为缓冲区单位地址,初值为0
写进程读进程
P(empty)P(full)
P(mutex)P(mutex)
向Buffer[i]写入信息从Buffer[k]中读信息
V(mutex)V(mutex)
V(full)V(empty)