计算机操作系统第三版 汤子瀛编著的 第四章的课后题答案能发给我一下吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机操作系统第三版 汤子瀛编著的 第四章的课后题答案能发给我一下吗?相关的知识,希望对你有一定的参考价值。
参考技术A 第四章 存储器管理1. 为什么要配置层次式存储器?
这是因为:
a.设置多个存储器可以使存储器两端的硬件能并行工作。
b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。
c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。增加CPU中寄存器的数量,也可大大缓解对存储器的压力。
2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?
将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式;绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。
3. 何为静态链接?何谓装入时动态链接和运行时动态链接?
a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。
b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。
c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。
4. 在进行程序链接时,应完成哪些工作?
a.对相对地址进行修改
b.变换外部调用符号
6. 为什么要引入动态重定位?如何实现?
a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。引入重定位的目的就是为了满足程序的这种需要。
b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。
9. 分区存储管理中常采用哪些分配策略?比较它们的优缺点。
分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。
a.首次适应算法的优缺点:保留了高址部分的大空闲区,有利于后到来的大型作业的分配;低址部分不断被划分,留下许多难以利用的、小的空闲区,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。
b.循环首次适应算法的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销;缺乏大的空闲分区,从而导致不能装入大型作业。
c.最佳适应算法的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多难以利用的小的空闲区。
d.最坏适应算法的优缺点:给文件分配分区后剩下的的空闲区不至于太小,产生碎片的几率最小,对中小型文件分配分区操作有利;使存储器中缺乏大的空闲区,对大型文件的分区分配不利。
10. 在系统中引入对换后可带来哪些好处?
能将内存中暂时不运行的进程或暂时不用的程序和数据,换到外存上,以腾出足够的内存空间,把已具备运行条件的进程或进程所需的程序和数据换入内存,从而大大地提高了内存的利用率。
12. 在以进程为单位进行对换时,每次是否将整个进程换出?为什么?
在以进程为单位进行对换时,并非每次将整个进程换出。这是因为:
a.从结构上讲,进程是由程序段、数据段和进程控制块组成的,其中进程控制块总有部分或全部常驻内存,不被换出。
b.程序段和数据段可能正被若干进程共享,此时它们也不能被换出。
13. 为实现分页存储管理,需要哪些硬件支持?
需要有页表机制、地址变换机构的硬件支持。
16. 为什么说分段系统较之分页系统更易于实现信息共享和保护?
a.对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此需要建立大量的页表项;
b.而对于分段系统,每个段都从0开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应起来即可。
17. 分页和分段有何区别?
a.分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点;
b.对于它们的不同点有三,第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;第二页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;第三分页的作业地址空间是一维的,而分段的作业地址空间是二维的。
18. 试全面比较连续分配和离散分配方式。
a.连续分配是指为一个用户程序分配一个连续的地址空间,包括单一连续分配方式和分区式分配方式,前者将内存分为系统区和用户区,系统区供操作系统使用,用户区供用户使用,是最简单的一种存储方式,但只能用于单用户单任务的操作系统中;分区式分配方式分为固定分区和动态分区,固定分区是最简单的多道程序的存储管理方式,由于每个分区的大小固定,必然会造成存储空间的浪费;动态分区是根据进程的实际需要,动态地为之分配连续的内存空间,常用三种分配算法: 首次适应算法,该法容易留下许多难以利用的小空闲分区,加大查找开销;循环首次适应算法,该算法能使内存中的空闲分区分布均匀,但会致使缺少大的空闲分区;最佳适应算法,该算法也易留下许多难以利用的小空闲区;
b.离散分配方式基于将一个进程直接分散地分配到许多不相邻的分区中的思想,分为分页式存储管理,分段存储管理和段页式存储管理. 分页式存储管理旨在提高内存利用率,满足系统管理的需要,分段式存储管理则旨在满足用户(程序员)的需要,在实现共享和保护方面优于分页式存储管理,而段页式存储管理则是将两者结合起来,取长补短,即具有分段系统便于实现,可共享,易于保护,可动态链接等优点,又能像分页系统那样很好的解决外部碎片的问题,以及为各个分段可离散分配内存等问题,显然是一种比较有效的存储管理方式;
c.综上可见,连续分配方式和离散分配方式各有各自的特点,应根据实际情况加以改进和利用.
19. 虚拟存储器有哪些特征?其中最本质的特征是什么?
特征:离散性、多次性、对换性、虚拟性;
最本质的特征:离散性;最重要的特征:虚拟性。
20. 实现虚拟存储器需要哪些硬件支持?
a.对于为实现请求分页存储管理方式的系统,除了需要一台具有一定容量的内存及外存的计算机外,还需要有页表机制,缺页中断机构以及地址变换机构;
b.对于为实现请求分段存储管理方式的系统,除了需要一台具有一定容量的内存及外存的计算机外,还需要有段表机制,缺段中断机构以及地址变换机构;
21. 实现虚拟存储器需要哪几个关键技术?
a.分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点;
25. 在请求分页系统中,通常采用哪种页面分配方式——物理块分配策略?
三种分配方式:固定分配局部置换、可变分配全局置换、可变分配局部置换。
26. 在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。
4 3 2 1 4 3 5 4 3 2 1 5
4
4 4 1 1 1 5 5 5
3 3 3 4 4 4 2 2
2 2 2 3 3 3 1
4 4 4 4 5 5 5 5 1 1
3 3 3 3 4 4 4 4 5
2 2 2 2 3 3 3 3
1 1 1 1 2 2 2
M=3时,采用FIFO页面置换算法的缺页次数为9次,缺页率为75%;
M=4时,采用FIFO页面置换算法的缺页次数为10次,缺页率为83%。
由此可见,增加分配给作业的内存块数,反而增加了缺页次数,提高了缺页率,这种现象被称为是Belady现象。
28. 试说明改进型Clock置换算法的基本原理。
基本原理:
在将一个页面换出时,如果该页已被修改过,便须将该页重新写回到磁盘上;但如果该页未被修改过,则不必将它写回磁盘上。在改进型算法中,除需考虑页面的使用情况外,还须再增加一个因素,即置换代价,这样,选择页面换出时,既要是未使用过的页面,又要是未被修改过的页面。
15 什么是抖动? 产生抖动的原因是什么?
a.抖动(Thrashing)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,使得系统把大部分时间用在了页面的调进换出上,而几乎不能完成任何有效的工作,我们称这种现象为"抖动"。
b.产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率,可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于"抖动"状态。本回答被提问者采纳
操作系统原理-汤子瀛版笔记,概述
第一章 引论
什么是操作系统?对用户而言,操作系统是用户与硬件接口,它将硬件资源抽象出来,方便调用。对硬件而言,它是计算机资源的调度者。所以
操作系统:可以提供给其他程序方便编写并运行的程序。
由程序来运行程序,而不是程序自己来运行,这是操作系统提供的虚拟化的表现。
1.1 操作系统发展
1.1.1 单任务模式
计算机只能被一个程序独占。
1.1.2 OS的多任务模式
加电之后,首先运行OS,随时可以载入其他程序执行。执行完以后切换回OS本身。
但是每次还是要等待这个程序执行完毕,才能接着载入下个程序执行。任何中断事件,都会中断正在运行的程序。
程序执行完毕,会将CPU归还给OS。从而继续OS本身的运行。这种操作系统就是单任务操作系统,典型代表就是DOS。
批处理:OS将多个程序一个一个的排列起来。省去了人为载入的过程。所以批处理操作系统相对单任务来说又进了一步,但是本质仍然是一个程序独占资源。
再后来OS针对系统时钟中断开发了中断服务程序,也就是多任务OS中的调度程序。中断来临,CPU根据中断向量表的内容,指向调度程序所在的内存地址入口,执行调度程序的代码。调度程序将CPU的执行跳转到各个应用程序所在的内存地址入口。每次中断,调度程序以一定的优先级,指向不同程序的入口。如果还没执行完,会自动保存运行状态。从微观上看,每个应用程序独占CPU,但是时间非常小,10ms
多任务操作系统的关键就是有多任务调度程序。
1.1.3 虚拟化的好处
虚拟化的好处是,将下层复杂的逻辑转换为上层简单的逻辑,方便人类读懂。
1.2 操作系统的主要功能
操作系统的主要功能有:
- 进程的创建和调度
- 内存空间的管理
- 设备管理
- 文件系统管理
可以看出操作系统其实涵盖了计算机的CPU、内存、IO设备等最基本要素的管理。再一次印证了操作系统其实就是硬件与用户的接口,可以将下层复杂逻辑转换为用户易懂的逻辑。相当于用户的大管家。
1.3 操作系统的架构
操作系统是用户和硬件主机的接口,核心功能在于任务调度和硬件抽象,现有的操作系统之间的最大不同在于内核在总体代码里面的比重。
主要有单内核、混合内核、微内核、外内核这几种架构。
以上是关于计算机操作系统第三版 汤子瀛编著的 第四章的课后题答案能发给我一下吗?的主要内容,如果未能解决你的问题,请参考以下文章