计算机操作系统第三版课后答案(整理)

更新时间:2023-10-08 06:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机操作系统第三版课后答案(汤子瀛等著)

计算机操作系统课后答案

计算机操作系统【第一章】

1. 设计现代OS的主要目标是什么?

方便性,有效性,可扩充性和开放性.

1 OS的作用可表现为哪几个方面?

a. OS作为用户与计算机硬件系统之间的接口; b. OS作为计算机系统资源的管理者; c. OS作为扩充机器.

1. 试说明推动多道批处理系统形成和发展的主要动力是什么?

不断提高计算机资源利用率和系统吞吐量的需要; 平均周转时间长,无交互能力.

1实现分时系统的关键问题是什么?应如何解决?

a. 关键问题:及时接收,及时处理;

b. 对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输 入的数据;

---对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行 一次.

1 为什么要引入实时操作系统?

更好地满足实时控制领域和实时信息处理领域的需要.

1OS具有哪几大特征?它的最基本特征是什么?

a. 并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(Asynchronism). b. 其中最基本特征是并发和共享.

1 内存管理有哪些主要功能?它们的主要任务是什么?

a. 主要功能: 内存分配,内存保护,地址映射和内存扩充等.

b. 内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,以减少不可用的内存空间,

允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要. ---内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰.

---地址映射的主要任务是将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址. ---内存扩充的主要任务是借助虚拟存储技术,从逻辑上去扩充内存容量.

1 处理机管理具有哪些功能?它们的主要任务是什么?

第 1 页 共 16 页

计算机操作系统第三版课后答案(汤子瀛等著)

a. 进程控制,进程同步,进程通信和调度.

b. 进程控制的主要任务是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态 转换.

---进程同步的主要任务是对诸进程的运行进行调节.

---进程通信的任务是实现在相互合作进程之间的信息交换.

---调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个

作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新

进程,把处理机分配给它,并为它设置运行现场,是进程投入运行.

1 设备管理有哪些主要功能?其主要任务是什么?

a. 主要功能: 缓冲管理,设备分配和设备处理,以及虚拟设备等. b. 主要任务: 完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速

度;以及方便用户使用I/O设备.

1 文件管理有哪些主要功能?其主要任务是什么?

a. 主要功能: 对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护. b. 主要任务: 对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性.

1 试在交互性,及时性和可靠性方面,将分时系统与实时系统进行比较.

a. 分时系统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统

虽然也有交互能力,但其交互能力不及前者.

b. 实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制

系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的. c. 实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高.

1 是什么原因使操作系统具有异步性特征? a. 程序执行结果是不确定的,即程序是不可再现的.

b. 每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,即不可预知性.

1何为微内核技术?在为内核中通常提供了哪些功能?

1、 足够小的内核2、基于客户?服务器模式3、应用“机制与策略分离”原理4、采用面向

对象技术

2、 功能:进程管理 低级存储器管理 中断和陷入处理

2. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?

为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,而引入了进程概念.

第 2 页 共 16 页

计算机操作系统第三版课后答案(汤子瀛等著)

影响: 使程序的并发执行得以实行.

2. 试从动态性,并发性和独立性上比较进程和程序?

a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,

以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体.

b. 并发性是进程的重要特征,同时也是OS的重要特征.引入进程的目的正是为了使其程序能和其它进程

的程序并发执行,而程序是不能并发执行的.

c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本

单位.而对于未建立任何进程的程序,都不能作为一个独立的单位参加运行.

2.试说明PCB的作用?为什么说PCB是进程存在的唯一标志?

a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构.PCB中记录了操作系统所需的用于

描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序环境下不能独立运行

的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程. b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别

的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志.

2. 试说明进程在三个基本状态之间转换的典型原因.

a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态.

b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻 塞状态.

c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态.

2. 在创建一个进程时,需完成的主要工作是什么?

a. 操作系统发现请求创建新进程事件后,调用进程创建原语Creat(); b. 申请空白PCB; c. 为新进程分配资源; d. 初始化进程控制块; e. 将新进程插入就绪队列.

2.在撤消一个进程时,需完成的主要工作是什么?

a. OS调用进程终止原语; b. 根据被终止进程的标志符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态; c. 若被终止进程正处于执行状态,应立即中止该进程的执行,并设置调度标志为真; d. 若该进程还有子孙进程,还应将其所有子孙进程予以终止;

第 3 页 共 16 页

计算机操作系统第三版课后答案(汤子瀛等著)

e. 将该进程所拥有的全部资源,或者归还给其父进程,或者归还给系统;

f. 将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息. .

2. 试从调度性,并发性,拥有资源及系统开销几个方面,对进程和线程进行比较.

a. 在引入线程的OS中,把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位;

b. 在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发

执行,因而使OS具有更好的并发性;

c. 进程始终是拥有资源的一个独立单位,线程自己不拥有系统资源,但它可以访问其隶属进程的资源;

d. 在创建,撤消和切换进程方面,进程的开销远远大于线程的开销.

2. 什么是用户级线程和内核级线程?.

a. 内核级线程是依赖于内核的,它存在于用户进程和系统进程中,它们的创建,撤消和切换都由内核 实现;

---用户级线程仅存在于用户级中,它们的创建,撤消和切换不利用系统调用来实现,因而与内核无关,

内核并不知道用户级线程的存在.

b. 内核级线程的调度和切换与进程十分相似,调度方式采用抢占式和非抢占式,调度算法采用时间轮转

法和优先权算法等,当由线程调度选中一个线程后,再将处理器分配给它;而用户级线程通常发生在

一个应用程序的诸线程之间,无需终端进入OS内核,切换规则也较简单,因而,用户级线程的切换 速度较快.

---用户级线程调用系统调用和调度另一个进程执行时,内核把它们看作是整个进程的行为,内核级线程

调用是以线程为单位,内核把系统调用看作是该线程的行为. ---对于用户级线程调用,进程的执行速度随着所含线程数目的增加而降低,对于内核级线程则相反.

.为什么要在OS中引入线程 使多个程序能够并发执行,以提高资源利用率和系统吞吐量,减少程序在并发执行时所付出的时空开销,是OS系统具有更好的并发性! 当前有哪几种高级通信机制?

共享存储器系统、消息传递系统、管道通信系统 进程在运行存在哪两种形式的制约,并举例

2.

为什么进程在进入临界区之前应先执行“进入去”代码?推出前又要执行“退出区”代码? 用于将临界区正被访问的标志恢复为未被访问的标志 同步机构应遵循哪些基本准则?为什么? 空闲让进 忙则等待 有限等待 让权等待

第 4 页 共 16 页

计算机操作系统第三版课后答案(汤子瀛等著)

2.. 什么是临界资源和临界区?

a. 一次仅允许一个进程使用的资源成为临界资源.

b. 在每个进程中,访问临界资源的那段程序称为临界区.

2. 为什么进程在进入临界区之前,应先执行\进入区\代码,在退出临界区后又执行\退出

区\代码?

为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问, 并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为\进入区\代码;在退出临界区后,必须执行\退出区\代码,用于恢复未被访问标志.

2. 在生产者-消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果会有何影

响?

生产者-消费者问题可描述如下:

var mutex,empty,full: semaphore:=1,n,0; buffer: array[0,...,n-1] of item; in,out: integer:=0,0; begin parbegin

producer: begin repeat . .

produce an item in nextp; . .

wait(empty); wait(mutex);

buffer(in):=nextp; in:=(in+1) mod n; signal(mutex);

/* ************** */ signal(full);

/* ************** */ until false; end

consumer: begin repeat wait(full); wait(mutex);

nextc:=buffer(out); out:=(out+1) mod n; signal(mutex);

第 5 页 共 16 页

本文来源:https://www.bwwdw.com/article/9bud.html

Top