目录

汤小丹计算机操作系统-书后习题答案1-9章

目录

汤小丹计算机操作系统 书后习题答案1-9章

OS习题

第一章·OS引论

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

有效性 、方便性 、可扩充性 、开放性

1.2 OS 的作用可表现在哪几个方面?

1.OS 作为用户与计算机硬件系统之间的接

2.作为计算机系统资源的管理者

3.OS 实现了对计算机资源的抽象

1.3 为什么说操作系统实现了对计算机资源的抽象?

1、 IO设备管理 软件实现了对计算机硬件操作的第一个层次的抽象;

2、 文件管理软件 实现了对硬件资源操作的第二个层次的抽象;

3、依此类推,如果在文件管理软件上再覆盖一层 面向用户的窗口软件 ,则用户便可再窗口环境下方便地使用计算机,从而形成一台功能更强的虚拟机;

4、OS是铺设再计算机硬件上的多层软件的集合,它们不仅增强了系统的功能,还 隐藏了对硬件操作的具体细节 ,实现了对计算机硬件操作的多个层次的抽象模型;

1.4 推动多道批处理系统形成和发展的主要动力

(1 )对计算机资源的利用率的追求

(2 )方便用户;

(3 )器件的不断更新换代;

(4 )计算机体系结构的不断发展。

1.6 推动分时系统发展的动力

(1)CPU的分时使用缩短了作业的平均周转时间;

(2) 人机交互 能力使用户能直接控制自己的作业;

(3) 主机的共享 使多用户能同时使用同一台计算机,独立地处理自己的作业。

1.7 实现分时系统的关键问题,如何解决?

及时接受,及时处理

针对及时接收问题

设置 多路卡 ,使主机能同时接收用户从各个终端上输入的数据;

** 为每个终端配置缓冲区**,暂存用户键入的命令或数据。

针对及时处理问题

应使 所有的用户作业都直接进入内存 ,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。

1.11 OS的几大特性,最基本特征

并发性、共享性、虚拟性和异步性;最基本的特征是并发性和共享性。

1.13 什么是时分复用技术? 举例说明它能提高资源利用率的根本原因是什么?

将资源在不同的时间片内分配给各进程以使该资源被重复利用,从而提高资源的利用率,使得用户感觉自己独占主机,而处理机在这期间也被充分的利用。

1.14 是什么原因使操作系统具有异步性特征?

一是 进程的异步性 ,进程以人们不可预知的速度向前推进,

二是 程序的不可再现性 ,即程序执行的结果有时是不确定的,

三是 程序执行时间的不可预知性 ,即每个程序何时执行,执行顺序以及完成时间是不确定的。

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

进程管理 :为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。

进程同步 :为多个进程(含线程)的运行进行协调。

进程通信 :用来实现在相互合作的进程之间的信息交换。

处理机调度

(1 )作业调度。从后备队里按照一定的算法 ,选出若干个作业,为他们分配运行所需

的资源(首选是分配内存)。

(2 )进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。

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

内存分配 :为每道程序分配内存。

内存保护 :确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。

地址映射 :将地址空间的逻辑地址转换为内存空间与对应的物理地址。

内存扩充 :用于实现请求调用功能,置换功能等。

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

缓冲管理、设备分配、设备处理。虚拟设备

完成用户提出的 I/O 请求,为用户分配 I/O 设备;提高 CPU 和 I/O 设备的利用率;提高 I/O 速度;以及方便用户使用 I/O 设备 .

第二章·进程的描述与控制

2.1 什么是前趋图?为什么要引入前趋图?

前趋图 (Precedence Graph) 是一个有向无循环图,记为DAG(DirectedAcyclic Graph) ,用于描述进程之间执行的前后关系。

2.2 画出下面四条语句的前趋图:
S1=a: =x+y;

S2=b:=z+1;

S3=c:=a–b ;

S4=w:=c+1;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S45MlWf5-1656666240492)(assets/image-20220627211017-rpcrdez.png)]

2.3 什么程序并发执行会产生间断性特征?

程序在并发执行时,由于它们共享系统资源,为完成同一项任务需要相互合作,致使这些并发执行的进程之间,形成了相互制约关系,从而使得进程在执行期间出现间断性。

2.4 程序并发执行时为什么会失去封闭性和可再现性?

程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态由多个程序改变

2.6 试从动态性,并发性和独立性上比较进程和程序。

动态性是进程最基本的特性,而程序只是一组有序的指令集合,是静态实体。

并发性是进程的重要特征,而程序是不能并发执行的。

独立性是指进程实体是一个能 独立运行 的基本单位,程序不能作为独立单位参加运行。

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

(1)就绪状态一执行状态:进程分配到CPU资源

(2)执行状态一就绪状态:时间片用完

(3)执行状态一阻塞状态:I/0请求

(4)阻塞状态一就绪状态:I/0完成

2.18 试说明引起进程阻塞戒被唤醒的主要事件是什么?

a.请求系统服务;b.启动某种操作;c.新数据尚未到达;d.无新工作可做

2.19 为什么要在0S中引入线程?

减少程序在并发执行时所付出的时空开销,使0S具有更好的并发性,提高CPU的利用率

进程是分配资源的基本单位,而线程则是系统调度的基本单位

2.20 试说明线程具有哪些属性?

(1)轻型实体(2) 独立调度和分派的基本单位(3)可并发执行(4)共享进程资源

2.21 试从调度性,并取性,拥有资源及系统开销方面对进程和线程进行比较。

(1) 调度性。线程在0S中作为调度和分派的基本单位,进程只作为资源拥有的基本单位。

(2)并发性。进程可以并发执行,一个进程的多个线程也可并发执行。

(3)拥有资源。进程始终是拥有资源的基本单位,线程只拥有运行时必不可少的资源,本身基本不拥有系统资源,但可以访问隶属进程的资源。

(4)系统开销。操作系统在创建、撤消和切换进程时付出的开销显著大于线程。

第三章·处理机调度与死锁

3.1 高级调度与低级调度的主要任务?为什么要引入中级调度

(1)高级调度又称为 作业调度 。它是批处理系统中使用的一种调度。其主要任务是从外存的后备队列上选择一个或多个作业调入内存,并为其 创建进程、分配必要的资源,然后再将所创建的进程控制块插入就绪队列中 。

(2)低级调度又称 进程调度 。它是距离硬件最近的一级调度。其主要任务是从就绪队列上选择一个(或多个)进程,使其获得CPU。

(3) 引入中级调度的目的 是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调其到外存上等候。此时的进程状态为挂起状态。当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存并将其状态变为就绪状态。

3.2 处理机调度算法的目标? 批处理系统的目标?

1.资源利用率,公平性,平衡性,策略强制执行。

2.平均周转时间短,系统吞吐量高,处理机利用率高。

3.6 高响应比优先调度算法?优点?

因为其同时兼顾了等待时间和运行时间,将该两种因素相结合,让优先级高的程序优先运行。

3.8 抢占调度中抢占的原则?

抢占的原则是:

  1. **优先权原则** :允许优先级高的进程抢优先级低进程的

  2. **短进程优先** :新到的短时间进程,可以抢占当前长进程的处理机。

  3. **时间片原则** :按照时间片来分配时间来,时间结束就要停止该进程的执行,重新等待时间片分配
3.9 选择调度方式和调度算法的准则?

(1)面向 用户 的准则:周转时间短,响应时间快,截止时间的保证,优先权准则。

(2)面向 系统 的准则:系统吞吐量高,处理机利用率好,各类资源的平衡利用。

3.12 比较FCFS和SJF两种进程调度算法

相同点

性质相同:都是作为一种调度算法

作用对象相同:都可以用于作业调度和进程调度

不同点

算法思想不同: FCFS算法是指进程调度时是从就绪的进程队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行的一种调度算法。

  	SJF算法是指以作业的长短来计算优先级,作业越短,其优先级越高,越优先将他们调入内存运行。 优缺点相对 FCFS有利于长作业,不利于短作业 SJF有利于短作业,不利于长作业
3.13 如何确定时间片的大小

时间片应略大于一次典型交互所需的时间

3.15 为什么 多级反馈队列调度算法 能较好的满足各方面用户的需求?

用时间片大小来分配队列:也就是每个规定的队列中的进程,无论长短都用相同长度的时间片

假设当前进程在此队列中的平均分配的时间片用完了,它还没执行完,就把它放到下一个队列的队尾,排队执行下一个队列再给它 下一个队列所平均分配的时间片

  在**短批处理作业用户**来说,短作业在第一个队列或者第二队列就被执行完了,效率也十分快,对于**长批处理作业用**户来说,它在尽可能不影响其它进程的情况下,不断在两个或者多个队列中运行,也不用担心长时间得不到处理的情况
3.21 什么是最早截止时间优先调度算法?举例

根据任务的截止时间来确定任务的优先级的算法,任务截止时间越早,其优先级愈高。

3.23 “优先级倒置”现象,怎么解决 ==?==

优先级倒置 :高优先级进程被低优先级进程延迟或阻塞的现象。

解决方法 可以是规定进程在进入临界区后,其所占有的处理机不允许被抢占。

3.27 死锁?原因和条件

如果一组进程中的每一个进程都在等待仅该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。

原因:(1) 因为系统资源不足。

(2) 进程运行推进的顺序不合适。

(3) 资源分配不当等。

条件:(1) 互斥:一个资源每次只能被一个进程使用。

(2) 请求与保持:一个进程因请求资源而阻塞时,对已获得的资源保持不放。

(3) 不可抢占:进程已获得的资源,在末使用完之前,不能强行剥夺。

(4)循环等待:若干进程之间形成一种头尾相接的循环等待资源关系。
3.29 哪些途径预防死锁

破坏 死锁形成条件

请求和保持:在运行初获得所需资源,后逐步释放并请求新资源

不可抢占:占用资源的进程的需求不被满足,就释放它的所有资源

循环等待:所有资源类型线性排序,赋予序号

3.31 银行家算法中出现以下情况
ProcessAllocation(已分配)Need(需要)Available(可分配)
P0003200121622
P110001750
P213542356
P303320652
P400140656
1.状态是否安全
2.若P2提出请求request(1,2,2,2),sys能否分配资源给它
  1. 就是是否有安全序列

    P0->P3->P4->P1->P2

    安全

    ProcessWork(可分配)Need(需要)Allocation(已分配)Work+Allocation(剩余有)
    P01622001200321654
    P31654065203321986
    P4198606560014199 10
    P1199 1017501000299 10
    P2299 10235613543 12 14 14
  2. P2提出(1,2,2,2)

    (1,2,2,2)≤Need(2,3,5,6),是合理的

    (1,2,2,2)≤Available(1,6,2,2),是可以满足的

    1622-1222=0400,0400不能得出安全序列,所以不能分配给他

第四章·存储器管理

4.1 为什么配置层次式存储器?

设置多个存储器可以使存储器的两端能够并行工作,设多级存储系统,例如cache能够最大程度提升系统的性能,设置缓冲可以大大减少IO次数。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AEOAfBKG-1656666240493)(assets/9b8822896b390d607a14b18a41fb291-20220626164139-53n1x1o.png “层次式存储”)]

4.2 哪几种方式将程序装入内存?分别适用于什么场合?
  1. 绝对装入方式 :用户程序经过编译后,将产生绝对(物理)地址的目标代码。将目标模块装入到内存中事先指定的位置(只适用于单道)
  2. 可重定位装入方式 :由于在内存中的0号位只有一个,且本身就已存储了大量的程序,它可以根据内存的具体情况将装入到内存的适当位置。(可重定位的所有逻辑地址与实际装入内存后的物理地址不同。)它可以用于多道程序环境。但是它必须要求程序在运行时,不允许程序在运行的时候在内存中移动位置
  3. 动态重定位 :使用它装入的时,先把它装入模块装入到内存之后,并不是立即把逻辑地址换为物理地址,而是在程序真正要指定的时候才换,为避免速度缓慢,它中间会有一个 重定位寄存器 的支持。
4.7 为何引入动态重定位?如何实现

引入原因:程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。引入重定位的目的就是为了满足程序的这种需要。

实现 :要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个 重定位寄存器 , 用它来存放程序在内存中的起始地址 。程序在执行时,真正访问的内存地址是 相对地址与重定位寄存器中的地址相加 而形成的。

4.8 基于顺序搜索的动态分区算法,分为哪几种

依次搜索空闲分区链上的空闲分区,去寻找一个其大小都满足要求的分区。

首次适应(first fit,FF)算法

FF算法要求空闲分区链以地址递增的次序链接,链首开始往后找,直到找到为止,没有就失败返回

循环首次适应(next fit,NF)算法

每次从上一次找到的空闲区的下一段开始找,设置一个始查寻指针

最佳适应(best fit,BF)算法

将空闲分区按容量从小到大分配。但是分配后切下来剩下的部分总是最小的。

最坏适应(worst fit,WF)算法

总挑最大的从中切部分使用,空闲分区按大小从小到大排列,以至于存储器中缺乏大的空闲分区。

4.9 首次适应算法回收内存,可能出现什么情况?如何处理?

1、回收区与插入点的 前一个空闲分区F1相邻接 ,此时应将回收区与插入点的前一分区合并,不必为回收分区分配新表项,而只须修改其前一分区F1的大小。

2、回收区与插入点的 后一个空闲分区F2相邻接 ,此时应将两分区合并,形成新的空闲分区,但用回收区的首址作为新空闲分区的首址,大小为两者之和。

3、回收区同时与插入点的 前、后两个分区邻接 ,此时将三个分区合并,使用F1的表项和F1的首址,取消F2的表项,大小为三者之和。

4、回收区 既不与F1邻接,又不与F2邻接 。这时应为回收区单独建立一新表项,添写回收区的首址和大小,并根据其首址插入到空闲链中的适当位置。

4.10 基于索引搜索的动态分区分配算法,分为哪几种?

为了提高搜索空间的分区的速度,在中大型系统中往往会采用基于索引搜索的动态分区分配算法

哈希算法、快速适应算法以及伙伴系统

4.11 令buddyk(x)为大小为2k、地址为x的块的伙伴系统地址,写出buddyk(x)的通用表达式

buddy k (x) = x+2 k (当x mod 2 k+1 =0)

buddy k (x) = x-2 k (当x mod 2 k+1 =2 k )

4.12 分区存储管理常用的分配策略?比较优缺点

首次适应算法 的优缺点:保留了高址部分的大空闲区;低址部分不断被划分,留下许多 碎片 ,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。

循环首次适应算法 的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销; 缺乏大的空闲分区 ,从而导致不能装入大型作业。

最佳适应算法 的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多 碎片

最坏适应算法 的优缺点:给文件分配分区后剩下的的空闲区不至于太小, 产生碎片的几率最小 ,对中小型文件分配分区操作有利;使存储器中 缺乏大的空闲区 ,对大型文件的分区分配不利。

4.13 为什么引入对换?对换的类型?

在多道环境下,一方面,在内存中的某些进程由于某事件尚未发生而被阻塞,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使CPU停止下来等待的情况;

另一方面,却又有着许多作业在外存上等待,因无内存而不能进入内存运行的情况。显然这对系统资源是一种严重的浪费,且使系统吞吐量下降。为了解决这一问题,在操作系统中引入了对换(也称交换)技术。

可以将整个进程换入、换出( 整体对换 ),也可以将进程的一部分(页、段)换入、换出( 页面(分段)对换 )。前者主要用于缓解目前系统中内存的不足,后者主要用于实现虚拟存储。

4.18 什么是页面?什么是物理块?页面大小如何确定?

页面:分页存储管理将进程的 逻辑地址空间 分成若干个页,并为各页加以编号。

物理块:把内存的 物理地址空间 分成若干个块,并为各块加以编号。

页面大小应选择适中,且页面大小应该是2的幂,通常为1KB~8KB。

4.19 what is 页表?页表的作用是什么?

页表是分页式存储管理使用的数据结构。一个进程分为多少页,它的页表就有多少行。每一行记录进程的一页和它存放的物理块的页号、块号对应关系。页表用于进行地址变换。

4.20 为实现分页存储管理,需要哪些硬件支持?

需要有 页表机制地址变换机构 的硬件支持。

4.22 具有快表时是如何地址变换的

1.系统将有效地址(逻辑地址)中的页号与 页表寄存器 中的内容比较,若 页号太大 ,表示访问越界,于是产生 越界中断

2.IF未出现越界情况,地址变换机构自动地将页号P送入 输入寄存器 ,再确定所需要的页是否在 **快表(高速缓存) **中。

IF在则直接读出该页所对应的物理块号,并送入** 物理地址寄存器** ;

IF在快表中未找到对应的页表项,需再访问内存中页表,找到后,把读出的页表项存入快表中的一个寄存器单元中,以取代一个老页表项。

同时,再将 页内地址 直接送入 物理地址寄存器 , 从而完成了从逻辑地址到物理地址的转换。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CJDQS8OC-1656666240493)(assets/278c9c9279d5df643f7304e6b781111-20220627154123-lgb7gq5.png)]

4.24 具有快表的段页式存储管理系统中,如何实现地址变换?

1.段号与段表寄存器中记录的段表长度比较,判断越界

2.无越界,段号与段表寄存器的段表始址求出该段的页表始址

3.页表始址与逻辑地址中的页号求出对应页表项,读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3mOYRwBP-1656666240494)(assets/f6889844895424c7da8655c79b3c933-20220627160250-h16db83.png)]

4.26 分页和分段存储管理有何区别

同:分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换

区别:

  1. 页是 信息的物理单位 ,分页是为实现离散分配方式,以消减内存的碎片,提高内存的利用率,满足系统管理的需要,而不是用户的需要

    段是 信息的逻辑单位 ,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要

  2. 页的 大小 固定且由系统确定,而段的大小却不固定,决定于用户所编写的程序

  3. 分页的作业地址空间是 一维 的,而分段的作业地址空间是 二维 的。

  4. 段是信息的逻辑单位,便于存储保护和信息的共享,页的 保护和共享 受到限制。

第五章·虚拟存储器

5.1 常规存储器管理方式有哪两大特征?对系统性能有何影响?
  1. 一次性 :是指作业必须一次性全部装到内存中才能开始运行
  2. 驻留性 :也就是在作业装入内存后,整个作业一直在内存中。直到作业结束。

上述两大特性使得许多在程序运行中不用或暂时不用的程序(数据) 占据了大量的内存空间 ,而一些需要运行的作业又无法再装进运行。

5.2 时间局限性,空间局限性

最近被访问的单元,很可能在不久的将来还要被访问

最近被访问的单元,很可能它附近的单元也即将被访问

5.3 虚存特征,最本质特征
  • 多次性 :是指无需在作业运行时一次性地全部装入内存,而是允许被分成多次调入内存运行。(利用了局部性原理)
  • 对换性(交换性):是指无需在作业运行时一直常驻内存,而是允许在作业的运行过程中,进行换进和换出。
  • 虚拟性:是指从逻辑上扩充内存的容量,使用户所看到的的内存容量,远大于实际的内存容量。
5.4 虚存需要哪些硬件支持?

请求分页的页表机制+缺页中断机构+地址变换机构

5.5 实现虚存的关键技术

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f7X2fxVS-1656666240494)(assets/94d5227f4647b9b45e0134b6bee9bba-20220627162414-dfxz0pf.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L205GPwn-1656666240494)(assets/a184f24cf5b06131769ab2b75e695ea-20220627162441-4lii2lh.png)]

5.7 缺页中断机构与一般的中断有何区别?

(1)在 指令执行期间 产生和处理中断信号,CPU通常在一条指令执行完后检查是否有中断请求。而缺页中断是在指令执行期间,发现所要访问的指令或数据不在内存时产生和处理的。

(2) 一条指令 在执行期间可能产生 多次 缺页中断。如一条读取数据的多字节指令,指令本身跨越两个页面,若指令后一部分所在页面和数据所在页面均不在内存,则该指令的执行至少产生两次缺页中断。

5.8 请求分页系统地址变换过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9QnZJJuk-1656666240494)(assets/image-20220627171237-p6cx0e5.png)]

新增操作

  1. 请求调页(查找页表项时对状态位进行判断)
  2. 页面置换(若内存块没空间给外存调入,就用页面置换算法置换一个页面出去)
  3. 操作时要修改页表项
5.12 在请求分页系统有哪几种页面置换算法

先进先出FIFO、最近最少使用LFU、最佳置换OPT、最近最久未使用LRU、CLOCK、改进型CLOCK

5.13 用FIFO,假设页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配物理块分别为3,4时,计算缺页次数和缺页率

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T8gwo5xj-1656666240495)(assets/83355132f4148a1b1f739c2d8608ec0-20220627203203-9g2otxp.png “FIFO”)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jTUYR1Nl-1656666240495)(assets/微信图片_20220627204145-20220627204230-m199dmi.jpg “LRU”)]

5.14 LRU算法的硬件支持

需要 寄存器和栈 等硬件支持。 寄存器 用于记录某进程在内存中各页的使用情况, 用于保存当前使用的各个页面的页面号。

5.15 改进型CLOCK算法的基本原理

因为修改过的页面在换出时付出的开销比未被修改过的页面大,在改进型Clock算法中,既考虑页面的使用情况,还要增加置换代价的因素;在选择页面作为淘汰页面时,把 同时满足未使用过和未被修改作为首选淘汰页面

5.18 “抖动”产生的原因是什么?

抖动(Thrashing) 就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页进程,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,使得系统把大部分时间用在了页面的调进换出上,而几乎不能完成任何有效的工作,我们称这种现象为"抖动"。

原因:供不应求(进程需要访问的页面数目大于可用的物理页帧数目)。请求分页系统中的每个进程只能分配到所需全部内存空间的一部分

5.19 什么是工作集,基于什么原理确定

工作集(或驻留集)是指在某段时间间隔内,进程要访问的页面集合。经常被使用的页面需要在工作集中,而长期不被使用的页面要从工作集中被丢弃。为了防止系统出现抖动现象,需要选择合适的工作集大小。

确定原理:(局部性原理)用程序的过去某段时间内的行为作业程序在将来某段时间内行为的 近似

工作原理:让操作系统跟踪每个进程的工作集,并为进程分配大于其工作集的物理块。如果还有空闲物理块,则可以再调一个进程到内存以增加多道程序数。

如果所有工作集之和增加以至于超过了可用物理块的总数,那么操作系统会 暂停一个进程 ,将其页面调出并且将其物理块分配给其他进程,防止出现抖动现象。

5.20 哪几种方法防止抖动?
  1. 局部置换策略 :预防抖动,当进程发生缺页,只能在分配给自己的内存空间内进行置换。

  2. 把工作集算法融入到处理机调度中 :融入了工作集算法,多一道检查进程在调度中融入了工作集算法。必须检测每个进程在内存的驻留页面足够多才调入,那些不足的增加新的物理块

利用"L=S"准则调节缺页率

  L是缺页之间的平均时间,S是平均缺页服务时间,用于置换一个页面所需的时间

  L>>S说明很少发生缺页,否则说明经常发生缺页,速度也超过了磁盘的处理能力。

  只有两者接近的时候才是磁盘与处理机达到最大利用率。
  1. 选择暂停的进程 :在多道程序度偏高时,系统必须减少多道程序的数目,暂停优先级低的进程。
5.22 为了实现分段式存储管理,应在系统中增加哪些硬件机构?

请求段表机制、缺段中断机制、地址变换机构

第六章·输入输出系统

6.1 I/O系统的基本功能
  1. 隐藏物理设备的细节
  2. 保证OS与设备的无关性
  3. 提高处理机和I/O设备的利用率
  4. 对I/O设备进行控制 (驱动程序)
  5. 确保对设备的正确共享 (独占设备/共享设备)
  6. 错误处理 (临时性错误/永久性错误)
6.2 I/O软件的4个层次

用户层I/O软件 ,实现与用户交互的接口,用户可直接调用该层所提供的、与IO操作有关的库函数对设备进行操作。

设备独立性软件 ,用于实现用户程序与设备驱动器的统一接口、设备命名、保护以及分配与释放等,为设备管理和数据传送提供必要的存储空间。

设备驱动程序 ,与硬件直接相关,用于具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序。

中断处理程序 ,用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完毕再恢复被中断进程的现场后,返回到被中断的进程。

6.3 I/O系统接口与软件/硬件接口分别是什么接口

I/O系统接口 :作为I/O系统与上层系统之间的接口,向上层提供对设备进行操作的抽象I/O命令,以方便高层对设备的使用。

软件/硬件接口 :上面是中断处理程序和用于不同设备的设备驱动程序,它的下面是各种设备的控制器。

6.4 与设备无关性的基本含义?为什么设置该层

I/O系统分层 :中断处理程序+设备驱动程序+与设备无关的I/O软件

基本含义:应用程序基本使用的物理设备。为实现设备独立性而引入了逻辑设备和物理设备两概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。

为了提高OS的可适应性和可扩展性,易于实现I/O重定向

6.7 内存I/O映像,如何实现

外围设备映射到内存空间便于CPU访问

编址上 不区分 内存单元地址和设备驱动器的寄存器地址,都采用k。k在0~n-1认为是内存地址,k≥n认为是寄存器地址

6.8 为什么说中断时OS赖以生存的基础?
  1. 它是多道程序得以实现的基础,没有中断,就不可能实现多道程序,因为 进程切换 是通过中断来完成的
  2. 中断也是 设备管理 的基础,为了提高处理机的利用率和实现CPU和I/O设备并执行,也必需有中断支持
6.16 有哪几种I/O控制方式?适用于何种场合?

程序I/O方式,中断驱动I/O控制方式,DMA I/O控制方式,I/O通道控制方式

程序I/O 适用于早期的计算机系统中,并且是无中断的计算机系统

中断驱动I/O 控制方式是普通用于现代的计算机系统中

DMA I/O 控制方式适用于I/O设备为块设备时在和主机进行数据交换的一种I/O控制方式

当I/O设备和主机进行数据交换是一组数据块时通常采用 I/O通道 控制方式,但此时要求系统必须配置相应的通道控制器

6.17 DMA的工作流程

当CPU要从磁盘读入数据块时,先向磁盘控制器发送一条读命令。

该命令被送到 命令寄存器CR 中。同时还发送本次要读入数据的 内存起始目标地址,送入内存地址寄存器MAR

本次要读数据的 字节数送入数据计数器DC ,将磁盘中的源地址直接送入DMA控制器的I/O 控制逻辑上。

然后启动DMA 控制器传送数据,以后CPU 便处理其它任务。整个数据传送过程由DMA控制器控制

6.18 为何引入设备无关性?如何实现设备独立性?

设备分配的灵活性,易于实现I/O重定向

引入逻辑设备与物理设备概念,应用程序使用逻辑设备名请求设备,经过驱动程序的映射转为物理设备名,并向用户层软件提供统一接口

6.21 设备虚拟,及其关键技术

通过虚拟技术可将一台独占设备变换成若干台逻辑设备,供若干个用户(进程)同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备

SPOOLING技术

6.24 引入缓冲的原因

缓和CPU与I/O设备之间速度不匹配的矛盾

减少对CPU的中断频率

解决DMA或通道方式下数据传输的瓶颈问题

提高CPU和I/O设备之间的并行性

6.25 在单缓冲情况下,为什么系统对一块数据的处理时间是max(C,T)+M

因为 用户输入操作 时间T和 CPU计算时间 C可以并行,操作系统将缓冲区数据传送给用户区的时间为M

6.26 为什么在双缓冲情况下,系统对一块数据的处理时间为max(T,C)?

在双缓冲区中,不仅设备的输入操作和CPU的处理操作可以并行,设备的输入操作和数据的传送操作也可以并行

6.31 目前常用的磁盘调度算法有哪几种?每种算法优先考虑的问题是什么?

目前常用的磁盘调度算法有FCFS,SSTF,SCAN

(1) 先来先服务算法 优先考虑进程请求访问磁盘的先后次序;

(2) 最短寻道时间优先算法 考虑要求访问的磁道与当前磁头所在磁道距离是否最近;

(3) 扫描算法 考虑欲访问的磁道与当前磁道间的距离,更优先考虑磁头当前的移动方向。

第七章·文件管理

7.1 数据项、记录、文件

数据项 是最低级的数据组织形式,可分为基本数据项和组合数据项。基本数据项是用于描述一个对象某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。组合数据项则由若干个基本数据项构成。

记录 是一组相关数据项的集合,用于描述一个对象某方面的属性。

文件 是指有创建者所定义的、具有文件名的一组相关信息的集合。

表头是4个数据项,一行是一个记录,整个表是一个文件(有结构文件,如txt的叫流式文件)

书名作者售价出版日期
操作系统从入门到放弃布吉岛100明天
如何学废操作系统还不几道200后天
……………………
7.2 文件系统的三层模型

第一层:对象及其属性说明(文件、目录、硬盘或磁带存储空间)

第二层:对对象操纵和管理的软件集合(I/o控制层即设备驱动程序、基本文件系统即物理I/o层、基本I/О管理程序或文件组织模块层、逻辑文件系统层)

第三层:文件系统接口(命令接口/图形化用户接口与程序接口)

第八章·磁盘存储器的管理

8.1 目前常用的外村有哪些组织方式

外存的组织方式有三种:连续组织方式、链接组织方式、索引组织方式

8.2 连续组织方式所形成的顺序文件主要优缺点?主要应用于?

优点:1.顺序访问容易

2.顺序访问速度快

缺点:

①要求为一个文件分配连续的存储空间,产生出许多外部碎片,严重地降低了外存空间的利用率。如果是定期地利用紧凑方法来消除碎片,则又需花费大量的机器时间。

②必须事先知道文件的长度

③不能灵活地删除和插入记录

④对于那些动态增长的文件,由于事先很难知道文件的最终大小,因而很难为其分配空间,而即使事先知道文件的最终大小,在采用预分配存储空间的方法时,也会使大量的存储空间长期空闲。

应用场合:它适用于许多资料处理的场合,如 磁带文件打印文件 都是常用的 顺序文件

第九章·操作系统接口

9.1 操作系统用户接口包括?分别适用于?

操作系统包括四种类型的用户接口: 命令接口 (分为联机与脱机命令接口)、 程序接口图形化用户接口网络用户接口

命令接口和图形化用户接口 支持用户直接通过终端来使用计算机系统, 程序接口 提供给用户在编制程序时使用, 网络用户接口 是面向网络应用的接口。

9.2 联机命令接口由哪些部分构成

联机命令接口由一组 联机命令终端处理程序命令解释程序 构成。