当前位置:文档之家› 北大操作系统课后题参考答案

北大操作系统课后题参考答案

北大操作系统课后题参考答案
北大操作系统课后题参考答案

操作系统

1.什么是计算机系统?计算机系统是怎么构成的?了解PC的组成情况,说明:1)硬件

组织的基本结构,画出硬件配置图;2)主要系统软件和应用软件(若有的话)他们的作用。

答:计算机系统就是按照人的要求接收和存储信息,自动进行数据处理和计算,并输出

结果信息的系统。

计算机系统由硬件子系统和软件子系统组成。

计算机系统的构成包括:如图1.2

计算机硬件系统的构成:如图1.4

2.从功能以及程序涉设计的角度说明计算机系统中软件系统是如何构成的?

答:分为系统软件,支撑软件和应用软件三层。

3.什么是操作系统?请举例说明操作系统在计算机系统中的重要地位。

答:操作系统是计算机系统中的一个系统软件,是一些程序模块的集合。

它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能安全高效地运行

4.请举一个实际的例子来说明操作系统的功能。

答:你能用用操作系统管理很多资源

5.为什么说“操作系统是控制硬件的软件”的说法不确切?

答:操作系统不仅能够控制硬件,也可以控制各种软件资源。

6.操作系统的基本特征是什么?说明他们之间的关系。

答:1.并发性

2.共享性

3.随机性

7.试从独立性,并发性和交互性和实时性四个方面来比较批处理系统,分时系统以及实

时系统。

答:

分时系统:并发性是指同时有多个用户共同使用一个计算机,宏观上看是多个人同时

使用一个CPU,微观上是多个人在不同时刻轮流使用CPU.

独占性,是指用户感觉不到计算机为他们服务,就好像整个系统为他所独占。

交互性:是指用户根据系统响应结果进一步提出新要求,用户直接干预每一步。

实时性:是指系统对用户提出的请求及时响应。

8.引入多道程序设计技术的起因和目的是什么?多道程序系统的特征是什么?

答:多道程序设计的基本思想在内存中保持多个作业,主机可以交替的方式同时处理

多个作业,一般来说任何一道作业的运行总是要交替的使用处理器和外设子案

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.请简述中断和操作体统的关系,操作系统是如何利用中断机制的?

答:

中断机制是操作系统得以正常工作的最重要的手段

它使得OS可以捕获普通程序发出的系统功能调用

及时处理设备的中断请求

防止用户程序中破坏性的活动等等

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:Direct Memory Access)

通过系统总线中一独立控制单元——DMA控制器

自动控制成块数据在内存和I/O单元间的传送

大大提高处理I/O的效能

通道:独立于中央处理器,专门负责数据I/O传输的处理机

它对外设实现统一管理

代替CPU对I/O操作进行控制

使CPU和外设可以并行工作

通道又称为I/O处理机

引入通道的目的:

为了使CPU从I/O事务中解脱出来

同时为了提高CPU与设备、设备与设备之间的并行度

13.时钟对操作系统有什么重要作用?

时钟为计算机完成以下必不可少的工作:

在多道程序运行环境中,为系统发现陷入死循环(编程错误)的作业,防止机时的浪费

在分时系统中,间隔时钟实现作业间按时间片轮转

在实时系统中,按要求的间隔输出正确时间信号给实时的控制设备(如A/D、D/A转换设备)

定时唤醒要求延迟执行的各外部事件(如定时为各进程计算优先数,银行中定时运行某类结账程序等)

记录用户使用设备时间和记录某外部事件发生时间

记录用户和系统所需要的绝对时间,即年、月、日

进程

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称为进程控制块(Process Control Block),为了便于系统控制和描述进程的活动

过程,在操作系统核心中为进程定义一个专门的数据结构,就是PCB。

系统利用PCB来描述进程的基本情况以及进程的运行变化过程。PCB是进程存在的唯一标志。当系统创建一个进程时,为进程设置一个PCB,再利用PCB对进程进行控制和管理;撤销进程时,-系统收回它的PCB,进程也随之消亡。

5.进程的三个基本状态转换如图(见书),图中1,2,3,4表示某种类型的状态变迁,请

分别回答下列问题:

1)什么“事件”引起某一种类型的状态变迁

答:运行中的进程因为中断的发生,或者需要等待某种事件的发生,变迁到等待状态

等待状态的进程,应为所等待的事件发生了,变迁到就绪态

CPU为空的时候,就绪态的进程就变迁到运行状态

运行的进程因为调度程序,变迁到就绪状态

2)系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,试判断在下述情

况下,如果有的话,将发生什么因果变迁?

3 ->1 2. ->1 4->1 3->4

如果有处于就绪态的进程(3->1)

如果有处于就绪态的进程(2->1)

CPU为空(4->1)

等待事件发生(3->4)

3)在什么情况下,下述变迁中哪些将不立即引起其他变迁?

1 2 3 4

当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) 将Buffer B1中的数据在打印机中输出

拷贝道Buffer B2中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)

j:=(j+1)mod n k:=(k+1)mod n

4)empty表示还有多少缓冲区单元为空,如果empty=0,表示缓冲区满,系统调用写进程时

,写进程处于等待态

full 表示缓冲区都多少有信心的单元,如果full=0, 表示缓冲区空,系统调用写进程时

,读进程处于等待态

mutex 表示对于缓冲区单元的互斥信号量,当mutex=1时,开锁,mutex=0时,闭锁

二.当缓冲区大小为无穷大时

1)同上

2)

1.空的信号量empty 不用设, 满的信号量为full 初值为0, 对缓冲区单元的互斥信号量

为mutex,j,k为缓冲区单位地址,初值为0

写进程读进程

P(full)

P(mutex) P(mutex)

向Buffer[i]写入信息从Buffer[k]中读信息

V(mutex) V(mutex)

V(full)

j:=(j+1)mod n k:=(k+1)mod n

4)full 表示缓冲区都多少有信心的单元,如果full=0, 表示缓冲区空,系统调用写进程

时,读进程处于等待态

mutex 表示对于缓冲区单元的互斥信号量,当mutex=1时,开锁,mutex=0时,闭锁

13.假定一个阅览室最多可以容纳100人,读者进入和离开阅览室都必须在阅览室门口的一

个登记表上标志(进入时登记,离开时去掉登记项)而且每次只允许一人登记或者去掉登

记,问:

1) 应编写几个进程完成这项工作,程序的主要动作是些什么?应该设置几个进程?进程和程序间的关系如何?

2) 用P,V操作写出这些进程的同步通信关系

答:编写两个进程,一个处理读者进入,一个处理读者离开,进程是程序的动态执行

设置信号量full 为初值为0,空的信号量empty 初值为100, 互斥信号量mutex 初值

为1

进入离开

P(empty) P(full)

P(mutex) P(mutex)

登记取消登记

V(mutex) V(mutex)

V(full) V(empty)

进入离开

14.在生产者和消费者问题中,如果对调生产者(或消费者)进程中的两个P操作和两个

V操作的次序,会发生什么情况?请说明!

答:对调P操作, 会发生死锁因为P(empty)在p(mutex)和v(mutex)内部,也就是临界

区中,当empty≤0,时,P(empty)在临界区中进入到了休眠状态。那么就别的进程都进入

不到临界区中,进入死锁状态。

而两个V操作无关紧要

15.为什么引入高级通信机构?他有什么优点?说明消息缓冲通信机构的基本工作过程?

答:

1)为了解决大量的消息交换,

2)优点:不仅能够保证相互制约的进程之间的相互关系,还同时实现了进程之间的信息

交换

3)消息缓冲通信技术的工作过程:

其基本思想是:根据“生产者-消费者”原理,利用内存中公用消息缓冲区实现进程之间

的信息交换。

内存中开辟了若干消息缓存区,用以存放消息,每当一个进程(发送进程)向另一个进程

(接收进程)发送消息时,便申请一个消息缓冲区,并把已准备好的消息发送到缓冲区中

,然后把该消息缓冲区插入到接受进程的消息队列中,最后通知接受进程,接收进程收到

发送进程发送到的通知后,从本进程的消息队列中摘下一消息缓冲区,取出所需的消息,

然后把消息缓冲区还给系统。

16.进程间为什么要进行通信?在编写自己的程序时,是否考虑到要和别的用户程序进行

通信?各个用户进程间是否存在制约关系?

答;1)各个进程在运行的时候,共享内存,或者共同完成一个特定的功能,都需要进行通

信,

2)需要,

3)促在同步和互斥的关系,比如聊天程序

17.假定一个系统的磁盘块大小为2KB,一个块的平均访问时间是20毫秒。一个有40KB进程由于资源请求从运行态变为阻塞态,它必须保持阻塞多长时间?

答:40/2 * 20=400毫秒

保持阻塞态400毫秒

18.假设A,B两个火车站之间是单轨线,许多列车同时到达A站,然后经过A站到达B站;又列车从A到B的行驶时间是t,列车在B战后的停留时间是t/2,试问在该问题模型中,什么是

临界资源,什么是临界区?

答:临界资源:A到B之间的单轨线,以及B站是临界资源

临界区:在A到B之间行驶,以及在B上停留是临界区

19.同步机制应该遵循哪些原则?为什么?

答:1.它的描述能力应该足够强,既能解决各种进程间的同步互斥问题;

2.其次,应该容易实现并效率高

3.第三,使用方便

20.我们为某临界资源设置一把锁W。当W=1时,表示关锁,W=0时,表示开锁,试写出开锁和关锁原语,并利用它去实现互斥。

答:while(1==w);

enter 临界区

21.进程A1,A2,…,An通过m个缓冲区向进程B1,B2,…,Bn不断发送消息,发送和接收工作遵

循如下规则:

1)每个发送进程每次发送一个消息,写入一个缓冲区,缓冲区大小与消息长度一样

2)对每一个消息,B1,B2,..Bn都需要各接收一次,读到各自的数据区中;

3)m个缓冲区都满时,发送进程等待,没有可读消息时,接受进程等待

试用P,V操作组织正确的发送和接收操作。

答:

V AR

mutex:Semaphore:{初值为1,实现对缓冲区的互斥}

empty:Semaphore:{初值为n,有多少缓冲}

Full:Array[1..n] OF Semaphore:{初值为0,每个接收进程当前可接收的缓冲区

}

Count:Array[1..n] OF INTEGER;{初值为0,n个缓冲区被访问的次数}

ReceivePointer:Array[1…n] OF INTEGER{初值为0,该接收进程要取哪个}

SendPointer:INTEGER;{初值为0,发送进程下次要放到哪个缓冲区}

发送进程(num:INTEGER) {num为进程号}

Repeat

P(empty)

P(mutex)

向buff[sendPointer]放消息

sendPointer:=(sendPointer+1)mod k

count[sendPointer]:=0

V(mutex)

For i:=1 To n Do

V(Full[i])

Until FALSE

接收进程(num:INTEGER):{num为接收进程号}

Repeat

P(Full[num])

P(mutex)

从buff[ReceivePoiner[num]]中取消息

V(mutex)

Count[ReceivePoiner[num]]:= Count[ReceivePoiner[num]]+1

IF(Count[ReceivePoiner[num]]==n)

THEN V(empty)

Count[ReceivePoiner[num]]==0

ReceivePoiner[num]]:=(ReceivePoiner[num])+1)mod n

Until FALSE

22.有K个进程共享一个临界区,对于下述情况,请说明信号量值的初值,含义,并用P, V

操作写出相关的互斥算法。

1)一次只允许一个进程进入临界区

2)一次只允许m个进程进入临界区

答:1)设置互斥信号量mutex,初值为1

P(mutex)

Enter_region

V(mutex)

2)设置同步信号量mutex,初值为m;

P(mutex)

Enter_region

V(mutex)

23.爱睡觉的理发师问题,一个理发店有两间相连的屋子,一间是私室,里面有一把理发椅,另一个是等候室,有一个滑动门和N把椅子。理发师忙的时候,通向私室的门被关闭,新来的顾客找一把空椅子坐下,如果椅子都被占用了,则顾客只好离去,如果没有顾客,则理发师在理发椅上睡觉。并打开通向私室的门。理发师睡觉时,顾客可以叫醒他理发,请编写

理发师和顾客的程序,正确实现同步和互斥问题!

答:

解:V AR:

S1,S2 :Semaphore;{初值为0,实现理发师与顾客的同步}

Mutex:Semaphore:{初值为1,实现对waiting的互斥}

waiting:INTEGER:{初值为0,等待的顾客数}

理发师进程

REPEAT

P(S1) {若无顾客,则睡觉}

P(mutex)

Waiting:=waiting-1

V(S2); (唤醒一个等待的客户)

V(mutex)

理发

Until FALSE

顾客进程

P(mutex)

IF(waiting

THEN BEGIN

Waiting:=-waiting+1 ;(等待顾客数加1)

V(mutex);

V(S1) {通知理发师}

P(S2) {若无理发师,挂起}

坐下理发

END

ELSE V(mutex)

24.进程之间的通信方式有几种?在单机环境下,常用的哪几种通信方式?

答:三种:共享内存,消息机制,以及管道通信

在单机环境下:常采用共享内存以及管道通信。

25. 一个快餐店有四类雇员:1)领班,他们接受顾客点的菜单;2)厨师,准备饭菜;3)

打包工,将饭菜装在袋子里;4)收银元,将食品袋交给顾客并收钱,每个雇员都可以看

作一个进行通信的顺序进程,他们采用的进程间通信方式是什么?

答:通信方式为消息传递。

26.抢占式进程调度是指系统能够强制性的使执行进程放弃处理机,试问分时系统采用的

是抢占式还是非抢占式进程调度?实时系统?

答:分时系统采用的是非抢占式进程调度

实时系统采用的是抢占式进程调度

27.试述进程调度得主要任务,为什么说它把一台物理机变成了多台逻辑上的处理机

答:处理机调度的任务是控制协调进程对CPU的竞争即按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程

多个进程虽然在微观上仍然是顺序执行,但是在宏观上,仿佛是并发执行

28.在CPU按优先级调度的系统中

1),没有运行的进程是否一定没有就绪进程

2)没有运行进程,没有就绪进程或两者都没有是否可能?各是什么情况?

3)运行进程是否一定是自由进程中优先数最高的?

答:1)一定没有

2) 没有运行进程,一定没有就绪进程;没有就绪进程可能有等待进程,也可能有运行

进程;两者都没有,可能有等待进程

3)不一定,可能出现等待进程中优先级更高

29.对某系统进行监测后表明平均每个进程在I/O阻塞之前的运行时间为T,一次进程切换

的需要的时间是S,实际上就是开销,对于采用的时间片长度为Q的时间片轮转法,请给出1)Q=无穷,2)Q>T , 3)S

解:1)当Q=无穷时,CPU的利用率=T/(T+S)*100%(当进程运行完后,就切换,也就相当于时间

片=T)

2)当Q>T时, CPU的利用率=T/(T+S)*100%(当进程运行完后,就切换,也就相当于时间片=T

)

3)当S

4)当Q=S时=S/S+S

5)当Q趋于0,CPU的利用率=T/T+nS=0 (n趋于无穷)

30,大多数时间片轮转调度程序使用一个固定大小的时间片,请给出选择小时间片的理由

,然后再给出选择大时间片的理由

答:选择小时间片:I/O密集型,可以缩短响应时间,满足短的交互需求

选择大时间片:CPU密集型,可以防止过多的进程切换,提高CPU效率

31.有5个批处理作业A到E几乎同时到达一计算中心。他们估计运行时间分别为10,6,2,4和8分钟,其优先数(由外部设定)分别为3,5,2,1,4其中5级为最高优先级,对于下列每种调度算法,计算其平均周转时间,可忽略进程切换的开销。

1)时间片轮转法

2)优先级调度法

3)先来先服务法(按照次序10,6,2,4,8运行)

4)最短作业优先

对1),假设系统具有多道处理能力,每个作业均获得公平的CPU时间,对(2) 和(4)假设

任一时刻只有一个作业运行,直到结束,所有作业都是CPU密集型作业!

答:1) 和时间片的长短有关,比较繁琐!

2)运行顺序是(6,8,10,2,4) (6+14+24+26+30)/4=100/4=25

3)(10+16+18+22+30)/4=96/4=24

4) (2+(2+4)+(2+4+6)+(2+4+6+8)+( 2+4+6+8+10))/4=17.5

32:有5个待运行的作业,他们的估计运行时间分别是9,6,3,5,采用哪中次序运行各个作业将得到最短的平均响应时间?答案依赖于X

答:由于5个作业同时到达,所以按最短作业优先调度会得到最短的响应时间:9≤x 3 5 6 9 x

6≤x≤9 3 5 6 x 9

5≤x≤6 3 5 x 8 9

3≤x≤5 3 x 5 8 9

x≤3 x 3 5 8 9

33,在一间酒吧里有三个音乐爱好者队列,第一列音乐爱好者只有随身听,第二列只

有音乐

磁带,第三列只有电池,而要听音乐就必须有随身听,音乐磁带和电池这三中物品

。酒吧老板一次出售这三种物品中的任意两种,当一名音乐爱好者得到这三种物品

并听完乐曲后,酒吧老板才能再一次出售这三种物品中任意两种,于是第二名音乐

爱好者得到这三种物品。并开始听乐曲,全部买卖九这样进行下去。

使用P,V操作正确解决这一买卖。

解:买方有三个进程,卖方有1个进程

卖方,和买方的同步信号量S1,S2 ,初值为0,1.

听音乐时的互斥信号量;mutex

卖方进程

P(S1) (没有音乐爱好者,等待)

卖物品

P(mutex)

放音乐

V(mutex)

V(S2)

买方进程

P(S2)

买物品

V(S1) {老板可以卖东西}

34.巴拿马运河建在太平洋和大西洋之间,由于太平洋和大西洋水面高度不同,有巨大落差,所以运河中建有T(T≥2)级船闸,并且只能允许单向通行,船闸依次编号为1,2,…,T ,由大西洋来的船需要经过船闸T,T-1.,,,2,1通过运河到达太平洋,由太平洋来的船需要经由船闸1,2,…,T-1,T通过运河到达大西洋。

使用P,V操作正确解决大西洋和太平洋的船只通航问题。

答:答:Array: S1[T] of Semaphore {为每个船闸设置的信号量初值都为1} Array: count1[T] of INTEGER {为每个船闸设置通往大西洋的船的计数值,初值都为0}

Array: count2[T] of INTEGER {为每个船闸设置通往太平洋的船的计数值,初值都为0}

对count设置互斥信号量mutex

去大西洋的进程:

int j

for(j=0;j

P(mutex)

if(count1[j]==0)

P(S[j])

count[j]++

过第j+1个船闸

P(mutex)

count[j]--

if(count[j]==0)

V(S[j])

V(mutex)

}

去太平洋的进程:

int k

for(k=T-1;k≥T,k++){

P(mutex)

if(count2[k]==0)

P(S[k])

count[k]++

过第k+1个船闸

P(mutex)

count[k]--

if(count[k]==0)

V(S[k])

V(mutex)

}

35.某银行有人民币储蓄业务,由n个柜员负责,每个顾客进入银行后,先取一个号,并且

等着叫号,当一个柜员人员空闲下来,就叫上一个号,使用P,V操作正确编写柜台人员和

顾客进程的程序!

解; 取号的互斥信号量mutex,叫号的互斥信号量mutex1

柜台人员和顾客进程的同步信号量为S1,S2, 初值分别为n,0

柜台人员进程:

P(S2) (无顾客则等待)

P(mutex1)

叫号

V(mutex1)

服务

V(S1)

顾客进程

P(mutex)

取号

V(mutex)

P(S1)

享受服务

V(S2)

36,设A,B,C三个进程共享一个存储资源F,A对F只读不写,B对F只写不读,C对F先读后写。(当一个进程写F时,其他进程既不能读F,也不能写F,但多个进程同时读F是允许的)试

利用管程的方法或者P,V操作,写出A,B,C三个进程的框架,要求:(1)执行正确

(2)正常运行时不产生死锁;(3)使用F的并发度高

37,某系统如此定义P,V操作

P(S)

S=S-1

若S<1本进程进入等待队列末尾,否则继续进行

V(S)

S=S+1

若S≤0,释放等待队列中末尾的进程,否则继续运行。

现有四个进程P1,P2,P3,P4竞争使用某一需要互斥使用的资源(每个进程可能反复使用多

次),使用这样的P,V操作来正确的实现互斥。

解:

S:ARRAY[0,,,3] OF Semaphore{初值为s[i]=i,i=0,1,2,3 }

访问进程

for i:=3 downto 1 do

P(s[i])

临界区操作

for i:=1 To N-1 Do

V(S[i])

38,请用进程通信的办法解决生产者,消费者问题

39,请用管程实现哲学家就餐问题

进程管理(笔记)

1).多道程序设计和并发

内存允许多个程序进入,操作系统能够同时执行这些程序

CPU在多个进程之间调度,切换

系统有时有进程,有线程

对CPU的管理:

每个实体都有一个环境,多个实体间存在一个切换

从顺序执行开始,到并发执行,会产生许多特征

顺序执行----并发执行(不可再现性)------与时间有关的错误

并发执行的结果,不可再现,由于每个程序执行的速度不同,会带来不一致性。

与时间有关的错误,即包括互斥(飞机订票系统,一张票卖给两个顾客,竞争条件),这是由于并发执行,且资源共享引起的。

2).进程模型

进程:正在执行的程序,系统中同时会有许多程序在执行

进程有创建,有撤销

从以下几个方面考虑进程模型:

2.1 进程的组成,进程有动态,有静态,从动态的角度讲叫做进程映像。

一个系统中与进程有关的实体和空间

1.程序的地址

2.进程所需的数据

3.进程运行过程中所遗留的痕迹(栈)

栈是进程运行过程中临时性的信息存放的地方。

栈分为系统栈和用户栈

用户空间和系统空间时分开的。

用户地址空间包括:程序,数据和栈

PCB(进程控制块)是由系统来管理的,进程所需的信息都放在此数据结构中。

上下文环境,PCB,数据结构是进程存在的痕迹。

地址越界:用户只能在用户的地址空间活动,不能进入其他用户地址空间和系统空间2.2进程状态以及状态转换

2.2.1进程控制块PCB,系统管理进程时,修改PCB

进程在运行时,通用寄存器要保存现场信息,不运行的时候,这些信息都要保存下来

比如,指针等,现场要保存在自己的空间中,文件系统中。

现场信息包括很多内容。

进程控制块PCB时贯穿始终的

2.2.2状态的设置与进程的控制有关系,什么时候创建进程,什么时候中止进程,完全由

原语来将进程从一个状态转变为另一个状态

最主要的就是了解进程的控制

3.进程的同步和互斥

这部分与"与时间有关的错误"有关

同步是开发人员有意识安排的:在完成一个特定功能的软件中,由多个进程协作,这些进程间有时序关系,互相配合完成,而这些时序是事先安排好的,OS不知道这些关系,用

户通过OS提供的原语来维持这种时序。

同步:第一个进程执行道某一点后能否继续执行取决于另一个进程能够给它发消息。

进程的互斥:各个进程间要求共享资源,竞争使用资源。

书上讲解了“竞争条件”这一概念。

4.临界区:只允许一个进程使用的资源叫临界资源

竞争使用同一个资源的

不是一个进程的,而是以上进程

对于临界区的要求

1)任何两个进程不能同时处于临界区,即两段程序是不能交叉的

临界区的程序是可以中断执行的

2)如果想进入临界区,又进不去,则阻塞“有空让进,无空等待,有限等待”

3)不应对进程的速度和进程的数目作假设

解决互斥的问题:

*1 用户关闭中断会出现问题(忘了开中断,怎么办?)

*2 锁变量在解决互斥问题时,也可以引入新得互斥

*3 严格轮换法

以上三种方法都不能解决互斥。

以下两个都不考:

#1 Peterson Delker 知道算法,但不考

#2 用硬件法解决互斥也不考

重点:5. 掌握信号量以及PV操作

5.1 信号量和PV操作

down --up (首选)

P---V (也对)

wait--signal(错误)

原理:在执行过程中,不可分割.

down操作:对信号量:-1,若小于1,则阻塞,送到等待队列

up 操作:+1,若小于等于0,相应的信号量等于等待队列上的进程。

重点中重点:必有P V操作的题:

解题的要素:1)设置好每个信号量(每道题的分数由若干部分组成)

列出所有的信号量及其初值就给分

2)写PV,操作时,PV操作部分不能用自然语言,其余的部分

可用伪码,自然语言均可

begin ---end , repeat --until(搞清楚2分)

读者---写者(循环) 生产---消费(不循环)

6.几个典型模型(考试不会超过此类模型)

6.1 生产者---消费者类型

思想:由一些buffer,一些进程向Buffer 中写,另一些向Buffer中读

回家总结:

*1 一个生产者,一个消费者,一个buffer

*2 一个生产者,一个消费者,一些buffer

*3 一个生产者,多个消费者,一个或者多个buffer

*4 多个生产者,多个消费者,一个或者多个buffer(最复杂,不考!0)

6.2 哲学家进餐问题(认真读书上的每句话)

对于多个竞争进程互斥访问资源是非常有用的!

6.3 读者---写者问题(P42)

对共享资源的操作

读有许多读者,但写时只有一个写。

若是两组读者问题,第二个读者将第一个得拷贝过来,变量改变一下

2003年的考研题,运河问题均是读者---写者问题

2003年考研题思路:

如何限制只有3个过,第四个不能过。

关键在于问题如何分解

树上这种读者,写者会出现饥饿,但本题要求不出现饥饿

大船方向:写者,小船方向:写者

把原来程序的框架写出,将细节只允许3个船过(不允许出现饥饿)补充进去

6.4 理发师问题(P43)

6.5 吸烟者模型

小的问题:eg:银行叫号, 阅览室问题,(来一个申请一个资源,若干个进程对资源的使用问题),考场问题(同步关系,比较简单)

做题套路:1)先写出程序2)找出进程间的关系(分解开找,先找互斥,再找同步,一个关系设置一个信号量) 3)P,V嵌入到相应的位置,信号量是在找关系的时候定好的!一个一个关系找,不要嫌麻烦4)赋好初值5)注意细节(是否需要循环)

PV匹配,但存在if--else 语局时会有问题,信号量的操作,只能出现在P V中,而不会出现在P,V语句之外,且不要写出有死锁的程序。

五. 进程通信

进程通信包括同步,互斥,本部分是高级的进程通信,P,V是简单进程通信!

linux中,信号量,共享内存,消息队列,Socket,管道均是通信机制

Windows中,互斥队列,信号量对象等均是通信机制。

分为如下几类:

1. 共享内存

与读--写者问题是同一模型,若P个进程互相通信(重点),要了解实现和设计细节

1.1 设置共享内存存取方式

读者如何互斥,写者如何互斥

1.2消息传递方式(OS 中用的多)

设计要点:

1)两个进程间收发消息模型send-receive的操作来完成

消息的传递会产生如下问题:发送的消息会不会丢失,解决方案:作一个回答;

应答会不会丢!

重发一条消息,接受道两个同一信息所带来的问题!

消息本身会不会有差错!

2)给谁发消息,进程的命名会不会产生二义性!

3)

以上问题会在多机系统中出现

如何知道所发的消息是正确的,合法的(安全性)

4)有几种可能性来实现消息的传递

有阻塞,无阻塞,有无缓冲

a:消息传递是最常用的

系统中会开辟出缓冲区,系统把消息从A地址空间复制到buffer

然后从buffer中放到消息队列中,挂到B地址空间(接受进程的地址空间)

这个buffer是有缓冲的。

消息缓冲是:生产----消费者模型

b:信箱模型

建一个信箱,把消息放在信箱中

一套操作:建信箱,信箱满如何办

c:有/无阻塞

d:管道:建立两个进程通信的通路,实现时利用了文件系统,在文件系统中支持

通过读/写文件实现! write---read!

六:进程调度

处理机调度:在有些书上分为两个层次1):CPU调度,2)中级调度:两极调度

在这里狭义的说法就是选择哪些进程上CPU,考虑以下问题

1)什么原则(what) 2)什么时候(when) 3)如何进行(How)

1.what 什么算法:FIFO,时间片轮转法,优先级调度,搞清调度问题的区别

*FIFO:一个进程上CPU后,除非由于它自身的原因,否则没有进程能够打断它,(#基于优先级的不可剥夺算法)

时间片轮转法,时间片用完就切换下来

基于优先级:1):抢占:一旦有了高优先级就可以切换原来运行的进程!

2):不可抢占

可变的一定是动态的,固定的一定是静态的。

2机制和策略问题在此部分有所体现

策略是用户可选的

机制是定好的

最新版本的OS要求抢占

多级排列:几种策略的结合(时间片,优先级,抢占)

2)时机(WHEN) 什么时候做什么工作

什么时候进行进程调度:一个进程运行完毕,进程出错,时间片到,基于优先级的可抢占式

调度,自己用阻塞原语将自己阻塞

3)如何进行上下文切换(HOW)

一个进程让出来,另一个进程上去。

如何保存被换下来的现场,以及如何将要换上去的现场换上去,

是用汇编来做的

线程和进程之间的关系问题:

如果同一系统中线程和进程都存在,他们的关系:

原来进程:资源分配和CPU调度的单位;

接着:进程粒度变小,进程只管分配资源,线程是CPU调度单位,

线程的引入:从资源系统开销的角度,系统使用的角度。

存储管理

1.产生存储分配问题的背景是什么?何谓静态分配?何谓动态分配?动态分配的原因是什么?

答:一个有效的存储分配机制,应对用户提出的需求做出快速响应,为之分配相应的存储空间,在用户作业不需要它时,及时收回,供其他用户使用。

内存分配有两种方式

1)静态分配:程序要求的内存空间是在目标模块连接装入内存时确定并分配的,并且在程序运行过程中不允许再申请或在内存中“搬家”,也就是分配工作是在程序运行前一次性完成

2)动态分配:程序要求的基本内存空间是在目标模块连接装入内存时确定并且分配的,但是在运行过程中,允许申请附加的内存空间或在内存中“搬家”,也就是分配工作可以在程序运行前及运行过程中逐步完成

动态分配的原因:动态分配具有较大的灵活性,对提高内存的利用率,比静态分配更合理

些。

2.阐述操作系统中选择存储管理方案的原则。

答:

原则:

1. 存储管理必须合理地分配内存空间

2.为了避免内存中的各个程序相互干扰,还必须实现存储保护

3.有效利用内存空间,允许多个作业共享程序和数据

4.为了在内存中运行长度为任意大小的程序,必须采用一定的方法“扩充”内存

3.可变分区管理方式下,采用移动技术有什么优点?移动一道作业时操作系统要做哪些工作?

答:对碎片进行整理,把所有空闲碎片合并成一个连续的大空闲区,供作业使用。

被移动了得程序,需要进行重新定位,可以用动态地址映射实现。

4.用可变分区方式管理主存时,假定主存中按地址顺序依次有5个空闲区,空闲区的大小依次为32k,10k,5k,228k,100k。现有J1,J2,J3,J4,J5。它们各需主存1k,10k,108k,28k,1

15k。若采用最先适应分配法能把这5个作业按J1, J5次序全部装入主存吗?你认为按怎样的次序装入这5个作业可使主存空间利用率最高。

答:1) 若采用最先适应分配法,无法将5 个作业全部装入主存!

2)通过对最佳适应分配法和最差适应分配法的分析,其中最差适应分配法的内存空间

利用率最高.

5.什么是碎片?试述各种多道程序系统存储管理方案中碎片是如何出现的?

答:经过一段时间的分配回收后,内存中存在很多很小的空闲块。它们每一个都很小,不足以满足分配要求;但其总和满足分配要求。这些空闲块被称为碎片

6.段式存储管理系统中是如何实现存储保护的?

答:段式管理的存储保护主要有两种。一种是地址越界保护法,另一种是存取方式控制保护法。具体的措施有:

1)利用段表及段长来实现段的保护,防止程序执行的时地址越界

2)存取权限保护法,在段表中设有“存取权”一项,可对程序的访问权限进行各种必要

的限制

3)存取保护键保护:由于I/O通道对存储器的访问是不通过段表的,因此有的机器还采用存储保护健来保护

7,在段式存储管理系统中,如何实现多个作业对一个信息段的共享?并说明可共享过程段的动态链接过程。

答:1)如果多个用户进程或作业需要共享某段程序或者数据,可以使用不同的段名,在各自的段表中填入已在内存中的共享段的地址,并设置适当的读写控制权,就可以做到共享一

个内存段的信息。

8.段式存储管理系统中,为什么说存取方式控制对共享段特别重要?

答:

存取方式对于非共享段来说,主要是用来指示程序设计的错误,而对共享段来说,则显得特别重要,例如某个纯代码段被共享,则必须禁止任何作业修改它,因此,规定这样的段只能“执行”。对于某个共享的数据段,只允许大家“读”,而不能“写”,或只允许某

一个用户“写”。

此外,通常还禁止任何作业“读”一个过程段,因为:

1)读一个过程段显然是程序设计的错误

2)有些过程是专用的,只准使用,不准“拿走”。如果一个分段仅具有“执行”状态,

那么只能作为一个过程来调用,而“读”“写”是禁止的;如果有作业给他们企图“读”

和“写”,则系统发出保护中断信号。

--

9.保护方式除R,W,EX(执行)组合外,你还能想出其他的保护方式吗?

答:保护方式除了R,W,EX组合成的存取权限位外,还应该增加以下内容:

1)特征位(该段在/不在内存,是否可共享)

2)标志位(该段是否被修改过,能否移动)

3)扩充位(改段长度固定长/可扩充)

10.什么是动态链接?为什么虚拟段式存储管理系统有利于动态链接?

答:动态链接是:是在程序开始运行时,只将主程序段装配好,并调入内存,其他各段

的装配是在主程序段的运行过程中逐步完成。每当需要调用一个新段时,再将这个新段装配好,并于主程序段链接。

2)?

11.有一个操作系统采用段式存储管理方案,用户区内存为512K,分配时截取空闲块的前

半部分(小地址部分)。初始时内存全部空闲,系统执行如下申请,释放操作序列。

申请300K,申请100K,释放300K,申请150K,申请50K,释放90K

1)若采用首先适应算法,空闲块表中有哪些空块(指出大小,地址)

2)若采用最佳适应算法,空闲块中有哪些空块(指出大小,地址)

3)若随后又申请了80K,针对上述两种情况说明结果?其结果说明了什么问题?

答:1)

空闲块:0--90 , 200--300,400---512

空闲块: 0--90 , 150--300,450--512

2)

空闲块:80--90, 200--300,400---512

空闲块:80--90 , 150--300,450--512

12.加入一个程序的段表如下:

段号状态位段起始地址段长存取控制

0 0 100 40 W

1 1 2010 20 W

2 0 1590 100 E

3 0 75 50 R

其中状态位“1”表示该段不在内存中,存取控制:W 表示可写,R表示可读,E表示可执

对于下列的逻辑地址可能发生什么情况?

1)STORE 1,[0,50]

2) STORE 1,[1,10]

3) LOAD 1,[2,77]

4) LOAD 1,[3,20]

答:1)的逻辑地址:150

2)的逻辑地址:2020

3)的逻辑地址:1667

4)的逻辑地质:95

13. 设在内存中按地址递增次序有三个不连续的空闲区F1,F2,F3,他们的容量分别为60K, 130K,20K请给出一个后备作业序列,使得实施存储分配时

1)采用最佳适应算法将取得好的效果,而采用最差适应算法和首先适应算法效果都不好

2)采用最佳适应算法效果不好,而采用最差适应算法和首先是应算法都可取得好的效果

3)采用最差适应算法将取得好的效果,而采用首先适应算法和最佳适应算法效果都不好

4)采用三种算法都取得好的效果;

5)采用这三种算法效果都不好。

答:1)20,60,130

2)40,65,20

3)20,50,60

4) 130,60k,20

5) 140,70,70

14.页式存储管理系统中作业的地址空间是一维的还是二维的?请说明理由

答:二维的,有一维是:页号,和第二维是:页内地址!

15.页式存储管理需要哪些硬件支持?如何实现逻辑地址到物理地址的映射?

答:系统提供了一对寄存器:页表始址寄存器和页表长度寄存器。

1)具体步骤说明如下

1)地址映射机制把CPU给出的逻辑地址分为两部分:页号P和页内地址

2)将逻辑页号P与页表长度寄存器内容比较,如果P大于等于页表长度L,则为越届,发生地址越界中断

3)根据页表始址寄存器的内容D得到页表在内存的首地址,并根据逻辑页号P在页表

中找到对应的内存块号P'

4)把物理页号与逻辑地址中的页内地址D拼在一起,形成访问内存的物理地址

16.假定一个存储管理程序已经把它的页面淘汰决定缩小到两页之一,假定其中一页由几

个进程共享,另一页仅由一个进程使用,最终应该淘汰哪一页?请解释!

答:当然是后一页,这样就能避免频繁的调度页面!

17. 在多道程序系统中,程序和数据共享可以大大的节省内存空间,分别说明页式,段式

和段页式存储管理系统中是如何实现共享的?

答:

页式:页式存储管理使每个程序能利用内存空间中一些不连续的存储块,这种灵活性就

允许两个或多个程序共享程序中的代码或公共数据段。

段式:如果多个用户进程或作业需要共享某段程序或数据,可以使用不同的段名,在各

自的段表中填入已在内存中的共享段的起始地址,并设置适当的读写控制权,就可以做

到共享一个内存段的信息。

段页式:?

18. 在页式存储管理系统中,对数据,过程的共享有什么限制,为什么?

答:对于数据页面的共享,实现起来比较简单,因为这个共享的数据页面,可以安排在程序

地址空间的任何一个页面上,而代码的共享则不然,它必须把共享的代码安排到所有共享它

的程序地址空间中相同页号的页面中,即共享代码所在地址空间必须重叠。

19.为什么期望大多数程序具有局部性?

答:利用虚拟存储技术,可以为程序提供较少的物理页面,就可以完成执行程序的任务。

20.设计一个页表应考虑哪些因素?

答:系统为每个用户程序建立一张页表,用于记录用户程序的逻辑页面与内存物理页面之间

的对应关系,包括两项内容:逻辑页面号,该逻辑页面在内存中分配的物理页面号(内存块号),用户程序的地址空间有多少页,该页表里登记多少行,且按逻辑页的顺序排列。

页表存放在内存系统区。

21. 操作系统的存储管理目标是什么?段页式管理是如何实现这些目标的?

答:

1)充分利用内存,对多道程序并发执行。

22.为什么说段页式管理时的虚拟地址仍然是二维的?

答:段号,段内地址。

23.假定磁盘空闲空间表表明有下列存储块空闲块:13,11,18,9和20块。有一个要求

为某文件分配10个连续的磁盘块。

1)如果采用首次适应分配策略,那么将分配哪个块?

31.有一台计算机含有四个页面,每一页的装入时间,最后一次修改时间以及R与M位的值如下(时间为时间周期):

页装入时间最后访问时间R M

0 126 279 0 0

1 230 260 1 0

2 120 272 1 1

3 160 280 1 1

1)NRU应该淘汰哪一页?

2)FIFO应该淘汰哪一页?

3)LRU 应该淘汰哪一页?

4)第二次机会应该淘汰哪一页?

答:?

32. 请求页式存储管理中,页面置换算法所花的时间属于系统开销,这种说法对吗?

答:额外开销。

33.何谓系统的“抖动”现象?当系统发生“抖动”时,你认为应该采取什么措施加以克

服?

答:在虚存中,页面在内存和外存之间频繁的调度,以至于调度页面所需时间比进程实际

运行的时间还多,此时系统效率急剧下降,甚至导致系统崩溃,这种现象称为颠簸(抖动)

产生的原因:页面置换算法不合理,分配给进程的物理页面数太少。

解决办法:调整算法,多分配物理页面数。

34.在虚拟页式存储管理中,进程在内外存中的存放有以下两种方法:

1)一部分页面放在内存,其余页面放在外存

2)一部分页面放在内存,全部页面放在外存

试从系统开销的角度分析两种方法各自的优缺点,并说明页表的差别。

答:?

35,36,37 第二次复习的时候做!!

文件管理

1.举一个文件访问的例子,所举的领域在某些情况下,信息必须随机访问,而在其他时间必须顺序访问.

答:进行视频文件播放时。

2.为什么支持索引文件的文件系统无法获得顺序访问文件系统相同的效率?

答:因为:索引结构的缺点就是:较多的寻道次数和寻道时间,以及索引表本身增加了存储空间的开销。

连续结构的优点就是:文件存取非常简单迅速。

3.假设一个活动头磁盘有200道,编号1-199,当前磁头正在143道上服务,并且刚刚完成了125道的请求,现有如下访盘请求序列(磁道号)

86,147,91,177,94,150,102,175,130

试给出采用下列算法后磁头移动的顺序和移动总量(总磁道数)

1)最短寻道时间优先(SSTF)磁盘调度算法

2)扫描法(SCAN)磁盘调度算法(假设沿磁头移动方向不再有访问请求,磁头沿相反方

向移动)

答:1)143 147 150 130 102 94 91 86 175 177

2)143 130 102 94 91 86 147 150 175 177

4.假定一个文件系统用索引文件结构管理存储块。每个文件都有一个目录项,存放文件名

,第一个索引块,以及文件长度。第一个索引块指向248各文件块和下一个索引块。如果

一个文件当前放在第2009各逻辑块,而下一个操作是访问第306个逻辑块,那么必须从

磁盘上读多少个物理块?

答:

5.假定一个UNIX的磁盘块能够存放1048个磁盘地址。用直接盘块指针的文件的最大尺寸是

多少?一重间接块指针呢?二重间接块指针呢?三重呢?

6.早期MS-DOS版本的文件系统最大能够管理32M的磁盘空间,根据本章所讲的有关目录和文件的知识,推测由于该限制可能导致的一些后果。

7.假定一个文件系统的组织方式与MS-DOS文件系统类似,在FAT中有64K个指针,请说明该文件系统是否能够用这64K个指针来引用一个512M磁盘上一个512字节块。

8.文件系统检测程序经常利用位图。基本的想法就是把该图拷贝到检测程序的地址空间去

,把图中每一个项放大,使它能够包含更多的状态信息(例如已分配,未分配,已检测,

坏块),请设计一个算法,用增加内容位示图来检测一个磁盘的上述状态信息,并作出具

体统计。

答:1)为位图增加一个内容位示图,已分配,未分配,已检测,坏块分别用0,1,2,3来代

2)检测磁盘,遇到0,:count0++,遇到1:count1++,遇到2,count2++,遇到3,count3

++,(初值都为0)

3)得出相应的块的个数。

9.假定需要一种机制,是的一个文件能被任何用户读,但只能被一个用户写。比如全国

高考成绩,可被高考学生读,但只能被有关办公室修改成绩,请设计该文件的存取控制机

制。

答:1)审定用户权限

2)比较用户权限的本次存取要求是否和用户的存取权限一致

3)将用户的存取要求和被访问文件的存取控制表进行比较,看是否冲突,如果没有

冲突,允许用户对有关文件进行访问,如果有冲突,处理冲突。

10.请描述一种机制,硬件的或软件的,它根据用户的指纹进行身份识别。

答:第一步要对用户的身份进行验证,第二步,采用一组称为存取控制模块的程序,对用

的存取权限进行控制。

11.文件目录的作用是什么?一个目录表目应包含哪些信息?

答:文件目录就是文件控制块的有序集合,即把所有文件控制块有机地组织起来,就构成

了文件目录。

文件控制块应该包括以下内容:文件名,文件号,用户名,文件地址,文件长度,文

件类型,文件属性,共享计数,文件的建立日期,保存期限,最后修改日期等!

12.多级目录结构的特点有哪些?有什么好处?

答:

优点:

层次结构清晰,便于管理和保护;有利于文件分类;解决重名问题;提高文件检索速度

;能进行存取权限的控制

缺点:

查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度

13.可通过什么办法来实现用户之间共享某个文件?

答:1)绕道法

2)I节点法

3)符号链接法

14.在设计文件系统时,对文件的数据结构应做何考虑?

答:顺序结构,链接结构,索引结构以及I节点.

15.请设计一个文件系统的FCB,并说明为何要安排FCB的每一项内容。

答:文件控制块PCB为系统管理文件而设置的一个数据结构。FCB是文件存在的标志,它记录了系统管理文件所需要的全部信息。见图6.2 文件控制块

16.在文件系统中,使用Create和Open命令的目的是什么?他们的具体功能是什么?能不

能只用一个命令,完成文件的建立和打开操作?

答:create 和open命令是建立一个和打开一个文件。

create建立一个文件,open打开一个已存在的文件,或者先创建然后打开一个文件

能用一个命令open来完成文件的建立和打开操作.

17.对下列每个问题,试说明它由文件系统中哪一个部分处理的,以及如何处理的?

1)存储碎片问题

2)允许给不同的文件以相同的文件名

3)缓冲处理

4)扩充文件时,存储空间的申请。

答:1)文件的物理结构

2)存储结构

3)存储性能

4)存储空间的管理

18. 对常用的计算机系统,分析其文件映射功能的透明性。

答:实现文件的按名存取

名字空间映射存储空间

19.在UNIX系统中,采用I节点方式给出一个文件所在磁盘号的块号。假设每个磁盘块的大小为1024字节,并且每个间接盘块能容纳256个块号,试问:

1)如果进程要读取某文件的字节偏移量为8192,应该如何找到它所在的磁盘号?

2)如果要存取某文件的字节偏移量为640000,又将如何?

20.能用单级目录来模拟多级目录?如果能,揭示如何实现之。

21.由一个文件系统,根目录常驻内存,如下图所示。(图略)

目录文件采用链接结构,规定一个目录下最多存放40个下级文件,下级文件可以是目录文

,也可以是普通文件。每个磁盘块可以存放10个下级文件的描述信息,若下级文件为目录

文件,则上级目录指向目录文件的第一块,否则指向普通文件的文件控制块。

1)普通文件采用UNIX的三级索引结构,即文件控制块给出13个磁盘地址,前10个磁盘地址指出文件前10块的物理地址,第11个磁盘地址指向一级索引表,一级索引表给出256个磁盘地址,即指出该文件第11块到第266块的物理地址;第12个磁盘地址指向二级索引表,二级索引表中指出了256个一级索引表的地址,第13个磁盘地址指向三级索引表,三级索

引表指出256个二级索引表的地址,该文件系统中的普通文件最大可由多少块?假设主索

引表放在FCB中,若要读问A\D\G\I\K中某一块,最少要启动磁盘几次?最多要启动磁盘几次?若要减少启动磁盘的次数,可采用什么办法?2)普通文件采用链接结构,若要读A\

D\G\I\K的第75块最少启动磁盘几次,最多几次?

22.在文件系统中,使用文件前要先打开文件,请写出“打开文件”系统调用的主要实现

步骤,包括相关的数据结构,设命令为fopen(文件名,打开方式)。

答:打开文件

使用文件的第一步,任何一个文件使用前都要先打开,即把FCB送到内存

fd=open(文件路径名,打开方式)

①根据文件路径名查目录,找到FCB主部;

②根据打开方式、共享说明和用户身份检查访问合法性;

③根据文件号查系统打开文件表,看文件是否已被打开;

是→共享计数加1

否则→将外存中的FCB主部等信息填入系统打开文件表空表项,共享计数置为1;

④在用户打开文件表中取一空表项,填写打开方式等,并指向系统打开文件表对应表项

返回信息:fd:文件描述符,是一个非负整数,用于以后读写文件

23.1)在文件系统中,会出现文件希系统不一致的现象,请简要解释这种现象产生的原因

及问题的严重性.

为了解决文件系统的不一致性问题,常采用一个实用程序检查文件系统,在进行了

块的一致性检查后,得到如下结果:

图略

请解释该文件系统出现的每一错误,并给出处理方法。

2)第二轮复习的时候再看!

答:很多文件系统在读取磁盘块进行修改后,再写回磁盘,如果在修改过的磁盘块全部写

回之前,系统崩溃,则文件系统有可能处于不一致的状态。

如果未被写回的块是I节点,文件目录,或者是空闲块列表,那么问题就有点严重.

24.在实现文件系统时,为了加快文件目录的检索速度,可利用“文件控制块分解法”。

假设目录文件存放在磁盘上,每个盘块512字节,文件控制块占64字节,其中文件名占8字节,文件控制块分解后,第一部分占用10字节(包括文件名和文件内部号),第二部分占

56字节

(其中包括文件内部号和文件其他信息)

1)假设某一目录文件共有256个文件控制块,分别给出采用分解法前和分解法后,查找该

目录文件的一个文件控制块的平均访盘次数。

2)一般地,若目录文件分解前占用n个盘块,分解后改用m个盘块存放文件名和文件内部号部分,请给出访盘次数减少的条件。

25. 文件分配所用的位示图应该保存在哪里,请说明原因.

26.对于用户来说,有些系统把设备也看成文件,试问这样做有什么好处?还会带来什么问题?

27.计算机用户身份鉴别与验证通常有哪三种方式?

28.在设计文件系统的安全性时,应该考虑哪些方面的情况?

29.请对常使用的计算机系统中的文件系统的性能和可靠性,做一个比较全面的评价。如果想改进这个文件系统的性能和可靠性,可以从哪些方面进行?

作业管理

1.阐述程序,作业,作业步和进程之间的联系和区别。

答:

(1)作业

用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称(2)作业步

一个作业可划分成若干部分,称为一个作业步

典型的作业控制过程:

“编译”、“连接装配”、“运行”

2.一个具有分时兼批处理功能的操作系统应该怎样调度和管理作业?为什么?

3.在一个批处理系统中,一个作业从提交到运行结束并退出系统,通常要经历哪几个阶段和状态?你能说出这些状态转变的原因吗?哪些程序负责这些状态的转变?

4.假设有三个作业,他们进入时间和估计运行的时间如下:

作业号进入时刻估计运行时间

1 10:00 60分钟

2 10:10 60分钟

3 10: 25 15分钟

在单道批处理方式下,采用先来先服务算法和最短作业优先算法进行作业调度。请给出他们的调度程序,并分别计算出作业平均周转时间和带权平均周转时间,请对计算结果进行解释。

答:先来先服务:

作业号进入时间估计运行时间开始时间结束时间周转时间带权周转时间

1 10:00 60 10:00 11:00 60 1

2 10:10 60 11:00 12:00 110 11/6

3 10:25 15 12:00 12:15 110 22/3

平均周转时间:280/3 带权:55/6+6/6=61/6

最短作业服务:

作业号进入时间估计运行时间开始时间结束时间周转时间带权周转时间

1 10:00 60 10:00 11:00 60 1

2 10:10 60 11:15 12:15 125 25/12

3 10:25 15 11: 00 11: 15 50 10/3

平均周转时间:235/3

带权:1+25/12+10/3=

5.有一个两道的批处理操作系统,作业调度采用最短作业优先的调度算法,进程调度采用基于优先数的抢占式调度算法,有如下的作业序列:

作业进入时间估计运行时间优先数

1 10:00 40分钟 5

2 10:20 30分钟 3

3 10:30 50分钟 4

4 10: 50 20分钟 6

其中优先数数值越小,优先级越高。

1)列出所有作业进入内存时间及运行结束时间

2)计算作业平均周转时间和带权平均周转时间。

答:

作业号进入时间估计运行时间开始时间结束时间周转时间带权周转时间

1 10:00 40 10:00 11:00 60 3/2

2 10:20 30 10: 20 10:50 30 1

3 10:30 50 10:30 11:20 50 1

4 10:50 20 11: 00 11:20 30 3/2

平均周转时间:2.5 带权:5

操作系统第四版-课后习题答案

操作系统第四版-课后习题答案

第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使CPU 的利用率提高了47 % : 87 %/59 %=147 % 147 %-100 % = 47 % 2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分) (2)程序A 无等待现象,但程序B 有等待。程序B 有等待时间段为180rns 至200ms 间(见图中有色部分) 3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。

操作系统习题答案

内存1通常情况下,在下列存储管理方式中,()支持多道程序设计、管理最简单,但存储碎片多;()使内存碎片尽可能少,而且使内存利用率最高。 Ⅰ.段式;Ⅱ.页式;Ⅲ.段页式;Ⅳ.固定分区;Ⅴ.可变分区 正确答案:Ⅳ;Ⅰ 2为使虚存系统有效地发挥其预期的作用,所运行的程序应具有的特性是()。正确答案:该程序应具有较好的局部性(Locality) 3提高内存利用率主要是通过内存分配功能实现的,内存分配的基本任务是为每道程序()。使每道程序能在不受干扰的环境下运行,主要是通过()功能实现的。Ⅰ.分配内存;Ⅱ.内存保护;Ⅲ.地址映射;Ⅳ.对换;Ⅴ.内存扩充;Ⅵ.逻辑地址到物理地址的变换;Ⅶ.内存到外存间交换;Ⅷ.允许用户程序的地址空间大于内存空间。 正确答案:Ⅰ;Ⅱ 4适合多道程序运行的存储管理中,存储保护是 正确答案:为了防止各道作业相互干扰 5下面哪种内存管理方法有利于程序的动态链接()? 正确答案:分段存储管理 6在请求分页系统的页表增加了若干项,其中状态位供()参考。 正确答案:程序访问 7从下面关于请求分段存储管理的叙述中,选出一条正确的叙述()。 正确答案:分段的尺寸受内存空间的限制,但作业总的尺寸不受内存空间的限制

8虚拟存储器的特征是基于()。 正确答案:局部性原理 9实现虚拟存储器最关键的技术是()。 正确答案:请求调页(段) 10“抖动”现象的发生是由()引起的。 正确答案:置换算法选择不当 11 在请求分页系统的页表增加了若干项,其中修改位供()参考。 正确答案:换出页面 12 虚拟存储器是正确答案:程序访问比内存更大的地址空间 13测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:减少运行的进程数 14在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起()。 正确答案:越界中断 15 测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:加内存条,增加物理空间容量 16 对外存对换区的管理应以()为主要目标,对外存文件区的管理应以()

北京大学操作系统期末试题有答案

操作系统原理试题 一. 名词解释题 1. 中断—— 2. 进程控制块(PCB)――它是进程实体的一部分,是操作系统最重要的记录型数据结构, 是进程存在的唯一标识 3. 虚时钟 4. 段式管理 5. 文件控制块(FCB) 6. 对换(SWAPPING) 7. 系统调用 8. 绝对路径名 9. 特别文件 10.虚设备技术 11.管道 12.中断接收 13.恢复现场 14.页式管理 15.作业步 16.字符流文件 17.通道 18.页面淘汰 19.多道程序设计 20.死锁 21.当前目录 22.快表 23.作业调度 24.原语 25.中断屏蔽 26.地址映射 27.文件目录 28.死锁避免 29.原语 31. CPU 状态 32.虚存

二 . 填空题 1. 分时系统追求的目标是 __及时响应 ___. 2. 用户进程从目态 (常态)转换为管态 (特态)的唯一途径是 ___ 中断 ________ . 3. 从静态的观点看 , 操作系统中的进程是由程序段、数据和 __ 作业控制块 PCB__ 三 部分组成 . 4. 在系统内核中必须包括的处理模块有进程调度、原语管理和 __中断处理 __. 5. 批处理操作系统中 , 作业存在的唯一标志是 _作业控制块 PCB ___. 6. 操作系统中的一种同步机制 , 由共享资源的数据及其在该数据上的一组操作组成 , 该同步机制称为 _管程 ______________ . 7. 在可变分区存储管理中 , 为实现地址映射 , 一般由硬件提供两个寄存器 , 一个是基 址寄存器 , 另一个是 _限长寄存器 ___. 8. 联想寄存器 (相联存储器 ) 的最重要、最独到的特点是 _按内容并行查找 ___. 9. 在虚拟段式存储管理中 , 若逻辑地址的段内地址大于段表中该段的段长 , 则发生 __ 地址越界 __中断 . 10. 文件系统中若文件的物理结构采用顺序结构 , 则文件控制快 FCB 中关于文件的物 理位置应包括 ___ 首块地址和文件长度 _. 11. 在操作系统设计时确定资源分配算法 , 以消除发生死锁的任何可能性 , 这种解决死 锁的方法是 __死锁预防 __. 12. 选择对资源需求不同的作业进行合理搭配 , 并投入运行是由 _作业调度算法 ___来完 成的. 13. 实时系统应具有两个基本特征 : 及时性和 ___可靠性 ___. 14. 磁带上的文件只能采用 _顺序 ______ 存取方式 . 15. 不让死锁发生的策略可以分成静态和动态的两种 , 死锁避免属于 __动态的 ___. 16. 在 UNIX 系统中 , 文件分成三类 , 即普通文件 , 目录文件和 ___特殊文件 __. 17. 在磁盘调度策略中有可能使 I/O 请求无限期等待的调度算法是 __最短寻道时间优先 18. 进程获得了除CPU 外的所有资源,一旦获得CPU 即可执行,这时进程处于—就绪 _ 状态 . 19. ______________________________________________________ 为实现CPU 与外部设备的并行工作,系统必须引入一通道 ____________________________________ 硬件基础. 20. 操作系统为保证不经文件拥有者授权 , 任何其它用户不能使用该文件所提出的解决 措施是 ___文件保密 __. 21. 两个或两个以上程序在计算机系统中同处于开始和结束之间的状态 , 这就称为 __ 并发 ___. 33. 磁盘调度 34. 缓冲技术 36. 进程调度 37. 虚设备 39. 死锁预防 40. 临界资源 — 42. 交换技术 43. 互斥区 段时间内只允许一个进程访问的资源,也称为独立资源

操作系统课后习题答案

第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 4.试说明推劢多道批处理系统形成和収展的主要劢力是什么? 答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。 12.试从交互性、及时性以及可靠性方面,将分时系统不实时系统迚行比较。答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。 (2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。 (3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 第二章 2. 画出下面四条诧句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a –b;S4=w:=c+1; 8.试说明迚程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O请求 (4)阻塞状态→就绪状态:I/O完成

北大操作系统高级课程-陈向群作业-XV6进程线程

阅读代码: 1.基本头文件: types.h param.h memlayout.h defs.h x86.h asm.h mmu.h elf.h 2.进程线程部分: vm.c proc.h proc.c swtch.S kalloc.c 以及相关其他文件代码 强调一下:由于内存管理部分还没有学到,所以请同学们遇到相关的代码和问题时,先将问题记录下来,到学过之后,再结合进程线程管理部分进行深入学习,最后要求对XV6有整体的理解。 请大家围绕如下一些问题阐述原理课的相关内容,以及XV6中是如何实现的。 1.什么是进程,什么是线程?操作系统的资源分配单位和调度单位分别是什么?XV6中的 进程和线程分别是什么,都实现了吗? 答:进程是在多道程序系统出现以后,为了描述系统内部各作业的活动规律而引进的概念。进程有3个基本状态,运行状态、就绪状态和等待状态(或称阻塞状态);进程只能由父进程建立,系统中所有的进程形成一种进程树的层次体系;挂起命令可有进程自己和其他进程发出,但是解除挂起命令只能由其他进程发出。进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。 线程可称为轻量级的进程,是操作系统可以运行调度的最小单位。线程是进程内的一个相对独立的可执行的单元。若把进程称为任务的话,那么线程则是应用中的一个子任务的执行。 不论操作系统中是否引入了线程,操作系统中资源分配的基本单位都是进程。如果操作系统没有引入线程那么进程就是调度的基本单位。线程并不独立拥有资源,它仅仅分配了一些运行必备的资源。一个进程中的多个线程共同分享进程中的资源。在引入了线程的操作系统中,线程就变成了调度的基本单位,进程中的部分线程阻塞并不代表该线程被阻塞。 xv6操作系统实现了一个基于进程(没有实现线程)的简单进程管理机制。通过对proc.h 文件的阅读了解到xv6的进程中定义了一个context结构,一个枚举类型proc_state定义了UNUSED, EMBRYO, SLEEPING, RUNNABLE, RUNNING, ZOMBIE 这6种进程的状态,proc结构定义了进程控制块的内容,cpu结构定义了寄存器和栈指针。 2.进程管理的数据结构是什么?在Windows,Linux,XV6中分别叫什么名字?其中包含哪 些内容?操作系统是如何进行管理进程管理数据结构的?它们是如何初始化的? 答:进程管理的数据结构是进程控制块(PCB)。在Linux中进程控制块的结构是由一个叫task_struct的数据结构定义的,ask_struct存在/include/ linux/sched.h中,其中包括管理进程

(完整版)操作系统课后题答案

2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口;(2)OS作为计算机系统资源的管理者; (3)OS实现了对计算机资源的抽象。 5.何谓脱机I/O和联机I/O? 答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。 11.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 20.试描述什么是微内核OS。 答:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用机制与策略分离原理;(4)采用面向对象技术。 25.何谓微内核技术?在微内核中通常提供了哪些功能? 答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。 第二章进程管理 2. 画出下面四条语句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a – b;S4=w:=c+1; 答:其前趋图为: 7.试说明PCB 的作用,为什么说PCB 是进程存在的惟一标志? 答:PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。 11.试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源;(2)执行状态→就绪状态:时间片用完;(3)执行状态→阻塞状态:I/O请求;(4)阻塞状态→就绪状态:I/O完成. 19.为什么要在OS 中引入线程?

操作系统课后题答案

2.1 一类操作系统服务提供对用户很有用的函数,主要包括用户界面、程序执行、I/O操作、文件系统操作、通信、错误检测等。 另一类操作系统函数不是帮助用户而是确保系统本身高效运行,包括资源分配、统计、保护和安全等。 这两类服务的区别在于服务的对象不同,一类是针对用户,另一类是针对系统本身。 2.6 优点:采用同样的系统调用界面,可以使用户的程序代码用相同的方式被写入设备和文件,利于用户程序的开发。还利于设备驱动程序代码,可以支持规范定义的API。 缺点:系统调用为所需要的服务提供最小的系统接口来实现所需要的功能,由于设备和文件读写速度不同,若是同一接口的话可能会处理不过来。 2.9 策略决定做什么,机制决定如何做。他们两个的区分对于灵活性来说很重要。策略可能会随时间或位置而有所改变。在最坏的情况下,每次策略改变都可能需要底层机制的改变。系统更需要通用机制,这样策略的改变只需要重定义一些系统参数,而不需要改变机制,提高了系统灵活性。 3.1、短期调度:从准备执行的进程中选择进程,并为之分配CPU; 中期调度:在分时系统中使用,进程能从内存中移出,之后,进程能被重新调入内存,并从中断处继续执行,采用了交换的方案。 长期调度:从缓冲池中选择进程,并装入内存以准备执行。 它们的主要区别是它们执行的频率。短期调度必须频繁地为CPU选择新进程,而长期调度程序执行地并不频繁,只有当进程离开系统后,才可能需要调度长期调度程序。 3.4、当控制返回到父进程时,value值不变,A行将输出:PARENT:value=5。 4.1、对于顺序结构的程序来说,单线程要比多线程的功能好,比如(1)输入三角形的三边长,求三角形面积;(2)从键盘输入一个大写字母,将它改为小写字母输出。

操作系统课后题及答案

第一章 1 .设计现代OS 的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 2 .OS 的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口 (2)OS 作为计算机系统资源的管理者 (3)OS 实现了对计算机资源的抽象 4 .试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。 7 .实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。 解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。 12 .试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。 答:( 1 )及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100 微妙。 (2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。 (3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度 的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13 .OS 有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。

北大操作系统实验指导书nachos

第一章绪论 (1) 第一节N ACHOS概述 (1) 一、引言 (1) 二、Nachos教学用操作系统 (1) 第二节N ACHOS的实验环境 (4) 一、Nachos的安装 (4) 二、Nachos的目录结构 (4) 三、各个部分的编译运行 (4) 四、应用程序的编译 (5) 第二章机器模拟 (6) 第一节概述 (6) 第二节机器模拟的实现 (10) 1. Sysdep模块分析(文件https://www.doczj.com/doc/c714582755.html, sysdep.h) (10) 1.1 PoolFile 函数 (10) 1.2 OpenForWrite 函数 (10) 1.3 OpenForReadWrite 函数 (10) 1.4 Read 函数 (10) 1.5 ReadPartial 函数 (11) 1.6 WriteFile 函数 (11) 1.7 Lseek 函数 (11) 1.8 Tell 函数 (11) 1.9 Close 函数 (11) 1.10 Unlink 函数 (12) 1.11 OpenSocket 函数 (12) 1.12 CloseSocket 函数 (12) 1.13 AssignNameToSocket 函数 (12) 1.14 DeAssignNameToSocket 函数 (12) 1.15 PoolSocket 函数 (12) 1.16 ReadFromSocket 函数 (13) 1.17 SendToSocket 函数 (13) 1.18 CallOnUserAbort 函数 (13) 1.19 Delay 函数 (13) 1.20 Abort 函数 (13) 1.21 Exit 函数 (14) 1.22 RandomInit 函数 (14) 1.23 Random 函数 (14) 1.24 AllocBoundedArray 函数 (14) 1.25 DeallocBoundedArray 函数 (14) 2. 中断模块分析(文件https://www.doczj.com/doc/c714582755.html, interrupt.h) (14) 2.1 PendingInterrupt类 (16) 2.2 Interrupt类 (17) 2.2.1 内部使用方法 (17) 2.2.2 内部使用函数 (18) 2.2.3 对外接口 (18) 3. 时钟中断模块分析(文件https://www.doczj.com/doc/c714582755.html, timer.h) (20)

操作系统课后习题答案

第一章操作系统引论 一、填空题 1~5 BCABA 6~8BCB 、填空题 处理机管理 计算机硬件 分时系统 单道批处理系统 、简答题 1. 什么叫多道程序?试述多道程序设计技术的基本思想 及特征。为什么对作业 进行多道批处理可以提高系统效率? 多道程序设计技术是指在计算机内存中同时存放几道相互独立的程序, 使它 们在管理程序控制下,相互穿插运行。 基本思想:在计算机的内存中同时存放多道相互独立的程序, 当某道程序因 某种原因不能继续运行下去时候,管理程序就将另一道程序投入运行,这样使几 道程序在系统内并行工作,可使中央处理机及外设尽量处于忙碌状态, 从而大大 提高计算机使用效率。 特征:多道性;无序性;调度性 在批处理系统中采用多道程序设计技术形成多道批处理系统, 多个作业成批送入 计算机,由作业调度程序自动选择作业运行,这样提高了系统效率。 2. 批处理系统、分时系统和实时系统各有什么特点?各适合应用于哪些方面? 批处 理系统得特征:资源利用率高;系统吞吐量大;平均周转时间长;无交 互能力。适用于那些需要较长时间才能完成的大作业。 分时系统的特征:多路性;独立性;及时性;交互性。适合进行各种事务处 理,并为进行软件开发提供了一个良好的环境。 实时系统的特征:多路性;独立性;实时性;可靠性;交互性。适合对随机发生 的外部事件能做出及时地响应和处理的系统, 如实时控制系统,实时信息处理系 统。1、 2、 存储器管理 设备管理 计算机软件 实时系统 批处理系统 多道批处理系统 文件管理

第二章进程管理 一、填空题 1~6 CBABBB 7 ① A ② C ③ B ④ D 8 ① D ② B 9 ~10 CA 11~15 CBBDB 16~18 DDC 20~21 BB 22 ① B ② D ③ F 25 B 26~30 BDACB 31~32 AD 二、填空题 1、动态性并发性 2、可用资源的数量等待使用资源的进程数 3、一次只允许一个进程使用的共享资源每个进程中访问临界资源的那段代码 4、执行态就绪态等待态 5、程序数据进程控制块进程控制块 &同步关系 7、等待 8、进程控制块 9、P V 11、同步互斥同步互斥 12、P V P V P V 13、封闭性 14、-(m-1)~1 15、② 16、动静 17、4 0 18、s-1<0 19、①③ 三、简答题 1.在操作系统中为什么要引入进程的概念?进程和程序的关系? 现代计算机系统中程序并发执行和资源共享的需要,使得系统的工作情况变得非常复杂,而程序作为机器指令集合,这一静态概念已经不能如实反映程序并发执行过程的动态性,因此,引入进程的概念来描述程序的动态执行过程。这对于我们理解、描述和设计操作系统具有重要意义。 进程和程序关系类似生活中的炒菜与菜谱。菜谱相同,而各人炒出来的菜的味道却差别很大。原因是菜谱基本上是一种静态描述,它不可能把所有执行的动态过程中,涉及的时空、环境等因素一一用指令描述清楚。 2.试从动态性、并发性和独立性上比较进程和程序。 动态性:进程的实质是进程实体的一次执行过程。动态性是进程的基本特征。而程序只是一组有序指令的集合,其本身不具有动态的含义,因而是静态的。 并发性:并发性是进程的重要特征,引入进程的目的也正是为了使其进程实体能和其他进程实体并发执行,而程序是不能并发执行的。 独立性:进程的独立性表现在进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。而程序不能做为一个独立的单位参与运行。 3.何谓进程,进程由哪些部分组成? 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位进程由程序段,数据段,进程控制块三部分组成。

操作系统部分课后习题答案

第一章 1、设计现代OS的主要目标就是什么? 方便性,有效性,可扩充性与开放性。 2、OS的作用可表现在哪几个方面? (1)OS作为用户与计算机硬件系统之间的接口。(2)OS作为计算机系统资源的管理者。(3)OS实现了对计算机资源的抽象。 4、试说明推动多道批处理系统形成与发展的主要动力就是什么 主要动力来源于四个方面的社会需求与技术发展(1)不断提高计算机资源的利用率(2)方便用户(3)器件的不断更新换代(4)计算机体系结构的不断发展。7、实现分时系统的关键问题就是什么?应如何解决 关键问题就是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令。在用户能接受的时延内将结果返回给用户。解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据,为每个终端配置缓冲区,暂存用户键入的命令或数据。针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行。这样在不长的时间内,能使每个作业都运行一次。 12、试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。 (1)及时性。实时信息处理系统对实时性的要求与分时系统类似,都就是以人所能接受的等待时间来确定,而实时控制系统的及时性,就是以控制对象所要求的

开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。(2)交互性。实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序,不像分时系统那样能向终端用户提供数据与资源共享等服务。(3)可靠性。分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至就是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13、OS有哪几大特征?其最基本的特征就是什么? 并发性、共享性、虚拟性与异步性四个基本特征。最基本的特征就是并发性。 14、处理机管理有哪些主要功能?它们的主要任务就是什么? 处理机管理的主要功能就是:进程管理、进程同步、进程通信与处理机调度 (1)进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换(2)进程同步:为多个进程(含线程)的运行进行协调(3)进程通信:用来实现在相互合作的进程之间的信息交换(4)处理机调度:①作业调度:从后备队里按照一定的算法,选出若干个作业,为她们分配运行所需的资源,首选就是分配内存②进程调度:从进程的就绪队列中,按照一定算法选出一个进程把处理机分配给它,并设置运行现场,使进程投入执行。 15、内存管理有哪些主要功能?她们的主要任务就是什么 内存管理的主要功能有:内存分配、内存保护、地址映射与内存扩充。 内存分配:为每道程序分配内存。

计算机操作系统习题及答案

第3章处理机调度1)选择题 (1)在分时操作系统中,进程调度经常采用_D_ 算法。 A. 先来先服务 B. 最高优先权 C. 随机 D. 时间片轮转 (2)_B__ 优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A. 作业 B. 静态 C. 动态 D. 资源 (3)__A___ 是作业存在的惟一标志。 A. 作业控制块 B. 作业名 C. 进程控制块 D. 进程名 (4)设有四个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理器上按单道方式运行,则平均周转时间为_ B_ 。 A. l小时 B. 5小时 C. 2.5小时 D. 8小时 (5)现有3个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2和T3,且T1<T2<T3。系统按单道方式运行且采用短作业优先算法,则平均周转时间是_C_ 。 A. T1+T2+T3 B. (T1+T2+T3)/3 C. (3T1+2T2+T3)/3 D. (T1+2T2+3T3)/3 (6)__D__ 是指从作业提交给系统到作业完成的时间间隔。 A. 运行时间 B. 响应时间 C. 等待时间 D. 周转时间 (7)下述作业调度算法中,_ C_调度算法与作业的估计运行时间有关。 A. 先来先服务 B. 多级队列 C. 短作业优先 D. 时间片轮转 2)填空题 (1)进程的调度方式有两种,一种是抢占(剥夺)式,另一种是非抢占(非剥夺)式。 (2)在_FCFS_ 调度算法中,按照进程进入就绪队列的先后次序来分配处理机。 (3)采用时间片轮转法时,时间片过大,就会使轮转法转化为FCFS_ 调度算法。 (4)一个作业可以分成若干顺序处理的加工步骤,每个加工步骤称为一个_作业步_ 。 (5)作业生存期共经历四个状态,它们是提交、后备、运行和完成。 (6)既考虑作业等待时间,又考虑作业执行时间的调度算法是_高响应比优先____ 。 3)解答题 (1)单道批处理系统中有4个作业,其有关情况如表3-9所示。在采用响应比高者优先调度算法时分别计算其平均周转时间T和平均带权周转时间W。(运行时间为小时,按十进制计算) 表3-9 作业的提交时间和运行时间

北大操作系统第三章:操作系统习题课(三)

操作系统习题讲解 进程的同步与互斥(三) 赵俊峰

P 、V 题的一般分析过程 1问题的分析确定有哪些进程y 1.问题的分析,确定有哪些进程;2y 2.确定各个进程之间的同步互斥关系;y 3.信号量的设计(初值以及用来实现哪些进程间的同步互斥、是否需要一般变量的辅助) 辅助);y 4、实现(避免出现不公平现象比如饥饿、避免出现死锁如P 操作的次序问题)。

同学们的问题 1有几个进程进程的划分? y :有几个进程,进程的划分? y 2:if 判断语句与P/V 之间的区别?多余的判断? y 3:每个进程的行为划分?对于行为的控制?该谁去控制? 触发行为的条件及被触发的行为?y 5:触发行为的条件及被触发的行为?y 6:需要全面考虑题目要求需要全面考虑题目要求 y 7:什么时候需要计数? 共享变量需要互斥使用y 8:共享变量需要互斥使用

进程同步与互斥习题(四) 请用信号量解决以下问题 y 把学生和监考老师都看作进程, 学生有N 人, 考场门口每次只能进出个人教师1人. 考场门口每次只能进出一个人, 进考场原则是先来先进. 当N 个学生都进入考场后, 教师才能发卷子. 学生交卷后可以离开考场. 教师要等收上来全部卷子并封装卷子后才能离开考场. (1)(1) 问共需设置几个进程?(2) 试用P 、V 操作解决上述问题中的同步和互斥关系.

进程同步与互斥习题(四) 共享资源:考场门口 请用信号量解决以下问题 y 把学生和监考老师都看作进程, 学生有N 人, 考场门口每次只能进出个人教师1人. 考场门口每次只能进出一个人, 进考场原则是先来先进.c 当N 个学生都进入考场后, 教师才能发卷子. 学生交卷后可以离开考场. d 教师要等收上来全部卷子并封 离同步行为:c d 装卷子后才能离开考场.(1) ? ()问共需设置几个进程(2) 试用P 、V 操作解决上述问题中的同步和互斥关系.

操作系统课后习题答案

5.1为什么对调度程序而言,区分CPU约束程序和I/O约束程序很重要? 答:在运行I/O操作前,I/0限制的程序只运行很少数量的计算机操作。而CPU约束程序一般来说不会使用很多的CPU。另一方面,CPU约束程序会利用整个时间片,且不做任何阻碍I/O操作的工作。因此,通过给I/O约束程序优先权和允许在CPU 约束程序之前运行,可以很好的利用计算机资源。 5.3考虑用于预测下一个CPU区间长度的指数平均公式。将下面的值赋给算法中的参数的含义是什么? A.a=0 且t0=100 ms B.a=0.99 且t0=10 ms 答:当a=0且t0=100ms时,公式总是会预测下一次的CPU区间为100毫秒。当a=0.99且t0=10毫秒时,进程将给予更高的重量以便能和过去相比。因此,调度算法几乎是无记忆的,且简单预测未来区间的长度为下一次的CPU执行的时间片。 5.4考虑下面一组进程,进程占用的CPU区间长度以毫秒来计算: 进程区间时间优先级 P110 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 假设在0时刻进程以P1、P2、P3、P4、P5的顺序到达。 a.画出4 个Gantt 图分别演示用FCFS、SJF、非抢占优先级(数字小代表优先级高)和RR(时间片=1)算法调度时进程的执行过程。 b.每个进程在每种调度算法下的周转时间是多少? c.每个进程在每种调度算法下的等待时间是多少? d.哪一种调度算法的平均等待时间最小? 答a.

FCFS: SJF: 非抢占优先级: RR: b.周转时间: c.等待时间: d.从上表中可以看出SJF的等待时间最小。

操作系统课后题答案

精品文档 课本课后题部分答案 第一章 的主要目标是什么?OS1.设计现代答:(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.文件管理有哪些主要功能?其主要任务是什么? 答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。 文件管理的主要任务:管理用户文件和系统文件,方便用户使用,保证文件安全性。 第二章

(完整版)操作系统课后题答案

课本课后题部分答案 第一章 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.文件管理有哪些主要功能?其主要任务是什么? 答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。文件管理的主要任务:管理用户文件和系统文件,方便用户使用,保证文件安全性。 第二章 1.什么是前趋图?为什么要引入前趋图? 答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。

操作系统概念课后习题答案整理.doc

1.1在多道程序和分时环境中,多个用户同时共享一个系统,返种情冴导致多种安全问题。a. 列出此类的问题b.在一个分时机器中,能否确保像在与用机器上一样的安全度?并解释乀。 Answer:a.窃叏戒者复制某用户癿程序戒数据;没有合理癿预算来使用资源(CPU,内存,磁盘空闱,外围设备)b.应该丌行,因为人类设计癿仸何保护机制都会丌可避兊癿被另外癿人所破译,而丏径自信癿认为程序本身癿实现是正确癿是一件困难癿亊。 1.2资源的利用问题在各种各样的操作系统中出现。试例丼在下列的环境中哪种资源必须被严栺的管理。(a)大型电脑戒迷你电脑系统(b)不服务器相联的工作站(c)手持电脑 Answer: (a)大型电脑戒迷你电脑系统:内存呾CPU资源,外存,网络带宽(b)不服务器相联癿工作站:内存呾CPU资源(c)手持电脑:功率消耗,内存资源 1.3在什举情冴下一个用户使用一个分时系统比使用一台个人计算机戒单用户 工作站更好? Answer:当另外使用分时系统癿用户较少时,仸务十分巨大,硬件速度径快,分时系统有意丿。充分利用该系统可以对用户癿问题产生影响。比起个人电脑,问题可以被更快癿解决。迓有一种可能収生癿情冴是在同一时闱有许多另外癿用户在同一时闱使用资源。当作业足够小,丏能在个人计算机上合理癿运行时,以及当个人计算机癿性能能够充分癿运行程序来达到用户癿满意时,个人计算机是最好癿,。 1.4在下面丼出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实

时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 Answer:对二实时系统来说,操作系统需要以一种公平癿方式支持虚拟存储器呾分时系统。对二手持系统,操作系统需要提供虚拟存储器,但是丌需要提供分时系统。批处理程序在两种环境中都是非必需癿。 1.5描述对称多处理(SMP)和非对称多处理乀间的区别。多处理系统的三个优点和一个缺点? Answer:SMP意味着所以处理器都对等,而丏I/O可以在仸何处理器上运行。非对称多处理有一个主处理器控制系统,不剩下癿处理器是随从关系。主处理器为从处理器安排工作,而丏I/O也叧在主处理器上运行。多处理器系统能比单处理器系统节省资金,返是因为他们能共享外设,大容量存储呾电源供给。它们可以更快速癿运行程序呾增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、觃模经济、增加可靠性) 1.6集群系统不多道程序系统的区别是什举?两台机器属二一个集群来协作提 供一个高可靠性的服务器的要求是什举? Answer:集群系统是由多个计算机耦合成单一系统幵分布二整个集群来完成计算仸务。另一方面,多道程序系统可以被看做是一个有多个CPU组成癿单一癿物理实体。集群系统癿耦合度比多道程序系统癿要低。集群系统通过消息迕行通信,而多道程序系统是通过共享癿存储空闱。为了两台处理器提供较高癿可靠性服务,两台机器上癿状态必项被复制,幵丏要持续癿更新。当一台处理器出现敀障时,另一台处理器能够接管敀障处理癿功能。 1.7试区分分布式系统(distribute system)的客户机-服务器(client-server)模型不对等系统(peer-to-peer)模型

操作系统课后答案 全

1.2 操作系统以什么方式组织用户使用计算机? 答:操作系统以进程的方式组织用户使用计算机。用户所需完成的各种任务必须由相应的程序来表达出来。为了实现用户的任务,必须让相应功能的程序执行。而进程就是指程序的运行,操作系统的进程调度程序决定CPU在各进程间的切换。操作系统为用户提供进程创建和结束等的系统调用功能,使用户能够创建新进程。操作系统在初始化后,会为每个可能的系统用户创建第一个用户进程,用户的其他进程则可以由母进程通过“进程创建”系统调用进行创建。 1.4 早期监督程序(Monitor)的功能是什么? 答:早期监督程序的功能是代替系统操作员的部分工作,自动控制作业的运行。监督程序首先把第一道作业调入主存,并启动该作业。运行结束后,再把下一道作业调入主存启动运行。它如同一个系统操作员,负责批作业的I/O,并自动根据作业控制说明书以单道串行的方式控制作业运行,同时在程序运行过程中通过提供各种系统调用,控制使用计算机资源。 1.7 试述多道程序设计技术的基本思想。为什么采用多道程序设计技术可以提高资源利用率? 答:多道程序设计技术的基本思想是,在主存同时保持多道程序,主机以交替的方式同时处理多道程序。从宏观上看,主机内同时保持和处理若干道已开始运行但尚未结束的程序。从微观上看,某一时刻处理机只运行某道程序。 可以提高资源利用率的原因:由于任何一道作业的运行总是交替地串行使用CPU、外设等资源,即使用一段时间的CPU,然后使用一段时间的I/O设备,由于采用多道程序设计技术,加之对多道程序实施合理的运行调度,则可以实现CPU和I/O设备的高度并行,可以大大提高CPU与外设的利用率。 1.8 什么是分时系统?其主要特征是什么?适用于哪些应用? 答:分时系统是以多道程序设计技术为基础的交互式系统,在此系统中,一台计算机与多台终端相连接,用户通过各自的终端和终端命令以交互的方式使用计算机系统。每个用户都感觉到好像是自己在独占计算机系统,而在系统内部则由操作系统以时间片轮转的方式负责协调多个用户分享CPU。主要特征是:并行性:系统能协调多个终端用户同时使用计算机系统,能控制多道程序同时运行。 共享性:对资源而言,系统在宏观上使各终端用户共享计算机系统中的各种资源,而在微观上它们则分时使用这些资源。 交互性:人与计算机以交互的方式进行工作。 独占性:使用户感觉到他在独占使用计算机。 现在的系统大部分都是分时系统,主要应用于人机交互的方面。 2.1 什么是中断?什么是异常?它们有何区别? 答:中断是指来自CPU执行指令以外的事件发生后,处理机暂停正在运行的程序,转去执行处理该事件的程序的过程。 异常是指源自CPU执行指令内部的事件发生后,处理机暂停正在执行的程序,转去处理该事件的过程。 区别:广义的中断包括中断和异常,统一称为中断。狭义的中断和异常的区别在于是否与正在执行的指令有关,中断可以屏蔽,而异常不可屏蔽。 2.2什么是多级中断?为什么要把中断分级?试述多级中断的处理原则。 答:

相关主题
文本预览
相关文档 最新文档