第一章
1.操作系统的目标
(1)有效性,一是提高系统资源利用率,二是提高系统的吞吐量;(2)方便性(3)可扩充性(4)开放性
2.操作系统的作用
(1)从一般用户观点,OS作为用户与计算机硬件系统之间的接口,用户可以通过以下三种方式使用计算机,命令方式,系统调用方式,图形,窗口方式
(2)从资源管理者的观点,OS作为计算机系统资源的管理者
(3)OS实现了对计算机资源的抽象
3.分时系统特征:
1. 多路性2.独立性3.及时性4.交互性
4. 操作系统的基本特征
(1)并发性
并发与并行:并行性是指两个或多个时件同一时刻发生,并发性是指两个或多个时件同一时间间隔发生
引入进程:进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令,信息和堆栈组成,是一个独立运行的活动实体。
引入线程:作为独立运行和独立调度的基本单位,线程比进程更小,基本上不拥有系统资源
(2)共享性:1.互斥共享方式2.同时访问方式
(3)虚拟技术(提高存储空间的利用率):1.时分复技术(虚拟处理机技术,虚拟设备技术)物理信道模拟为多条逻辑信道划分2.空分复技术(虚拟磁盘技术,虚拟存储器技术)根据频率划分信道
(4)异步性
1.设计现代OS的主要目标是什么?(1)有效性 (2)方便性 (3)可扩充性(4)开放性
2.OS的作用可表现在哪几个方面?(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象
12.试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。
答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。(2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。(3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。
13.OS有哪几大特征?其最基本的特征是什么?
答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
第二章
1.进程的特征与状态:
特征:1.结构特征,为使程序独立运行,为其配置进程控制块2.动态性,进程具有一定的生命周期3.并发性4.独立性5.异步性
状态:1.就绪状态,已分配到除CPU外的所有资源2.执行状态3.阻塞状态挂起状态
N个进程处于就绪状态最多有n-1个,处于执行状态最多有1个
2. 进程控制块PCB是进程存在的唯一标识
3.进程同步
(1)进程两种形式的制约关系
1)间接相互制约关系,通常指共享系统资源
2)直接相互制约关系,常源自进程间的合作
(2)临界资源,诸进程间应采取互斥方式,实现对资源的共享,比如说打印机,磁带机等。
4. 同步机制应遵循的规则
1)空闲让进2)忙则等待3)有限等待4)让权等待
5.信号量机制
1)整型信号量:最初由Dijkstra把整型信号量定义为一个用于表示资源数目的整型量S,它与一般整型量不同,除初始化外,仅能通过两个标准的原子操作wait(S)和signal(S)来访问,这两个操作被分别称作P,V操作
例:是写出相应的程序来描述下图的前趋关系
把S1,S2,S3,S4,S5,S6,S7之间用a,b,c,d,e,f,g,h
Semaphore:=0,0,0,0,0,0,0
Begin
Parbegin
BeginS1;signal(a);signal(b)
End
Beginwait(a);S2;signal(c);signal(d);
End
Beginwait(b);S3;signal(e);
End
Beginwait(c);S4;signal(f);
End
......
Parend
end
(2)记录型型号量,增加了一个进程链表指针
S.value=-s, |s.value|=s为等待进程的进程数
6.进程同步问题
(1)生产者-消费者问题
(2)缓冲区问题
(3)读者-写着问题
7.进程通信的类型
(1)共享存储器系统,1)基于共享数据结构的通信方式2)基于共享存储区的通信方式
(2)消息传递系统,进程间的数据交换是以格式化的消息为单位的
(3)管道通信,发送进程和接受进程是利用管道进行通信的,具有互斥,同步,确认对方是否存在三方面的协作能力
8.线程与进程之间的比较
通常一个进程拥有若干进程,至少也有一个线程
(1)调度,在引入线程的操作系统,线程作为调度和分派的基本单位,进程作为拥有资源的基本单位
(2)并发性,进程之间,线程之间都可以进行并发操作
(3)拥有资源,进程都作为拥有资源的一个基本单位
(4)系统开销,线程创建或撤销的开销较小
6.试从动态性,并发性和独立性上比较进程和程序?
答:(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。进程有一定的生命期,而程序只是一组有序的指令集合,是静态实体。
(2)并发性是进程的重要特征,同时也是OS 的重要特征。引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。
(3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。对于未建立任何进程的程序,不能作为独立单位参加运行。
7.试说明PCB 的作用,为什么说PCB 是进程存在的惟一标志?
答:PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。
8.试说明进程在三个基本状态之间转换的典型原因。
答:(1)就绪状态→执行状态:进程分配到CPU资源
(2)执行状态→就绪状态:时间片用完
(3)执行状态→阻塞状态:I/O请求
(4)阻塞状态→就绪状态:I/O完成
16.进程在运行时存在哪两种形式的制约?并举例说明之。
(1)间接相互制约关系。举例:有两进程A 和B,如果A 提出打印请求,系统已把唯一的一台打印机分配给了进程B,则进程A 只能阻塞;一旦B 释放打印机,A 才由阻塞改为就绪。
(2)直接相互制约关系。举例:有输入进程A 通过单缓冲向进程B 提供数据。当缓冲空时,计算进程因不能获得所需数据而阻塞,当进程A 把数据输入缓冲区后,便唤醒进程B;反之,当缓冲区已满时,进程A 因没有缓冲区放数据而阻塞,进程B 将缓冲区数据取走后便唤醒A。
18.同步机构应遵循哪些基本准则?为什么?
答:同步机构应遵循的基本准则是:空闲让进、忙则等待、有限等待、让权等待
原因:为实现进程互斥进入自己的临界区。
28.在测量控制系统中的数据采集任务,把所采集的数据送一单缓冲区;计算任务从该单缓冲中取出数据进行计算.试写出利用信号量机制实现两者共享单缓冲的同步算法。
答:a. Var mutex, empty, full: semaphore:=1, 1, 0;
gather:
begin
repeat
……
gatherdata in nextp;
wait(empty);
wait(mutex);
buffer:=nextp;
signal(mutex);
signal(full);
untilfalse;
end
compute:
begin
repeat
……
wait(full);
wait(mutex);
nextc:=buffer;
signal(mutex);
signal(empty);
computedata in nextc;
untilfalse;
end
b.Var empty, full: semaphore:=1, 0;
gather:
begin
repeat
……
gatherdata in nextp;
wait(empty);
buffer:=nextp;
signal(full);
untilfalse;
end
compute:
begin
repeat
……
wait(full);
nextc:=buffer;
signal(empty);
computedata in nextc;
untilfalse;
end
36.为什么要在OS 中引入线程?
答:在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性,提高CPU的利用率。进程是分配资源的基本单位,而线程则是系统调度的基本单位。
38.试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较。
答:(1)调度性。线程在OS 中作为调度和分派的基本单位,进程只作为资源拥有的基本单位。
(2)并发性。进程可以并发执行,一个进程的多个线程也可并发执行。
(3)拥有资源。进程始终是拥有资源的基本单位,线程只拥有运行时必不可少的资源,本身基本不拥有系统资源,但可以访问隶属进程的资源。
(4)系统开销。操作系统在创建、撤消和切换进程时付出的开销显著大于线程。
第三单元
1. 抢占方式
(1)优先权原则(2)短作业优先原则(3)时间片原则
2. 周转周期:从作业提交给系统开始到作业完成的这段时间
3. 调度算法
(1)先来先服务调度算法FCFS,有利于长作业(进程),不利于短作业(进程)
(2)短作业(进程)优先调度算法SJ(P)F
(3)优先权调度算法FPF,非抢占和抢占
(4)时间片轮转法
4. 产生死锁的原因
(1)竞争资源(2)进程间推进顺序非法
5. 产生死锁的必要条件
(1)互斥条件(2)请求和保持条件(3)不可剥夺条件(4)环路条件
6. 处理死锁的基本方法
(1)预防死锁,事先采取某些措施去破坏产生死锁的四个必要条件(2)避免死锁,在资源动态分配中,用某种方法避免产生死锁(3)检测死锁(4)解除死锁
6.在抢占调度方式中,抢占的原则是什么?
答:抢占的原则有:时间片原则、优先权原则、短作业优先权原则等。
18.何谓死锁?产生死锁的原因和必要条件是什么?
答:死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。
产生死锁的原因为竞争资源和进程间推进顺序非法。其必要条件是:互斥条件、请求和保持条件、不剥夺条件、环路等待条件。
第四单元
1. 寄存器的访问速度最快,高速缓存的速度大于主存储器
2. 分区分配算法
(1)首次适应算法(first fit),从链首开始找直到找到一个合适的分区为止
(2)循环首次适应算法(next fit),从上一次找到空闲分区的下一个开始找直到找到一个合适的分区为止
(3)最佳适应算法(best fit),把满足要求又是最小的空间分配给作业
(4)最坏适应算法(best fit),找一个最大的空闲区分配给作业,是剩下的空闲区不至于过小
(5)快速适应算法(quick fit),把空闲分区根据容量大小进行分类,建立几个空闲分区链表,并设立一个管理索引表
3. 对换的引入
对换是把内存中暂时不能运行的进程或暂时不用的程序和数据调入外存上,以便腾出足够的空间,把已经具备运行进程或进程所需要的程序或数据调入内存
4. 权限不够——保护性中断,段不在内存中——缺段中断,超过段长限制——段长越界中断,段号不存在——段号越界中断
5. 虚拟存储器的特征
(1)多次性,一个作业被分多次调入内存运行
(2)对换性,允许作业运行过程进行换入换出
(3)虚拟性,是指能从逻辑上扩充内存容量
6. 页面置换算法
(1)最佳(Optimal)置换算法,淘汰未来最长时间不被访问的
(2)先进先出(FIFO)页面置换算法,淘汰最先进入内存的页面
(3)最近最久未使用(LRU)置换算法,以过去推未来
(4)Clock置换算法
6.为什么要引入动态重定位?如何实现?
答:在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址,引入了动态重定位;
具体实现方法是在系统中增加一个重定位寄存器,用来装入程序在内存中的起始地址,程序执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加之和,从而实现动态重定位。
10.在系统中引入对换后可带来哪些好处?
答:交换技术将暂不需要的作业移到外存,让出内存空间以调入其它作业,交换到外存的作业也可以被再次调入。目的是解决内存紧张问题,带来的好处是进一步提高了内存利用率和系统吞吐量。
11.为实现对换,系统应具备哪几方面的功能?
答:系统应具备三方面功能:对换空间管理,进程换出,进程换入。
19.虚拟存储器有哪些特征?其中最本质的特征是什么?
答:虚拟存储器有多次性、对换性、虚拟性三大特征。最本质的特征是虚拟性。
第五单元
1. I/O控制方式
(1)程序I/O方式,CPU的高速性和I/O的低速性,使CPU绝大部分处于等待状态
(2)中断驱动I/O控制方式,无需CPU干预,CPU和I/O设备并行工作
(3)直接存储器访问(DMA)I/O控制方式,数据传输的基本单位是数据块,数据从设备直接送入内存,仅在传输数据的开始和结尾需要CPU干预,传输由控制器完成
(4)I/O通道控制方式,可以是不连续的控制块
2. 引入缓冲区的原因
(1)缓和CPU与I/O设备间速度不匹配的矛盾
(2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制
(3)提高CPU和I/O设备之间的并行性
I/O系统的层次及功能
3. SPOOLing技术
外围操作与CPU对数据的处理同时进行,我们把在联机情况下实现的同时外围技术称作——,主要有以下三部分输入丼和输出丼,输入缓冲区和输出缓冲区,输入进程SPi和输出进程SPo。
特点:(1)提高了I/O速度(2)将独占设备改为共享设备(3)实现了虚拟设备功能
4.(1)寻道时间
把磁臂移动到指定磁道上所经历的时间,该时间是启动磁臂的时间S与磁头移动n条磁道所花的时间之和Ts=m*n+s(m是一常数,与磁盘驱动器的速度有关)
(2)旋转延迟时间Tr
指定扇区移动到磁头下面所经历的时间
(3)传输时间Tt
把数据从磁盘读出或向磁盘写入数据所经历的时间,Tt的大小与每次所读/写的字节数和旋转速度有关 Tt=b/rN (r为磁盘每秒的转数,N为一条磁道上的字节数)
4. 磁盘调度
(1)先来先 服务(FCFS)
(2)最短寻道时间优先(SSTF),会导致进程饥饿现象
(3)扫描(SCAN)算法,考虑移动方向,往外移动在向里移动
(4)循环扫描算法(CSCAN)算法,单方向移动如:慢慢移动到最大,再从最小开始
8.试说明DMA的工作流程。
以从磁盘读入数据为例来说明DMA方式的工作流程:当CPU要从磁盘读入一数据块时,便向磁盘控制器发送一条读命令,该命令被送入DMA控制器的命令寄存器CR中。同时,还需发送本次要将数据读入的内存起始目标地址,该地址被送入DMA控制器的内存地址寄存器MAR中;本次要读的字(节)数则送至DMA控制器的数据计数器DC中。另外,还需将磁盘中数据读取的源地址直接送到DMA控制器的I/O控制逻辑上。然后,启动DMA控制器进行数据传送。此后,CPU便可去处理其它任务,而整个的数据传送便由DMA控制器负责控制。当DMA控制器已从磁盘中读入一个字(节)的数据,并送入DMA控制器的数据寄存器DR后,再挪用一个存储器周期,将该字(节)传送到MAR所指示的内存单元中。接着,便对MAR内容加1和将DC内容减1。若DC内容减1后不为0,表示传送未完,便准备再传送下一个字(节),否则,由DMA控制器发出中断请求。
9.引入缓冲的主要原因是什么?
答:引入缓冲的主要原因是:
(1)缓和CPU与I/O 设备间速度不匹配的矛盾
(2)减少对CPU的中断频率,放宽对中断响应时间的限制
(3)提高CPU与I/O 设备之间的并行性
7.有哪几种I/O控制方式?各适用于何种场合?
答:共有四种I/O 控制方式。
(1)程序I/O 方式:早期计算机无中断机构,处理机对I/O设备的控制采用程序I/O方式或称忙等的方式。
(2)中断驱动I/O 控制方式:适用于有中断机构的计算机系统中。
(3)直接存储器访问(DMA)I/O 控制方式:适用于具有DMA控制器的计算机系统中。(4)I/O 通道控制方式:具有通道程序的计算机系统中。
8.试说明DMA 的工作流程。
答:以从磁盘读入数据为例,说明DMA的工作流程。当CPU要从磁盘读入数据块时,先向磁盘控制器发送一条读命令。该命令被送到命令寄存器CR中。同时还发送本次要读入数据的内存起始目标地址,送入内存地址寄存器MAR;本次要读数据的字节数送入数据计数器DC,将磁盘中的源地址直接送DMA控制器的I/O 控制逻辑上。然后启动DMA 控制器传送数据,以后CPU 便处理其它任务。整个数据传送过程由DMA控制器控制。
9.引入缓冲的主要原因是什么?
答:引入缓冲的主要原因是:
(1)缓和CPU与I/O 设备间速度不匹配的矛盾
(2)减少对CPU的中断频率,放宽对中断响应时间的限制
(3)提高CPU与I/O 设备之间的并行性
10.在单缓冲情况下,为什么系统对一块数据的处理时间为max(C,T)+M ?
答:在块设备输入时,先从磁盘把一块数据输入到缓冲区,耗时为T;然后由操作系统将缓冲区数据送给用户区,耗时M;接下来由CPU 对块数据进行计算,耗时C。在单缓冲情况下,磁盘把数据输入到缓冲区的操作和CPU 对数据的计算过程可以并行展开,所以系统对每一整块数据的处理时间为max(C,T) + M。
11.为什么在双缓冲情况下,系统对一块数据的处理时间为max(T,C)?
答:写入者花费时间T 将数据写满一个缓冲区后再写另一个缓冲区;读出者花费时间M 将一个缓冲区数据送到用户区后再传送另一个缓冲区数据,计算者读出用户区数据进行处理。由于将数据从缓冲区传到用户区操作必须与读用户区数据处理串行进行,而且可以与从外存传送数据填满缓冲区的操作并行。因此耗时大约为max(C+M,T)。考虑M 是内存数据块的移动耗时非常短暂可以省略,因此近似地认为系统对一块数据处理时间为max(C,T)。
15.为何要引入设备独立性?如何实现设备独立性?
答:现代操作系统为了提高系统的可适应性和可扩展性,都实现了设备独立性或设备无关性。基本含义是应用程序独立于具体使用的物理设备,应用程序以逻辑设备名请求使用某类设备。实现了设备独立性功能可带来两方面的好处:(1)设备分配时的灵活性;(2)易于实现I/O重定向。为了实现设备的独立性,应引入逻辑设备和物理设备概念。在应用程序中,使用逻辑设备名请求使用某类设备;系统执行时是使用物理设备名。鉴于驱动程序是与硬件或设备紧密相关的软件,必须在驱动程序之上设置一层设备独立性软件,执行所有设备的公有操作、完成逻辑设备名到物理设备名的转换(为此应设置一张逻辑设备表)并向用户层(或文件层)软件提供统一接口,从而实现设备的独立性。
16.在考虑到设备的独立性时,应如何分配独占设备?
答:在考虑到设备的独立性时,应按如下步骤来分配独占设备:
(1)进程以逻辑设备名提出I/O请求。
(2)根据逻辑设备表获得I/O请求的逻辑设备对应物理设备在系统设备表中的指针。
(3)检索系统设备表,找到属于请求类型、空闲可用且分配安全设备的设备控制表,将对应设备分配给请求进程;未找到则等待等待唤醒和分配。
(4)到设备控制表中找出与其相连接的控制器的控制器控制表,根据状态字段判断是否忙碌,忙则等待;否则将该控制器分配给进程。
(5)到该控制器的控制器控制表中找出与其相连接的通道的通道控制表,判断通道是否忙碌,忙则等待;否则将该通道分配给进程。
(6)只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功,然后便可启动设备进行数据传送。
17.何谓设备虚拟?实现设备虚拟时所依赖的关键技术是什么?
答:设备虚拟是指把独占设备经过某种技术处理改造成虚拟设备。
可虚拟设备是指一台物理设备在采用虚拟技术后,可变成多台逻辑上的虚拟设备,则可虚拟设备是可共享的设备,将它同时分配给多个进程使用,并对这些访问该物理设备的先后次序进行控制。
18.试说明SPOOLing 系统的组成。
答:SPOOLing 系统由输入井和输出井、输入缓冲区和输出缓冲区、输入进程 SPi 和输出进程 SPo 三部分组成。
19.在实现后台打印时,SPOOLing 系统应为请求I/O 的进程提供哪些服务?
答:在实现后台打印时,SPOOLing 系统应为请求 I/O的进程提供以下服务:
(1)由输出进程在输出井中申请一空闲盘块区,并将要打印的数据送入其中;
(2)输出进程为用户进程申请空白用户打印表,填入打印要求,将该表挂到请求打印队列。
(3)一旦打印机空闲,输出进程便从请求打印队列的队首取出一张请求打印表,根据表中要求将要打印的数据从输出井传送到内存缓冲区,再由打印机进行打印。
第六章
1.数据组成分分为数据项(描述一个对象属性的字符集),记录和文件(由创建者所定义,具有文件名的一组相关元素的集合)三级
2.文件的物理结构,指文件在外存上的组织形式,不仅与存储介质的存储性能有关,还与所采取的外存分配方式有关
文件的逻辑结构:用用户观点出发所观察到的文件组织形式,可直接处理的数据及结构,他独立于文件的物理特性
3. 文件逻辑结构的类型
有结构文件:由一个以上的记录构成的文件,故又把它称为记录文件
(1)定长纪录(2)变长记录
无结构文件:指由字符流构成的文件,故又称流式文件(大量的源程序,可执行程序,库函数)
4. 文件的物理结构直接与分配方式有关
5. 链接分配
(1)隐式链接,在文件目录的每个目录项中,都含有指向链接文件第一个盘快和最后一个盘快的指针
(2)显式链接,用于链接文件个物理块的指针,显式地存放在一张链接表中,需查看FAT表
8.试说明顺序文件的结构及其优点。
答:第一种是串结构:各记录之间的顺序与关键字无关。第二种是顺序结构:指文件中的所有记录按关键字(词)排列。可以按关键词长短排序或英文字母顺序排序。顺序文件的最佳应用场合是对诸记录进行批量存取时,存取效率最高;只有顺序文件才能存储在磁带上并有效工作。
9.在链接式文件中常用哪种链接方式?为什么?
答:链接方式分为隐式链接和显式链接两种形式。隐式链接是在文件目录的每个目录项中,都含有指向链接文件第一个盘块和最后一个盘块的指针。显式链接
24.某操作系统磁盘文件空间共500块,若用字长为32位的位示图管理磁盘空间,试问:(1)位示图需要多少字?
(2)第i字第j位对应的块号是多少?
(3)给出申请/归还一块的工作流程。
答:(1)位示图需要的字数计算:INT(500/32)=16 个字。
(2)块号b=(i-1)*32+j
(3)申请的过程:顺序扫描位示图、找到空闲块并分配、修改位示图map[i,j]=1。
归还的过程:找到回收盘块在位示图中的行和列,修改位示图map[i,j]=0。
则把用于链接文件各物理块的指针,显式地存放在内存的一张链接表中。
操作系统重点及试题强攻