1. 简述中断装置的主要职能。
中断装置的职能主要有三点:
1) 检查是否有中断事件发生。
2) 若有中断发生,保护好被中断进程的断点及现场信息,以便进程在适当时候能恢复驼行。
3) 启动操作系统的中断处理程序。
2. 以批处理方式和交互方式控制作业运行都需要注册 (LOGON) 。
批处理方式是按用户使用作业控制语言书写的。
作业说明书控制作业运行,不需注册。
或交互方式控制作业运行需要注册。
3. 什么是操作系统?操作系统有那些特征?功能?服务功能?
操作系统是指管理和控制计算机资源,合理组织计算机工作流程方便用户使用计算机的程序的集合。其特征
是:并发性、共享性、虚拟性和异步性。并发性是最基本特征。操作系统具有处理器管理、存储管理、 I/O 管
理,文件管理、接口管理功能。处理用户命令;读 / 写文件;分配 / 回收资源;处理硬件 / 软件出现的错误及其
它控制功能。
4. 实现虚拟设备的硬件条件是什么 ? 操作系统应设计哪些功能程序 ?
硬件条件是:配置大容量的磁盘,要有中断装置和通道。操作系统应设计好 " 预输入 " 程序, " 井管理 " 程
序, " 缓输出 " 程序。
*5. 请简述典型计算机系统中的三种重要接口。
指令系统体系结构( ISA ),定义了机器语言指令系统;
应用程序二进制接口( ABI ),定义了程序间二进制可移植性的标准;
应用程序编程接口( API ),应用程序访问系统硬件资源和系统服务的接口;
6. 你认为 OS 的用户有哪些种类 ?他们(它们)各使用 OS 哪类接口 ?
普通用户、管理员用户:使用控制接口 程序开发人员和用户程序:使用程序接口
*7. 请给出进程的定义。
1. 一个正在执行的程序; 2. 一个正在计算机上执行的程序实例; 3. 能分配给处理器并由处理器执行的实体; 4.
由一组执行的指令、一个当前状态和一组相关的系统资源表征的活动单元
*8. 简述进程控制块的内容。
进程控制块中包含标识符、状态、优先级、程序计数器、内存指针、上下文数据、 I/O 状态信息、记账信
息。
*9. 简述进程七状态转换图及状态转换原因。
10. 什么是进程?为什么要在操作系统中引入进程?
进程是可并发执行且具有独立功能的程序在一个数据集合上的运行过程,它是操作系统进行资源分配和调度
的基本单位。 “ 进程 ” 概念是人们为了使程序能够并发执行,并且能对并发的程序加以描述和控制而引入的。
11. 简述常驻集及系统抖动。
进程执行过程中任何时候都在在主存的部分被定义成成进程的常驻集。在虚拟内存管理方案中,进程的驻留
集一定的情况下,为了保证进程的局部性,操作系统需要依据某种策略将内存中的块置换出,如果被置换出
的块正好在不不久将要被访问,而操作系统以又需要将其取回,频繁的这种操作将使处理器太部分时间都用
于交换块,而不是执行指令,这种情况称之为系统抖动。
12. 在创建一个进程时, 需要完成的主要工作是什么?
a. 操作系统发现请求创建新进程事件后, 调用进程源语 Creat() ; b. 申请空白 PCB ; c. 为新的进程分配资
源; d. 初始化进程控制块; e. 将新进程插入就绪队列。
*13. 什么是交换?其目的是什么?
交换是指将进程的整体或一部分从内存转移到外存中。当内存中没有就绪进程时,操作系统选择一个当前处
于阻塞态的进程,将其转移到外存,置其为挂起态,从而允许更多的进程获得内存并执行。(总之目的是盘
活内存资源,提高并发度和吞吐率)
*14. 进程切换和模式切换的区别是什么?
模式切换不改变当前执行的进程的状态,开销较小,而进程切换将当前进程从运行态改变为其它状态,开销
较大;另外,进程切换需要保存的信息更多、过程更复杂。
15. 一个进程状态的转换是否会导致另一个进程的状态转换,请列出所有的可能。
运行 到 就绪 导致 就绪 到 运行;运行 到 等待 导致 就绪 到 运行;等待 到 就绪 导致 就绪 到 等待;运行 到
结束 导致 就绪 到 运行 16. 简述进程与线程的概念。
进程是具有独立功能的程序在某个数据集合上的一次执行过程。进程是系统进行资源分配和调度的一个独立
单位。在现代操作系统中,资源申请的基本单位是进程,进程由程序段、数据段和 PCB (进程控制块)组
成。线程是进程内的一个执行实体或执行单元,是比进程更小的能独立运行的基本单位。
*16.1 列出用户级线程 UTL 优于内核级线程 KTL 的三个优点。
1. 由于所有线程管理数据结构都在一个进程的用户地址空间中,线程切换不需要内核模式的特权,因此,进
程不需要为了线程管理而切换到内核模式,这节省了在两种模式间进行切换 ( 从用户模式到内核模式 ; 从内核
模式返回用户模式 ) 的开销。
2. 调用可以是应用程序专用的。一个应用程序可能倾向于简单的轮询调度算法,而另一个应用程序可能倾向
于基于优先级的调度算法。调度算法可以去适应应用程序 , 而不会扰乱底层的操作系统调度器。
3. 用户级线程可以在任何操作系统中运行,不需要对底层内核进行修改以支持用户级线程。线程库是一组供
所有应用程序共享的应用级软件包。 .
17. 简述什么是临界区?对临界区的互斥访问有哪些要求?
使用临界资源的那一部分程序称为临界区。
对临界区的互斥访问必须满足 (1) 必须强制实施互斥,即只允许一个进程进入临界区 (2) 一个在非临界区停止
的进程不能干涉其他进程 (3) 绝不允许出现需要访问临界区的进程被无限延迟的情况,即不会死锁或饥饿 (4)
当没有进程在临界区中时,任何需要进入临界区的进程必须能够立即进入 (5) 对相关进程的执行速度和处理器
的数目没有任何要求和限制 (6) 一个进程驻留在临界区中的时间必须是有限的。
18.semWait 操作和 semSignal 操作是如何定义的?简述当进程调用了 semWait 和
semSignal 后,它自身的进程状态的改变情况。
semWait 操作:信号量减 1 ,若值为负数,则执行 semWait 的进程被阻塞,否则进程继续执行。 semSignal
操作:信号量加 1 ,若值小于或等于零,则被 semWait 操作阻塞的进程被解除阻塞。当进程调用了
semWait ,它自身的进程状态可能不改变,或由运行态变为阻塞态。当进程调用了 semSignal ,它自身的状
态不变。
*19. 什么是死锁?产生死锁的条件是什么?死锁处理常有哪几种方法?
死锁产生的条件:互斥、占有且等待、不可抢占、循环等待。
死锁是指在一个进程集合中的所有进程都在等待只能由该集合中的其它一个进程才能引发的事件而无限期地
僵持下去的局面。有 3 种方法可以处理死锁。 (1) 采用某种策略来消除死锁 4 个条件中的一个条件的出现来预防
死锁 (2) 基于资源分配的当前状态做动态选择类来避免死锁 (3) 试图检测死锁的存在并且从死锁中恢复出来。
20. 简述死锁的防止与死锁的避免的区别。
死锁的防止是系统预先确定一些资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配,从
而防止死锁的发生。而死锁的避免是当进程提出资源申请时系统测试资源分配,仅当能确保系统安全时才把
资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。
21. 操作系统中存储器管理的主要功能是什么 ? 什么叫虚拟存储器 ? 存储器管理的主要功能是:内存分配,地址映射,内存保护,内存扩充;虚拟存储器是用户能作为可编址内
存对待的存储空间,在这种计算机系统中虚地址被映象成实地址。或者:简单地说,虚拟存储器是由操作系
统提供的一个假想的特大存储器。
*22. 什么是内部碎片和外部碎片?固定分区分配、可变分区分配、分段存储管理和分页
存储管理可能产生何种碎片?
内碎片:在一个分区或页的内部出现的碎片 ( 即被浪费的空间 ) 。外碎片:在所有分区之外新增的碎片称作外
部碎片。固定分区分配、分页存储管理可能产生内碎片。可变分区分配、分段存储管理可能产生外碎片。
*23 逻辑地址、相对地址和物理地址间有什么区别 ?
逻辑地址是指与当前数据在内存中的物理分配地址无关的访问地址,在执行对内存的访问之前必须把它转化
成物理地址。相对地址是逻辑地址的 - 一个特例,是相对于某些已知点 ( 通常是程序的开始处 ) 的存储单元。物
理地址或绝对地址是数据在主存中的实际位置。
24. 一个计算机系统的虚拟存储器,其最大容量和实际容量分别由什么决定?
最大容量由主存和辅存的容量之和确定。实际容量由指令中表示地址的字长决定,也就是计算机的地址结构
决定。
25. 虚拟存储器的基本特征是什么 ? 虚拟存储器的容量主要受到什么限制 ?
虛拟存储器的基本特征有 : 多次性、对换性、虚拟性、离散性。
多次性 : 允许用户将一个作业分为多个较小的作业,多次调入内存,而不用一次全调入内存
对换性 : 允许将暂时不能运行的进程和那些暂时不需要的数据调入外存,将外存已经具备运行条件的进程和所
需要的数据调入内存
离散性 : 作业在内存中不用分配 - 连续的内存空间。
虛拟性 : 指通过虚拟技术,将内存进行逻辑上的扩充,使用户看到的是比实际内存大得多的内存空间
虛拟存储器的容量主要受以下两方面的限制 : 第一 : 内存加外存的总容量 ; 第二 : 逻辑地址结构。
26. 简述在使用 TLB 的请求式分页内存管理方案中一次指令访问过程。
首先进行逻辑地址转换为页号与页内偏移,根据页号查找 TLB 中的页表项,如果命中,则进行地址重定位;
如果 TLB 没有命中,则在内存中查找页表,如果当前页在内存,则将此页表项添加到 TLB ,并将页帧号与页
内偏移拼接形成物理地址,如果当前页不在内存,则产生缺页中断,将所缺页调入内存之后,再进行地址重
定位。
27. 简述请求页式存储管理的优缺点。
优点: (1) 虚存量大,适合多道程序运行,用户不必担心内存不够的调度操作。动态页式管理提供了内存与外
存统一管理的虚存实现方式。 (2) 内存利用率高,不常用的页面尽量不留在内存。 (3) 不要求作业连续存放,有
效地解决了 “ 碎片 ” 问题。与分区式比,不需移动作业,与多重分区比,无零星碎片产生。 UNIX 操作系统较
早采用。 缺点: (1) 要处理页面中断、缺页中断处理等,系统开销较大。 (2) 有可能产生 “ 抖动 ” 。 (3) 地址变换机构复
杂,为提高速度采用硬件实现,增加了机器成本。
28. 分页和分段管理有何区别?
1. 分页和分段都采用离散分配的方式, 且都要通过地址映射机构来实现地址的转换, 这是他们的共同点;
2. 对于他们的不同点有三, 第一, 从功能上看, 也是信息的物理化单位, 分页是为了实现离散分配方式,
以消减内存的外零头, 以提高内存的利用率, 既满足系统管理的需要, 而不是用户的需要, 而段是信息的
逻辑单位,它含有一组有意义相对完整的信息, 目的是为了能够更好的满足用户的需要;
3. 页的大小固定且由系统确定, 而段的长度却不是固定的, 决定于用户所编写的程序;
4. 分页的作业地址空间是一维的, 而分段作业地址空间是二维的。
29. 请列举两种常用的页面置换算法,并简要说明其算法思想和优缺点。
1 )最佳置换 OPT :选择置换下次访问距当前时间最长的那些页。 OPT 能导致最少的缺页中断,但是由于它
要求操作系统必须知道将来的事件,显然这是不可能实现的。但是它仍然能作为一种标准来衡量其他算法的
性能。 2 )最近最少使用 LRU :置换内存中上次使用距离当前最远的页。 LRU 的性能接近于 OPT 。但 LRU 比较
难于实现,而且实现的开销比较大。 3 )先进先出 FIFO :置换出驻留在内存中时间最长的页。 FIFO 是实现起
来最简单的置换算法,只需要使用一个循环移动的指针。但是 FIFO 可能导致一些页会反复的被换入换出。
30. 什么是虚拟存储器?为什么要在存储管理中引入虚拟存储器。
虚拟存储器由内存和外存组成,使得程序的部分装入内存就能运行的技术。引入的目的有二:大作业能运
行;提高内存利用率。
31. 处理器调度的层次有哪些?各层次的主要工作是什么?
处理器调度的层次分为三级调度:高级调度、中级调度和低级调度。
(
1 )高级调度:从驻留在外存后备队列中选择一个或多个作业调入内存,创建进程并放入就绪队列中,等
待被调度执行。
(
2 )中级调度:内存和外存之间的交换。系统内存使用紧张时,把内存中暂时不能运行的进程调到外存中
等待,等内存有足够的空闲空间时,再将外存上的某些具备了运行条件的就绪进程调入内存
(
3 )低级调度:按照一定的算法从就绪队列中选择一个进程,然后将处理器分配给它。
*32. 请简述 FCFS 、 SPN 、 SRT 、 HRRN 、进程调度算法。
先来先服务( FCFS ):每个进程就绪后,会加入就绪队列。当前正在运行的进程停止执行时,调度最先进入
后备队列 / 就绪队列的作业 / 进程,直至运行完或阻塞时,再重新调度。 FCFS 通常与优先级策略结合,如每个
优先级一条队列,每条队列中的调度基于 FCFS 原则。
最短进程优先调度( Shortest Process Next , SPN ):调度 CPU 执行时间预期最短的进程,直至运行完或
阻塞时,再重新调度。利于短进程,不利于长进程及紧迫任务。
最短剩余时间( Shortest Remaining Time , SRT ):是在 SPN 中增加了抢占机制的策略。调度程序纵使选
择预期剩余时间最短的进程。一个新进程加入就绪队列时,与当前正运行的进程相比,它可能具有更短的剩
余时间。因此,只要新进程就绪,调度程序就可抢占当前正在运行的进程。 最高响应比优先( Highest Response Ratio Next , HRRN ):在当前进程完成或被阻塞时,选择 R 值最大
的就绪进程。 R= ( w+s ) /s , w 为进程目前为止在系统中等待处理器的时间, s 为进程所需的总服务时间。
*33. 简述抢占式处理器调度和非抢占式处理器调度
非抢占 : 在这种情况下, - - 旦进程处于运行态,他就不断执行直到终止,或者为等待 I/0 或请求某些操作系统服
务而阻塞自己。 .
抢占 : 当前正在运行的进程可能被操作系统中断,并转移到就绪态。关于抢占的决策可能是在一个新进程到达
时,或者在一个中断发生后把 - 一个被阻塞的进程置为就绪态时,或者基于周期性的时间中断。
*34 简要描述三种类型的处理器调度。
长程调度 : 决定加入到待执行的进程池中 ;
中程调度 : 决定加入到部分或全部在主存中的进程集合中 ;
短程调度 : 决定哪 -- 个可用进程将被处理器执行
35. 进程调度的功能是什么 ? 什么叫动态优先数调度法 ?
进程调度的功能是按照一定的调度算法从就绪队列中选择一个进程,将处理机分配给该进程,使其投入运
行。
动态优先数调度法是指在创建进程时所赋予的优先数可以随进程的推进而改变,以便获得更好的调度性能。
36. 简述 DMA 的概念。
DMA 是直接存储器访问技术,其功能由系统总线中的一个独立模块完成或并入到一个 I/O 模块。当 CPU 需要
读写一块数据时,它给 DMA 模块发出一条命令,然后断续处理其他工作。 DMA 模块直接与存储器交互,此
进程无需 CPU 参与,传送完毕之后, DMA 发送中断信号给 CPU 。
* 十一章、磁盘调度策略:减少寻道时间算法: FIFO 、 SSTF , SCAN
先进先出 FIF0: 按照先来先服务的顺序处理队列中的项目。
最短服务时间优先 SSTF: 选择使磁头臂从当前位置开始移动最少的磁盘 I/0 请求。
扫描 SCAN: 磁头臂仅仅沿 - 一个方向移动,并在途中满足所有未完成的请求,直到它到达这个方向上最后一个
磁道,或者在这个方向 . 上没有其他请求为止。接着反转服务方向,沿相反方向扫描,同样按顺序完成所有请
求。
C-SCAN: 类似于 SCAN 。
* 寻道时间、旋转延迟、传输时间
寻道时间是将磁头臂移到指定的磁道所需要的时间。 旋转延迟旋转延迟是指将磁盘的待访问地址区域旋转
到读 / 写磁头可访问的位置所需要的时间。 传输时间是指向磁盘传送或从磁盘传送的时间。
37. 磁盘数据块是如何定位的?磁盘访问时间由哪三部分时间构成?可以采用什么方法
减少磁盘访问时间? 磁盘数据块通过磁道、扇区、盘面来定位。磁盘访问时间由寻道时间、旋转延时时间、传输时间三部分构
成。可以采用磁盘调度策略来减少寻道时间,从而减少磁盘访问时间。
38. 操作系统中,文件系统现在主要采用什么目录结构?为什么采用这种结构 ?
文件系统主要采用树状目录。使用树状目录降低了提供唯一名字这方面的困难性。系统中的任何文件可以按
照从根目录或主目录向下到每个分支,最后直到该文件的路径来定位。在这种情况下,多个文件可以有相同
的文件名,只要保证它们的路径名是唯一的即可。
*39. 简述文件及文件组织的概念。
文件是一组相似记录的集合,它被用户和应用程序看做一个实体,可以通过名字访问。文件组织 : 堆、索引文
件、顺序文件、索引顺序文件、直接或散列文件。
堆是最简单的文件组织形式。数据按它们到达的顺序被采集,每个记录由一串数据组成。
顺序文件是最常用的文件组织形式。在这类文件中,每个记录都使用一种固定的格式。所有记录都具有相同
的长度,并且由相同数目、长度固定的域按特定的顺序组成。由于每个域的长度和位置已知,因此只需要保
存各个域的值,每个域的域名和长度是该文件结构的属性。
索引顺序文件保留了顺序文件的关键特征 : 记录按照关键域的顺序组织起来。但它还增加了两个特征 : 用于支
持随机访问的文件索引和溢出文件。索引提供了快速接近目标记录的查找能力。溢出文件类似于顺序文件中
使用的日志文件,但是溢出文件中的记录可以根据它前面记录的指针进行定位。
索引文件 : 只能通过索引来访问记录。其结果是对记录的放置位置不再有限制,只要至少有一个索引的指针指
向这条记录即可。此外,还可以使用长度可变的记录。
直接文件或散列文件 : 直接文件使用基于关键字的散列。
40. 什么是文件的逻辑组织和物理组织 ?
文件的逻辑组织:用户对文件的观察和使用是从自身处理文件中数据时采用的组织方式来看待文件组织形
式。这种从用户观点出发所见到的文件组织形式称为文件的逻辑组织;文件的物理组织:文件在存储设备上
的存储组织形式称为文件的物理组织。
41. 列出并简单定义三种文件分配方法。
连续分配:在创建文件时,就为文件分配一组连续的块;链式分配:基于单个块组成的链表,每个块包含指
向下一个块的指针;索引分配:每个文件在文件分配表中有一个一级索引,分配给该文件的每个部分在索引
中都有一个表项。
42. 说明动态分区存储管理中的最佳和首次适配算法的执行过程,以及他们的优缺点。
最佳适配:选择与要求的大小最接近的空闲块。首次适配:从开始扫描内存,选择大小足够的第一个可用
块。首次适配算法不仅是最简单的,而且通常是最快和最好的。但首次适配算法会使得内存的前端出现很多
小的空闲分区,并且每当进行首次适配查找时,都要经过这些分区。最佳适配算法尽管称为 “ 最佳 ” ,但通常
性能却是最差的。这个算法需要查找满足要求的最小块,因而它可能保证产生的碎片尽可能的小。尽管每次
存储请求总是浪费最小的存储空间,但结果却使得内存中很快产生许多很小的块,这些块通常很小以至于不
能满足任何内存分配请求。因此,最佳适配算法比其他算法需要更经常的进行内存压缩。
43. 为实现分页式虚拟存贮,页表中至少应含有哪些内容 ? 程序状态字包含哪些主要内
容 ?
页号、标志、主存块号、磁盘上的位置。 (1) 程序基本状态 (2) 中断码 (3) 中断屏蔽位
44. 什么是记录的成组和分解 ?
(1) 把若干逻辑记录合并成一组,存入一个物理块的工作称为记录的成组
(2) 从一组中把一个逻辑记录分离出来的工作称为记录的分解
45. 进程间同步和互斥的含义是什么 ?
同步:并发进程之间存在的相互制约和相互依赖的关系。
互斥:若干进程共享一资源时,任何时刻只允许一个进程使用。
46. 什么是输入输出操作 ? 什么是通道 ?
主存与外围设备之间的信息传送操作称为输入输出操作。通道可称为输入输出处理机。
47. 一个操作系统有 20 个进程,竞争使用 30 个同类资源,申请方式是逐个进行,一旦
某个进程获得了它的全部资源,就马上归还所有的资源,每个进程最多使用 30 ,最少
使用一个资源。 20 个进程需要的资源总数小于 50 。如果仅考虑这类资源,系统会产生
死锁吗?请说明理由。
答:设 max(i) 表示第 i 个进程的最大资源需求量, need(i) 表示第 i 个进程还需要的资源量, alloc(i) 表示第 i
个进程已分配的资源量。由题中所给条件可知:
max(1)+...+max(20)=(need(1)+...need(20))+(alloc(1)+...+alloc(20))<50
如果在这个系统中发生了死锁,那么一方面 30 个资源 R 应该全部分配出去,即(反证法)
alloc(1)+...+alloc(20)=30 ,另一方面所有进程将陷入无限等待状态。
由上述两式可得: need(1)+...+need(20)<20 (关键)
上式表示死锁发生后, 20 个进程还需要的资源量之和小于 20 ,这意味着此刻至少存在一个进程 i ,
need(i)=0 ,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行
完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。
48. 文件目录的作用是什么 ? 一个文件的目录项应包括哪些信息 ?
文件目录的作用是将文件名转换为文件在外存的物理位置,使操作系统能有效地对文件实施统一管理。
文件目录项一般包括文件名、扩展名、文件属性、文件建立的日期和时间、起始簇号、文件长度等信息。