操作系统课后答案.docx
- 文档编号:23426519
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:23
- 大小:33.06KB
操作系统课后答案.docx
《操作系统课后答案.docx》由会员分享,可在线阅读,更多相关《操作系统课后答案.docx(23页珍藏版)》请在冰豆网上搜索。
操作系统课后答案
第一章绪论
1.什么就是操作系统的基本功能?
答:
操作系统的职能就是管理与控制汁算机系统中的所有硬、软件资源,合理地组织计算
机工作流程,并为用户提供一个良好的工作环境与友好的接口。
操作系统的基本功能包括:
处理机管理、存储管理、设备管理、信息管理(文件系统管理)与用户接口等。
2.什么就是批处理、分时与实时系统?
各有什么特征?
答:
批处理系统(batchprocessingsystem):
操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。
其主要特征就是:
用户脱机使用计算机、成批处理、多道程序运行。
分时系统(timesharingoperationsystem):
把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。
其主要特征就是:
交互性、多用户同时性、独立性。
实时系统(realtimesystem):
在被控对象允许时间范围内作出响应。
其主要特征就是:
对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。
3.多道程序(multiprogramming)与多重处理(multiprocessing)有何区别?
答;多道程序(multiprogramming)就是作业之间自动调度执行、共享系统资源,并不就是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。
要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
4.讨论操作系统可以从哪些角度出发,如何把它们统一起来?
答:
讨论操作系统可以从以下角度出发:
(1)操作系统就是计算机资源的管理者;
(2)操作系统为用户提供使用计算机的界面;
(3)用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。
上述这些观点彼此并不矛盾,只不过代表了同一事物(操作系统)站在不同的角度来瞧待。
每一种观点都有助于理解、分析与设计操作系统。
第二章作业管理与用户接口
1、什么就是作业?
作业步?
答:
把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。
作业由不同的顺序相连的作业步组成。
作业步就是在一个作业的处理过程中,计算机所做的相对独立的工作。
如,编辑输入就是一个作业步,它产生源程序文件;编译也就是一个作业步,它产生目标代码文件。
2、作业由哪几部分组成?
各有什么功能?
答:
作业由三部分组成:
程序、数据与作业说明书。
程序与数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。
3.作业的输入方式有哪几种?
各有何特点
答:
作业的输入方式有5种:
联机输入方式、脱机输入方式、直接耦合方式、SPOOLING
(SimultaneousPeripheralOperationsOnline)系统与网络输入方式,各有如下特点:
(1)联机输入方式:
用户与系统通过交互式会话来输入作业。
(2)脱机输入方式:
又称预输入方式,利用低档个人计算机作为外围处理机进行输入处理,存储在后备存储器上,然后将此后援存储器连接到高速外围设备上与主机相连,从而在较短的时间内完成作业的输入工作。
(3)直接耦合方式:
把主机与外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预宋传递后援存储器的过程。
(4)SPOOLING系统:
可译为外围设备同时联机操作。
在SPOOLING系统中,多台外围设备通过通道或DMA器件与主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。
(5)网络输入方式:
网络输入方式以上述几种输入方式为基础,当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式。
4.试述SPOOLING系统的工作原理。
答:
在SPOOLING系统中,多台外围设备通过通道或DMA器件与主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。
操作系统中的输入程序包含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区,另一个过程就是写过程,负责把缓冲区中的信息送入到外存输入井中。
在系统输入模块收到作业输入请求后,输入管理模块中的读过程负责将信息从输入装置读入缓冲区。
当缓冲区满时,由写过程将信息从缓冲区写到外存输入井中。
读过程与写过程反复循环,直到一个作业输入完毕。
当读过程读到一个硬件结束标志后,系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。
然后,系统为该作业建立作业控制块JCB,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存。
5.作业说明书与作业控制块有何异同?
答:
作业说明书主要包含三方面内容:
作业的基本描述、作业控制描述与资源要求描述。
作业基本描述主要包括用户名、作业名、使用的编程语言名、允许的最大处理时间等。
而作业控制描述则大致包括作业在执行过程中的控制方式,例如就是脱机控制还就是联机控制、各作业步的操作顺序以及作业不能正常执行时的处理等。
资源要求描述包括要求内存大小、外设种类与台数、处理机优先级、所需处理时间、所需库函数或实用程序等。
而作业控制块就是作业说明书在系统中生成的一张表格,该表格登记该作业所要求的资源情况、预计执行时间与执行优先级等。
从而,操作系统通过该表了解到作业要求,并分配资源与控制作业中程序与数据的编译、链接、装入与执行等。
6.操作系统为用户提供哪些接口?
它们的区别就是什么?
答:
操作系统为用户提供两个接口,一个就是系统为用户提供的各种命令接口,用户利用这些操作命令来组织与控制作业的执行或管理计算机系统。
另一个接口就是系统调用,编程人员使用系统调用来请求操作系统提供服务,例如申请与释放外设等类资源、控制程序的执行速度等。
7.作业控制方式有哪几种?
调查您周围的计算机的作业控制方式。
答:
作业控制的主要方式有两种:
脱机方式与联机方式。
脱机控制方式利用作业控制语言来编写表示用户控制意图的作业控制程序,也就就是作业说明书。
作业控制语言的语句就就是作业控制命令。
不同的批处理系统提供不同的作业控制语言。
联机控制方式不同于脱机控制方式,它不要求用户填写作业说明书,系统只为用户提供一组键盘或其她操作方式的命令。
用户使用操作系统提供的操作命令与系统会话,交互地控制程序执行与管理计算机系统。
8.什么就是系统调用?
系统调用与一般用户程序有什么区别?
与库函数与实用程序又有什么区别?
答:
系统调用就是操作系统提供给编程人员的唯一接口。
编程人员利用系统调用,在源程序一级动态请求与释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。
因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。
它与一般用户程序、库函数与实用程序的区别就是:
系统调用程序就是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。
9.简述系统调用的实现过程。
答;用户在程序中使用系统调用,给出系统凋用名与函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。
10、为什么说分时系统没有作业的概念?
答:
因为在分时系统中,每个用户得到的时间片有限,用户的程序与数据信息直接输入到内存工作区中与其她程序一起抢占系统资源投入执行,而不必进入外存输入井等待作业调度程序选择。
因此,分时系统没有作业控制表,也没有作业调度程序。
11、试述UNIX的主要特点。
答:
UNIX的主要特点就是:
(1)UNIX系统就是一个可供多用户同时操作的交互式分时操作系统,
(2)为了向用户提供交互式功能与使得用户可以利用UNIX系统的功能,UNIX系统向用户提供了两种友好的界面或接口:
系统调用与命令;
(3)UNIX系统具有一个可装卸的分层树型结构文件系统,该文件系统使用方便、搜索简单,
(4)UNIX系统把所有外部设备都当成文件,并分别赋予它们对应的文件名。
从而,用户可以像使用文件那样使用任一设备而不必了解该设备的内部特性,这既简化了系统设计,又方便了用户;
(5)UNIX系统核心程序的绝大部分源代码与系统上的支持软件都用C语言编写。
且UNIX系统就是一个开放式系统,即具有统一的用户接口,使得UNIX用户的应用程序可在不同的执行环境下运行。
正就是由于UNIX具有上述这些特点,使得UNIX系统得到了广泛的应用与发展。
12.UNIX操作系统为用户提供哪些接口?
试举例说明。
答;UNIX系统为用户提供两个接口,即面向操作命令的接口Shell与面向编程用户的接口:
系统调用。
常见的Shell命令如:
login,logout,vi,emacs,印,rm,ls,cc,link,
adduser,chown,dbx,date等;常见的系统调用如:
ioctl,read,write,open,close,
creat,execl,flock,stat,mount,fork,wait,exit,socket等。
13.在您周围装有UNIX系统的计算机上,练习使用后台命令、管道命令等Shell的基本命令。
答:
例1:
用Shell语言编制一Shell程序,该程序在用户输入年、月之后,自动打印输出该年该月的日历:
echo"Pleaseinputthemonth:
”
readmonth
echo''Pleaseinputtheyear:
”
readyear
第三章用户管理与配置管理
1.有A说,一个进程就是由伪处理机执行的一个程序,这话对不?
为什么?
答:
对。
因为伪处理机的概念只有在执行时才存在,它表示多个进程在单处理机上并发执行的二个调度单位。
因此,尽管进程就是动态概念,就是程序的执行过程,但就是,在多个进程并行执行时,仍然只有一个进程占据处理机执行,而其她并发进程则处于就绪或等待状态。
这些并发进程就相当于由伪处理机执行的程序。
2.试比较进程与程序的区别。
答:
(1)进程就是一个动态概念,而程序就是一个静态概念,程序就是指令的有序集合,无执行含义,进程则强调执行的过程。
(2)进程具有并行特征(独立性,异步性),程序则没有。
(3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。
3.我们说程序的并发执行将导致最终结果失去封闭性广这话对所有的程序都成立不?
举例说明、
答:
并非所有程序均成立。
如:
Begin
local“Z
K:
:
10
print(x)
End
上述程序中x就是内部变量,不可能被外部程序访问,因此这段程序的运行不会受外部环境影响。
4.试比较作业与进程的区别。
答:
一个进程就是一个程序对某个数据集的执行过程,就是分配资源的基本单位。
作业就是用于需要计算机完成某项任务,而要求计算机所做工作的集合。
一个作业的完成要经过作业提交,作业收容、作业执行与作业完成4个阶段。
而进程就是已提交完毕的程序所执行过程的描述,足资源分配的基本单位。
其主要区别关系如下:
(1)作业就是用户向计算机提交任务的任务实体。
在用户向计算机提交作业之后,系统将存储在外存中的作业等待队列中等待执行。
而进程则就是完成用户任务的执行实体,就是向系统申请分配资源的基本单位。
任一进程,只要它被创建,总有相应的部分存在于内存中。
(2)一个作业可由多个进程组成。
且必须至少由一个进程组成,但反过来不成立。
(3)作业的概念主要用在批处理系统中。
像Unix这样的分时系统中,则没有作业概念。
而进程的概念则用在几乎所有的多道程序系统中。
5.UNIXSystemV中,系统程序所对应的正文段未被考虑成进程上下文的一部分,为什么?
答:
因为系统程序的代码被用户程序所共享,因此如果每个进程在保存进程上下文时,都将系统程序代码放到其进程上下文中,则大大浪费了资源。
因此系统程序的代码不放在进程上下文中,而就是统一放在核心程序所处的内存中。
6.什么就是临界区?
试举一临界区的例子。
答:
临界区就是指不允许多个并发进程交叉执行的一段程序。
它就是由于不同并发进程的程序段共享公用数据或公用数据变量而引起的。
所以它又被称为访问公用数据的那段程序。
例如:
getspace:
Beginlocalg
top=top-1
End
release(ad):
Begin
top’top十1
stack[top]=ad
End
7.并发进程间的制约有哪两种?
引起制约的原因就是什么?
答:
并发进程所受的制约有两种:
直接制约与间接制约。
直接制约就是由并发进程互相共享对方的私有资源所引起的。
间接制约就是由竞争共有资源而引起的。
8.什么就是进程间的互斥?
什么就是进程间同步?
答:
进程间的互斥就是指:
一组并发进程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不许交叉执行的单位执行,即不允许两个以上的共享该资源的并发进程同时进入临界区。
进程间的同步就是指:
异步环境下的一组并发进程因直接制约互相发送消息而进行互相合作、互相等待,各进程按一定的速度执行的过程。
9.试比较P,V原语法与加锁法实现进程间互斥的区别。
答:
互斥的加锁实现就是这样的:
当某个进程进入临界区之后,它将锁上临界区,直到它退出临界区时为止。
并发进程在申请进入临界区时,首先测试该临界区就是否就是上锁的,如果该临界区已被锁住,则该进程要等到该临界区开锁之后才有可能获得临界区。
但就是加锁法存在如下弊端:
(1)循环测试锁定位将损耗较多的CPU计算时间;
(2)产生不公平现象。
为此,P,V原语法采用信号量管理相应临界区的公有资源,信号量的数值仅能由P,V原语操作改变,而P,V原语执行期间不允许中断发生。
其过程就是这样的:
当某个进程正在临界区内执行时,其她进程如果执行了P原语,则该进程并不像lock时那样因进不了临界区而返回到lock的起点,等以后重新执行测试,而就是在等待队列中等待由其她进程做V原语操作释放资源后,进入临界区,这时P原语才算真正结束。
若有多个进程做P原语操作而进入等待状态之后,一旦有V原语释放资源,则等待进程中的一个进入临界区,其余的继续等待。
总之,加锁法就是采用反复测试lock而实现互斥的,存在CPU浪费与不公平现像,P,V原语使用了信号量,克服了加锁法的弊端。
15.什么就是线程?
试述线程与进程的区别,
答;线程就是在进程内用于调度与占有处理机的基本单位,它由线程控制表、存储线程上下文的用户栈以及核心栈组成。
线程可分为用户级线程、核心级线程以及用户/核心混合型线程等类型。
其中用户级线程在用户态下执行,CPU调度算法与各线程优先级都由用户设置,与操作系统内核无关。
核心级线程的调度算法及线程优先级的控制权在操作系统内核。
混合型线程的控制权则在用户与操作系统内核二者。
线程与进程的主要区别有:
(1)进程就是资源管理的基本单位,它拥有自己的地址空间与各种资源,例如内存空间、外部设备等;线程只就是处理机调度的基本单位,它只与其她线程一起共享进程资源,但自己没有任何资源。
(2)以进程为单位进行处理机切换与调度时,由于涉及到资源转移以及现场保护等问题,将导致处理机切换时间变长,资源利用率降低。
以线程为单位进行处理机切换与调度时,由于不发生资源变化,特别就是地址空间的变化,处理机切换的时间较短,从而处理机效率也较高。
(3)对用户来说,多线程可减少用户的等待时间。
提高系统的响应速度。
例如,当一个进程需要对两个不同的服务器进行远程过程凋用时,对于无线程系统的操作系统来说需要顺序等待两个不同调用返回结果后才能继续执行,且在等待中容易发生进程调度。
对于多线程系统而言,则可以在同一进程中使用不同的线程同时进行远程过程调用,从而缩短进程的等待时间。
(4)线程与进程一样,都有自己的状态.也有相应的同步机制,不过,由于线程没有单独的数据与程序空间,因此,线程不能像进程的数据与程序那样,交换到外存存储空间。
从而线程没有挂起状态。
(5)进程的调度、同步等控制大多由操作系统内核完成,而线程的控制既可以由操作系统内核进行,也可以由用户控制进行。
第四章进程管理
1.什么就是分级调度?
分时系统中有作业调度的概念不?
如果没有,为什么?
答:
处理机调度问题实际上也就是处理机的分配问题。
显然只有那些参与竞争处理及所必需的资源都已得到满足的进程才能享有竞争处理机的资格。
这时它们处于内存就绪状态。
这些必需的资源包括内存、外设及有关数据结构等。
从而,在进程有资格竞争处理机之前,作业调度程序必须先调用存储管理、外设管理程序,并按一定的选择顺序与策略从输入井中选择出几个处于后备状态的作业,为它们分配资源与创建进程,使它们获得竞争处理机的资格。
另外,由于处于执行状态下的作业一般包括多个进程,而在单机系统中,每一时刻只能有一个进程占有处理机,这样,在外存中,除了处于后备状态的作业外,还存在处于就绪状态而等待得到内存的作业。
我们需要有一定的方法与策略为这部分作业分配空间。
因此处理机调度需要分级。
一般来说,处理机调度可分为4级;
(1)作业调度:
又称宏观调度,或高级调度。
(2)交换调度:
又称中级调度。
其主要任务就是按照给定的原则与策略,将处于外存交换区中的就绪态或等待状态或内存等待状态的进程交换到外存交换区。
交换调度主要涉及到内存管理与扩充。
因此在有些书本中也把它归入内存管理部分。
(3)进程调度:
又称微观调度或低级调度。
其主要任务就是按照某种策略与方法选取一个处于就绪状态的进程占用处理机。
在确立了占用处理机的进程之后,系统必须进行进程上下文切换以建立与占用处理机进程相适应的执行环境。
(4)线程调度:
进程中相关堆栈与控制表等的调度。
在分时系统中,一般不存在作业调度,而只有线程调度、进程调度与交换调度。
这就是因为在分时系统中,为了缩短响应时间,作业不就是建立在外存,而就是直接建立在内存中。
在分时系统中,一旦用户与系统的交互开始,用户马上要进行控制。
因此,分时系统中没有作业提交状态与后备状态。
分时系统的输入信息经过终端缓冲区为系统直接接收,或立即处理,或经交换调度暂存外存中。
2.试述作业调度的主要功能。
答:
作业调度的主要功能就是:
按一定的原则对外存输入井上的大量后备作业进行选择,给选出的作业分配内存、输入输出设备等必要的资源,并建立相应进程,使该作业的相关进程获得竞争处理机的权利。
另外,当作业执行完毕时,还负责回收系统资源。
3.作业调度的性能评价标准有哪些?
这些性能评价标准在任何情况下都能反映调度策略的优劣不?
答:
对于批处理系统,由于主要用于计算,因而对于作业的周转时间要求较高。
从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣。
但对于分时系统来说,平均响应时间又被用来衡量调度策略的优劣。
对于分时系统,除了要保证系统吞吐量大、资源利用率高之外,还应保证用户能够容忍的响应时间。
因此,在分时系统中,仅仅用周转时间或带权周转时间来衡量调度性能就是不够的。
对于实时系统,衡量调度算法优劣的主要标志则就是满足用户要求的时限时间。
4.进程调度的功能有哪些?
答:
进程调度的功能有:
(1)记录与保存系统中所有进程的执行情况;
(2)选择占有处理机的进程;
(3)进行进程上下文切换。
5.进程调度的时机有哪几种?
答:
进程调度的时机有:
(1)正在执行的进程执行完毕。
这时如果不选择新的就绪进程执行,将浪费处理机资源。
(2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态。
(3)执行中进程调用了P原语操作,从而因资源不足而被阻塞:
或调用了V原语操作激活了等待资源的进程队列。
(4)执行中进程提出I/O请求后被阻塞。
(5)在分时系统中时间片已经用完。
(6)在执行完系统调用等系统程序后返回用户程序时,可瞧做系统进程执行完毕,从而调度选择一新的用户进程执行。
(7)在CPU执行方式就是可剥夺时,还有:
就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。
6.进程上下文切换由哪几部分组成?
描述进程上下文切换过程。
答:
进程上下文切换由以下4个步骤组成;
(1)决定就是否作上下文切换以及就是否允许作上下文切换。
包括对进程调度原因的检查分析,以及当前执行进程的资格与CPU执行方式的检查等。
在操作系统中,上下文切换程序并不就是每时每刻都在检查与分析就是否可作上下文切换,它们设置有适当的时机。
(2)保存当前执行进程的上下文。
这里所说的当前执行进程,实际上就是指调用上下文切换程序之前的执行进程。
如果上下文切换不就是被那个当前执行进程所调用,且不属于该进程,则所保存的上下文应就是先前执行进程的上下文,或称为“老”进程上下文。
显然,上下文切换程序不能破坏“老”进程的上下文结构。
(3)使用进程调度算法,选择一处于就绪状态的进程。
(4)恢复或装配所选进程的上下文,将CPU控制权交到所选进程手中。
7.为什么说在进程上下文切换过程中,上下文切换程序不能破坏“老”进程的上下文结构?
答:
因为如果在进程上下文切换中破坏了老的进程上下文,等到CPU调度到该老进程执行时,就不能正确地恢复其停止执行前的状态了。
第五章处理器管理
1、存储管理的主要功能就是什么?
答:
存储管理的主要功能包括以下几点:
(1)在硬件的支持下完成统一管理内存与外存之间数据与程序段自动交换的虚拟存储
(2)将多个虚存的一维线性空间或多维线性空间变换到内存的唯一的一维物理线性地
(3)控制内外存之间的数据传输。
(4)实现内存的分配与回收。
(5)实现内存信息的共享与保护。
2.什么就是虚拟存储器?
其特点就是什么?
答:
由进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器。
虚拟存储器不考虑物理存储器的大小与信息存放的实际位置,只规定每个进程中相互关联信息的相对位置。
每个进程都拥有自己的虚拟存储器,且虚拟存储器的容量就是由计算机的地址结构与寻址方式来确定。
实现虚拟存储器要求有相应的地址转换机构,以便把指令的虚拟地址变换为实际物理地址;另外,由于内存空间较小,进程只有部分内容存放于内存中,待执行时根据需要再调指令入内存。
3.实现地址重定位的方法有哪几类?
答:
实现地址重定位的方法有两种:
静态地址重定位与动态地址重定位。
(1)静态地址重定位就是在虚空间程序执行之前由装配程序完成地址映射工作。
静态重定位的优点就是不需要硬件支持,但就是用静态地址重定位方法进行地址变换无法实现虚拟存储器。
静态重定位的另一个缺点就是必须占用连续的内存空间与难以做到程序与数据的共享。
(2)动态地址重定位就是在程序执行过程中,在CPU访问内存之前由硬件地址变换机构将要访问的程序或数据地址转换成内存地址。
动态地址重定位的主要优点有:
①可以对内存进行非连续分配。
②动态重定位提供了实现虚拟存储器的基础。
③动态重定位有利于程序段的共享。
形式化描述:
略。
4.常用的内存信息保护方法有哪几种?
它们各自的特点就是什么?
答:
常用的内存保护方法有硬件法、软件法与软硬件结合保护法三种。
上下界保护法就是一种常用的硬件保护法。
上下界存储保护技术要求为每个进程设置对上下界寄存器。
上下界寄存器中装有被保护程序与数据段的起始地址与终止地址。
在程序执行过程中,在对内存进行访问操作时首先进行访问地址合法性检查,即
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课后 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)