《现代操作系统第四版》 第三章 答案

合集下载

计算机操作系统(第四版)汤小丹课后答案完整版70632精编版

计算机操作系统(第四版)汤小丹课后答案完整版70632精编版

第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。

OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。

4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。

5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。

该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。

而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。

主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。

7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。

解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。

《现代操作系统第四版》 第三章 答案

《现代操作系统第四版》 第三章 答案

第三章内存管理习题1.IBM360有一个设计,为了对2KB大小的块进行加锁,会对每个块分配一个4bit的密钥,这个密钥存在PSW(程序状态字)中,每次内存引用时,CPU都会进行密钥比较。

但该设计有诸多缺陷,除了描述中所言,请另外提出至少两条缺点。

A:密钥只有四位,故内存只能同时容纳最多十六个进程;需要用特殊硬件进行比较,同时保证操作迅速。

2.在图3-3中基址和界限寄存器含有相同的值16384,这是巧合,还是它们总是相等?如果这只是巧合,为什么在这个例子里它们是相等的?A:巧合。

基地址寄存器的值是进程在内存上加载的地址;界限寄存器指示存储区的长度。

3.交换系统通过紧缩来消除空闲区。

假设有很多空闲区和数据段随机分布,并且读或写32位长的字需要10ns的时间,紧缩128MB大概需要多长时间?为了简单起见,假设空闲区中含有字0,内存中最高地址处含有有效数据。

A:32bit=4Byte===>每字节10/4=2.5ns 128MB=1282^20=2^27Byte 对每个字节既要读又要写,22.5*2^27=671ms4.在一个交换系统中,按内存地址排列的空闲区大小是10MB,4MB,20MB,18MB,7MB,9MB,12MB,和15MB。

对于连续的段请求:(a) 12MB(b) 10MB(c) 9MB使用首次适配算法,将找出哪个空闲区?使用最佳适配、最差适配、下次适配算法呢?A:首次适配算法:20MB,10MB,18MB;最佳适配算法:12MB,10MB,9MB;最差适配算法:20MB;18MB;15MB;下次适配算法:20MB;18MB;9MB;5.物理地址和虚拟地址有什么区别?A:实际内存使用物理地址。

这些是存储器芯片在总线上反应的数字。

虚拟地址是指一个进程的地址空间的逻辑地址。

因此,具有32位字的机器可以生成高达4GB的虚拟地址,而不管机器的内存是否多于或少于4GB。

6.对下面的每个十进制虚拟地址,分別使用4KB页面和8KB页面计算虚拟页号和偏移量:20000,32768,60000。

现代操作系统课后答案

现代操作系统课后答案

现代操作系统第一章答案1.操作系统必须向用户提供一台扩展(即,实际上)的机器,和它必须管理I/O设备和其它系统资源。

2.多道程序就是CPU在内存中多个进程之间迅速切换。

它一般被用来使CPU保持忙碌,当有一个或多个进程进行I/O时。

3.输入spooling是作业中的读入技术,例如,从卡片在磁盘,这样当当前执行的进程完成时,将等候CPU。

输出spooling在打印之前首先复制打印文件,而非直接打印。

在个人计算机上的输入spooling很少,但是输出spooling非常普遍。

4.多道程序的主要原因是当等候I/O完成时CPU有事可做。

如果没有DMA,I/O操作时CPU 被完全占有,因此,多道程序无利可图(至少在CPU利用方面)。

无论程序作多少I/O操作,CPU 都是100%的忙碌。

当然,这里假定主要的延迟是数据复制时的等待。

如果I/O很慢的话,CPU 可以做其它工作。

5.第二代计算机没有必要的硬件保护操作系统免受恶意的用户程序的侵害。

6.它依然存在。

例如,Intel以各种各样的不同的属性包括速度和能力消耗来生产Pentium I, II, III 和4。

所有这些机器的体系结构都是兼容的,仅仅是价格上的不同,这些都是家族思想的本质。

7. 25 X 80字符的单色文本屏幕需要2000字节的缓冲器。

1024 X 768象素24位颜色的位图需要2359296字节。

1980年代这两种选择将分别地耗费$10和$11520。

而对于当前的价格,将少于$1/MB。

8.选择(a),(c),(d)应该被限制在内核模式。

9.个人的计算机系统总是交互式的,而且经常只有一个用户。

而大型机系统几乎总有许多用户强调批处理或者分时。

除了对所有资源的有效使用,大型机系统上的保护更加重要。

10.从管道中每纳秒出现一条指令。

意味着该机器每秒执行十亿条指令。

它对于管道有多少个阶段全然不予理睬。

即使是10-阶段管道,每阶段1 nsec,也将执行对每秒十亿条指令。

计算机操作系统课后习题答案第四版

计算机操作系统课后习题答案第四版

计算机操作系统课后习题答案第四版在学习计算机操作系统这门课程时,课后习题是巩固知识、检验理解程度的重要环节。

而对于第四版的课后习题答案,其涵盖了丰富且关键的知识点,为我们深入理解操作系统的工作原理和机制提供了有力的支持。

首先,让我们来看一下关于进程管理的部分习题答案。

进程是操作系统中最基本的概念之一,理解进程的状态转换、进程调度算法等对于掌握操作系统的运行机制至关重要。

比如,在一道关于进程调度算法的习题中,通过分析不同算法在各种场景下的性能表现,我们可以得出结论:先来先服务算法简单直观,但可能导致短作业等待时间过长;短作业优先算法能够有效减少平均等待时间,但对长作业不利;时间片轮转算法则能保证每个进程都能获得一定的 CPU 时间,但时间片大小的选择会影响系统性能。

通过这些习题的练习和答案的分析,我们能够清晰地认识到不同调度算法的优缺点,以及在实际应用中如何根据系统需求进行选择。

在内存管理方面,习题答案也为我们揭示了许多重要的概念和方法。

虚拟内存技术是现代操作系统中广泛应用的一项技术,它使得进程能够在逻辑上拥有比物理内存更大的空间。

通过相关习题的解答,我们明白了页表的作用、页面置换算法的原理以及如何计算内存的有效访问时间等。

例如,在分析最佳置换算法时,我们可以看到它在理论上能够实现最小的缺页率,但由于需要预先知道未来的访问序列,在实际中难以实现。

而像最近最少使用算法和先进先出算法,则在一定程度上能够近似地模拟最优效果,同时具有较好的可实现性。

文件系统的习题答案则帮助我们深入理解了文件的组织、存储和访问方式。

文件的目录结构、文件的分配方式以及文件的读写操作等都是这部分的重点。

比如,在研究连续分配、链式分配和索引分配这三种文件分配方式时,答案详细地比较了它们的优缺点。

连续分配方式能够实现快速的顺序访问,但不利于文件的扩展和删除;链式分配方式解决了文件扩展的问题,但随机访问效率较低;索引分配方式则综合了两者的优点,但需要额外的存储空间来存储索引表。

(完整版)计算机操作系统(第四版)课后习题答案第三章

(完整版)计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。

(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。

为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。

当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。

3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。

系统根据该说明书对程序的运行进行控制。

批处理系统中是以作业为基本单位从外存调入内存。

作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。

作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。

4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。

JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。

计算机操作系统(第四版)课后习题答案第三章

计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度‎与死锁1,高级调度与‎低级调度的‎主要任务是‎什么?为什么要引‎入中级调度‎?【解】(1)高级调度主‎要任务是用‎于决定把外‎存上处于后‎备队列中的‎那些作业调‎入内存,并为它们创‎建进程,分配必要的‎资源,然后再将新‎创建的进程‎排在就绪队‎列上,准备执行。

(2)低级调度主‎要任务是决‎定就绪队列‎中的哪个进‎程将获得处‎理机,然后由分派‎程序执行把‎处理机分配‎给该进程的‎操作。

(3)引入中级调‎度的主要目‎的是为了提‎高内存的利‎用率和系统‎吞吐量。

为此,应使那些暂‎时不能运行‎的进程不再‎占用宝贵的‎内存空间,而将它们调‎至外存上去‎等待,称此时的进‎程状态为就‎绪驻外存状‎态或挂起状‎态。

当这些进程‎重又具备运‎行条件,且内存又稍‎有空闲时,由中级调度‎决定,将外存上的‎那些重又具‎备运行条件‎的就绪进程‎重新调入内‎存,并修改其状‎态为就绪状‎态,挂在就绪队‎列上,等待进程调‎度。

3、何谓作业、作业步和作‎业流?【解】作业包含通‎常的程序和‎数据,还配有作业‎说明书。

系统根据该‎说明书对程‎序的运行进‎行控制。

批处理系统‎中是以作业‎为基本单位‎从外存调入‎内存。

作业步是指‎每个作业运‎行期间都必‎须经过若干‎个相对独立‎相互关联的‎顺序加工的‎步骤。

作业流是指‎若干个作业‎进入系统后‎依次存放在‎外存上形成‎的输入作业‎流;在操作系统‎的控制下,逐个作业进‎程处理,于是形成了‎处理作业流‎。

4、在什么情冴‎下需要使用‎作业控制块‎J CB?其中包含了‎哪些内容?【解】每当作业进‎入系统时,系统便为每‎个作业建立‎一个作业控‎制块JCB‎,根据作业类‎型将它插入‎到相应的后‎备队列中。

JCB 包含的内容‎通常有:1) 作业标识2‎)用户名称3‎)用户账户4‎)作业类型(CPU繁忙‎型、I/O芳名型、批量型、终端型)5)作业状态6‎)调度信息(优先级、作业已运行‎)7)资源要求8‎)进入系统时‎间9) 开始处理时‎间10) 作业完成时‎间11) 作业退出时‎间12) 资源使用情‎况等5.在作业调度‎中应如何确‎定接纳多少‎个作业和接‎纳哪些作业‎?【解】作业调度每‎次接纳进入‎内存的作业‎数,取决于多道‎程序度。

操作系统第四版汤小丹课后答案

操作系统第四版汤小丹课后答案

操作系统第四版汤小丹课后答案【篇一:计算机操作系统课后习题答案(第三版) 汤小丹】os的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.os的作用可表现在哪几个方面?答:(1)os作为用户与计算机硬件系统之间的接口(2)os作为计算机系统资源的管理者(3)os实现了对计算机资源的抽象3.为什么说os实现了对计算机资源的抽象?答:os首先在裸机上覆盖一层i/o设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。

os 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。

4.试说明推劢多道批处理系统形成和収展的主要劢力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。

5.何谓脱机i/o和联机i/o?答:脱机i/o 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。

该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。

而联机i/o方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

6.试说明推劢分时系统形成和収展的主要劢力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。

主要表现在:cpu 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。

7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。

解决方法:针对及时接收问题,可以在系统中设臵多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配臵缓冲区,暂存用户键入的命令或数据。

计算机操作系统(第四版)汤小丹课后答案完整版

计算机操作系统(第四版)汤小丹课后答案完整版

第一章1.设计现代OS 的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS 的作用可表现在哪几个方面?答:(1)OS 作为用户与计算机硬件系统之间的接口(2))OS 作为计算机系统资源的管理者(3))OS 实现了对计算机资源的抽象3.为什么说OS 实现了对计算机资源的抽象?答:OS 首先在裸机上覆盖一层I/O 设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。

OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。

4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1 )不断提高计算机资源的利用率;(2 )方便用户;(3 )器件的不断更新换代;(4 )计算机体系结构的不断发展。

5.何谓脱机I/O 和联机I/O ?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。

该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。

而联机I/O 方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。

主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。

7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。

解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。

精编第四版 计算机操作系统 第三章习题

精编第四版 计算机操作系统  第三章习题
作业 提交 运行 开始 完成 号 时刻 时间 时刻 时刻
周转 时间
带权 周转 时间
1 10.00 2 10.00 12.00 2
1
2 10.10 1 12.00 13.00 2.90 2.9
3 10.25 0.25 13.00 13.25 3 12
平均
2.63 5.3
第三章 处理机调度与死锁
第三章 习题课
第三章 处理机调度与死锁Fra bibliotek第三章
一、选择题
习题课
(2)我们如果为每一个作业只建立一个进程,则为了照顾短作 业用户,应采用__B____;为照顾紧急作业的用户,应采用 ___E___;为能实现人机交互作用采用___C___;而能使短作业、 长作业及交互作业用户都比较满意时,应采用___D___。
A.FCFS调度算法 C.时间片轮转法 E.基于优先权调度算法
(4)在高响应比优先的调度算法中,当各个作业的等待时间相 同时,__短__作__业__将得到优先调度;当各个作业要求的运行时 间相同时,_等__待最__时先__间到__最达__长者__者___将得到优先调度。
第三章 处理机调度与死锁
第三章
三、应用题
习题课
1.设有三道作业,它们的提交时间和运行时间如下表:
A.预防死锁 B.避免死锁 C.检测死锁 D.三者的混合
(5)在下列死锁的解决办法中,属于预防死锁策略的是__B__。
A.银行家算法
B.资源有序分配法
C.死锁检测法
D.资源分配图化简法
第三章 处理机调度与死锁
第三章
二、填空题
习题课
(1)资源的一次分配法和有序分配法分别破坏了产生死锁的必 要条件中的_请__求__和__保__持__条__件_和__环__路__等_待__条__件___,它们属于 __预__防__死__锁__,而银行家算法属于_避__免__死__锁___。

操作系统_第四版_答案_孙钟秀主编-第三章

操作系统_第四版_答案_孙钟秀主编-第三章

for i=1 to 100 do i++ if name[i] ==null then name[i]:= readername; get the seat number = i ; release ( IM ) ; end procedure readerleave ( readername ) begin check ( IM ) ; seatcount--; for i = 1 to 1 00 do i++ if name[i ]readername then name [i]:null; release ( IM ) ; end begin seatcount : = 1OO ; name:=null ; end cobegin { process readeri ( i = 1 , 2 .„ ) begin readercome ( readername ); read the book ; readerleave ( readername ); leave the readroom; end } coend. 5. 在一个盒子里,混装了数量相等的黑白围棋子· 现在用自动分拣系统把黑子、白子分开,设 分拣系统有二个进程 P1 和 P2 ,其中 P1 拣白子;P2 拣黑子。规定每个进程每次拣一子;当一 个进程在拣时,不允许另一个进程去拣;当一个进程拣了一子时,必须让另一个进程去拣.试写 出两进程 P1 和 P2 能并发正确执行的程序。 答 1 :实质上是两个进程的同步问题,设信号量 s1 和 s2 分别表示可拣白子和黑子,不失一般 性,若令先拣白子。 var S1 , S2 : semaphore; S1 : = l; S2 :=0; cobegin { process P1 begin repeat P( S1 ) ; 拣白子 V ( S2 ) ; until false ;

(完整版)计算机操作系统(第四版)汤小丹课后答案完整版

(完整版)计算机操作系统(第四版)汤小丹课后答案完整版

第一章1.设计现代OS 的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS 的作用可表现在哪几个方面?答:(1)OS 作为用户与计算机硬件系统之间的接口(2))OS 作为计算机系统资源的管理者(3))OS 实现了对计算机资源的抽象3.为什么说OS 实现了对计算机资源的抽象?答:OS 首先在裸机上覆盖一层I/O 设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。

OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。

4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1 )不断提高计算机资源的利用率;(2 )方便用户;(3 )器件的不断更新换代;(4 )计算机体系结构的不断发展。

5.何谓脱机I/O 和联机I/O ?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。

该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。

而联机I/O 方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。

主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。

7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。

解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。

计算机操作系统(第四版)汤小丹课后答案完整版

计算机操作系统(第四版)汤小丹课后答案完整版

第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS 作为用户与计算机硬件系统之间的接口(2))OS作为计算机系统资源的管理者(3))OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。

OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。

4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。

5.何谓脱机I/O和联机I/O?答:脱机I/O是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。

该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。

而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。

主要表现在:CPU的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。

7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户.解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。

计算机操作系统(第四版)汤小丹课后答案完整版(同名3710)

计算机操作系统(第四版)汤小丹课后答案完整版(同名3710)

第一章1.设计现代OS 的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS 的作用可表现在哪几个方面?答:(1)OS 作为用户与计算机硬件系统之间的接口(2))OS 作为计算机系统资源的管理者(3))OS 实现了对计算机资源的抽象3.为什么说OS 实现了对计算机资源的抽象?答:OS 首先在裸机上覆盖一层I/O 设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。

OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。

4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1 )不断提高计算机资源的利用率;(2 )方便用户;(3 )器件的不断更新换代;(4 )计算机体系结构的不断发展。

5.何谓脱机I/O 和联机I/O ?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。

该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。

而联机I/O 方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。

主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。

7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。

解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章内存管理习题1.IBM360有一个设计,为了对2KB大小的块进行加锁,会对每个块分配一个4bit的密钥,这个密钥存在PSW(程序状态字)中,每次内存引用时,CPU都会进行密钥比较。

但该设计有诸多缺陷,除了描述中所言,请另外提出至少两条缺点。

A:密钥只有四位,故内存只能同时容纳最多十六个进程;需要用特殊硬件进行比较,同时保证操作迅速。

2.在图3-3中基址和界限寄存器含有相同的值16384,这是巧合,还是它们总是相等?如果这只是巧合,为什么在这个例子里它们是相等的?A:巧合。

基地址寄存器的值是进程在内存上加载的地址;界限寄存器指示存储区的长度。

3.交换系统通过紧缩来消除空闲区。

假设有很多空闲区和数据段随机分布,并且读或写32位长的字需要10ns的时间,紧缩128MB大概需要多长时间?为了简单起见,假设空闲区中含有字0,内存中最高地址处含有有效数据。

A:32bit=4Byte===>每字节10/4=2.5ns 128MB=1282^20=2^27Byte 对每个字节既要读又要写,22.5*2^27=671ms4.在一个交换系统中,按内存地址排列的空闲区大小是10MB,4MB,20MB,18MB,7MB,9MB,12MB,和15MB。

对于连续的段请求:(a) 12MB(b) 10MB(c) 9MB使用首次适配算法,将找出哪个空闲区?使用最佳适配、最差适配、下次适配算法呢?A:首次适配算法:20MB,10MB,18MB;最佳适配算法:12MB,10MB,9MB;最差适配算法:20MB;18MB;15MB;下次适配算法:20MB;18MB;9MB;5.物理地址和虚拟地址有什么区别?A:实际内存使用物理地址。

这些是存储器芯片在总线上反应的数字。

虚拟地址是指一个进程的地址空间的逻辑地址。

因此,具有32位字的机器可以生成高达4GB的虚拟地址,而不管机器的内存是否多于或少于4GB。

6.对下面的每个十进制虚拟地址,分別使用4KB页面和8KB页面计算虚拟页号和偏移量:20000,32768,60000。

A:转换为二进制分别为:0100111000100000 虚拟地址应该是16位1000000000000000 1110101001100000 4KB页面偏移量范围0~4027,需要12位来存储偏移量,剩下4位作为页号;同理8KB页面需要13位来存储偏移量,剩下3位作为页号;所以,4KB | 8KB 页号| 偏移量| 页号| 偏移量20000 | 0100 111000100000 | 010 0111000100000 32768 | 1000 000000000000 | 100 0000000000000 60000 | 1110 101001100000 | 111 01010011000007. 使用图3-9的页表,给出下面每个虚拟地址对应的物理地址:(a) 20(b) 4100(c) 8300A:(a)20+40962=8212 (b)4100=4096+(4100-4096)=4100 (c)8300=64096+(8300-4096*2)=246848. Inlel 8086处理器不支持虚拟内存,然而一些公司曾经设计过包含未作任何改动的8086 CPU的分页系统。

猜想一下,他们是如何做到这一点的。

(提示:考虑MMU的逻辑位置。

)A:他们制作了MMU,并连接在CPU与地址总线之间,这样从处理器进入MMU 的地址全部被视为虚拟地址,并被转换为物理地址,然后被送到地址总线,映射到内存中。

9.为了让分页虚拟内存工作,需要怎样的硬件支持?A:需要一个MMU能够将虚拟页面重新映射到物理页面。

此外,当缺页中断时,需要对操作系统设置陷阱,以便可以获取页面。

10.写时复制是使用在服务器系统上的好方法,它能否在手机上起作用。

A:“写时复制“技术,也就是只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。

如果智能手机支持多重编程,iPhone、Android 和Windows手机都支持多重编程,那么支持多个进程。

如果进程发出fork()系统调用和页面在父进程和子进程之间共享,则复制对写是有意义的。

智能手机比服务器小,但从逻辑上讲,它并没有什么不同。

11.考虑下面的C程序:int X[N];int step = M; //M是某个预定义的常量for (int i = 0; i < N; i += step) X[i] = X[i] + 1;a)如果这个程序运行在一个页面大小为4KB且有64 个TLB 表项的机器上时,M和N取什么值会使得内层循环的每次执行都会引起TLB失效?b)如果循环重复很多遍,结果会和a)的答案相同吗?请解释。

A: a)M必须至少为1024,以确保对X元素的每一次访问都有一个TLB缺失。

因为N只影响X访问多少次,N取大于M的任何值都可以。

b)M应该至少是1024,以确保对X元素的每次访问都遗漏TLB。

但是现在N应该大于64K,以便处理TLB,也就是说,X应该超过256KB。

12.存储页面必须可用的磁盘空间和下列因素有关:最大进程数n,虚拟地址空间的字节数v,RAM的字节数r,给出最坏情况下磁盘空间需求的表达式。

这个数量的真实性如何?A:所有进程的整个虚拟地址空间为nv,这就是页面存储所需的。

不过,可以在RAM中存储量为r,因此需要的磁盘存储量仅为nv-r。

该量比实际所需的要大得多,因为极少有n个进程实际运行,而且这些进程也极少需要其最大允许的虚拟内存。

13.如果一条指令执行1ns,缺页中断执行额外的Nns,且每条k指令产生一个缺页,请给出一个公式,计算有效指令时间。

A:(1*(k-1)+(1+N))/k = 1+N/k ns14.一个机器有32位地址空间和8KB页面,页表完全用硬件实现,页表的每一表项为一个32位字。

进程启动时,以每个字100ns的速度将页表从内存复制到硬件中。

如果每个进程运行100ms(包含装入页表的时间)用来装人页表的CPU 时间的比例是多少?A: 32位地址空间构成4GB内存空间,4GB/8KB=512个页面,页表项512项,页表大小512·32=2^14 bit,复制页表的时间=2^14/2^5*10ns = 5120 ns, 时间比例5120ns/100ms=5120·10^(-9) / 100·10^(-3) =51.2% 8KB页面大小,需要13位偏移量,故页号有19位,页面有2^19个,页表项也是2^19个,每项32位字。

2^19·100ns/100ms=52.4288%15.假设一个机器有48位的虚拟地址和32位的物理地址。

a)假设页面大小是4KB,如果只有一级页表,那么在页表里有多少页表项?请解释。

b)假设同一系统有32个TLB表项,并且假设一个程序的指令正好能放入一个页,并且该程序顺序地从有数千个页的数组中读取长整型元素。

在这种情况下TLB 的效果如何?A:a)页面大小4KB,偏移量有12位,则页号有36位,有2^36项页表项;b)TLB访问的命中率达100%。

在指令访问下一个页面之前读取数据的命中率是100%,一个4KB大小的页面包含1024个长整型数据,每访问1024个数据就会有一次TLB失效。

16.给定一个虚拟内存系统的如下数据:(a)TLB有1024项,可以在1个时钟周期(1ns)内访问。

(b)页表项可以在100时钟周期(100ns)内访问。

(c)平均页面替换时间是6ms。

如果TLB处理的页面访问占99%,并且0.01%的页面访问会发生缺页中断,那么有效地址转换时间是多少?A:99%·1ns+1%·99.99%·100ns+1%·0.01%·6ms=7.989999%·1ns+0.99%·10 0ns+0.01%·6ms=601.98ns17. 假设一个机器有38位的虚拟地址和32位的物理地址。

a)与一级页表比较,多级页表的主要优点是什么?b)若采用二级页表,页面大小为16KB,每个页表项为4字节,应该对第一级页表域分配多少位,对第二级页表域分配多少位?请解释原因A:a)避免把全部页表一直保存在内存中。

b)”16KB个页“估计是指这个二级页表的大小是16KB,故页表项有16KB/4B=4K个,二级页表域需要12位,四字节表项说明页面大小是12 页面大小16KB,则偏移量需要14位,每个条目4字节18.在3.3.4节的陈述中,奔腾Pro将多级页表中的每个页表项扩展到64位,但仍只能对4GB的内存进行寻址。

请解释页表项为64位时,为何这个陈述正确。

A:虽然页表项扩展了,但是虚拟内存地址依然只有32位。

19.个32位地址的计算机使用两级页表。

虚拟地址被分成9位的顶级页表域、11位的二级页表域和一个偏移量,页面大小是多少?在地址空间中一共有多少个页面?A:页面大小与偏移量位数有关=2^12Byte=4KB,每个地址对应内存一个字节,地址空间的页面数量=2^20个。

20.一个计算机使用32位的虚拟地址,4KB大小的页面。

程序和数据都位于最低的页面(0~4095),栈位于最高的页面。

如果使用传统(一级)分页,页表中需要多少个表项?如果使用两级分页,每部分有10位,需要多少个页表项?A:32位地址对应4GB内存,有4GB/4KB=2^20个页面,如果使用传统(一级)分页:需要2^20个页表项;如果使用两级分页,顶级页表有2^10个页表项,其中三项指向二级页表(程序段、数据段、堆栈段),二级页表每个也有有2^10个页表项,总共2^12个页表项。

21.如下是在页大小为512字节的计算机上,一个程序片段的执行轨迹。

这个程序在1020地址,其栈指针在8192(栈向0生长)。

请给出该程序产生的页面访问串。

每个指令(包括立即常数)占4个字节(1个字)。

指令和数据的访问都要在访问串中计数。

将字6144载入寄存器0寄存器0压栈调用5120处的程序,将返回地址压栈栈指针减去立即数16比较实参和立即数4如果相等,跳转到5152处A:程序地址范围1020~1532。

页面访问串:6144-8191——5120——8190———8184———5152. A:每个页面512B,1020地址属于512~1023,即页面1;栈指针8192属于8192~8704,即页面16,但是栈向0生长,故寄存器压栈到8191~8188,属于页面15;5152地址属于5120~5631,即页面10. 每条指令4个字节,故第一条指令在地址范围1020~1023,属于页面1;第二条指令在地址范围1024~1027,属于页面2;第三条指令地址也在页面2,但是将数据压栈到页面15了。

相关文档
最新文档