操作系统题目整理

大家觉得有用点点赞啊啊我升到3级就可以自定义标签了谢谢~

说复试题目过于牵强,只是自己整理的一些知识点而已,为了便于理解和背诵,有些部分定义和说明尽量简明扼要,如有错误请多多指教!(不可转载)

1.(补)什么是物理内存?什么是虚拟内存?两者的关系?

1.物理内存(内存条):物理内存就是实际的内存条,当打开程序时,系统会自动将程序加载到内存条上。
2.虚拟内存(硬盘):虚拟内存是在硬盘上虚拟一个文件,代替物理内存形式存储功能。
关系:当物理内存是够用时,便将程序存入虚拟内存中。

2.cache的作用是什么?

高速缓冲存储器:位于内存和CPU之间,容量小,速度快,用来解决CPU和内存速度不匹配的问题。

3.操作系统的作用

1.操作系统作为计算机资源的管理者
2.作为用户与计算机之间的接口
3.作为扩充机器

4.操作系统的特征

并发:指两个或多个事件在同一时间间隔发生。(并发与并行)
共享:系统中的资源可供并发执行的多个进程共同使用。(互斥共享与同时共享)
并发与共享互为存在条件,(1)资源的共享是以程序的并发为条件的,若系统不支持并发执行,就不存在资源共享问题。(2)若系统不能对资源共享实施有效的管理,就会影响到进程的并发执行。
虚拟:将物理上的实体变为逻辑上的对应物。比如操作系统中的虚拟处理机技术,虚拟存储器技术。
异步:系统中允许多个程序并发执行,进程的执行不是一贯到底而是以不可预知的速度向前推进。
方便,有效,可扩充性,开放

5.操作系统具有的功能

处理机管理,存储器管理,文件管理,设备管理,接口

6.操作系统提供的接口

命令接口:
(1)联机命令接口:用户与操作系统可以进行交互,用户每输入一条命令,操作系统就完成制定的功能。适用于分时或实时系统的接口。
(2)脱机命令接口:一次输入一批命令,用户不直接干预作业的执行。适用于批处理系统。
程序接口:由一组系统调用组成,用户通过在程序中使用这些系统调用来请求操作系统为其服务。

7.库函数与系统调用的区别于联系

库函数是语言或应用程序的一部分,工作在用户空间中,而系统调用是操作系统的一部分,工作在内核空间中,许多库函数都会使用系统调用来实现功能,而未使用系统调用的库函数运行速度往往比使用了的速度快,因为系统调用需要上下文的切换和状态的转换。

8.操作系统的发展

大体上就是一段想法设法不断提高资源利用率的过程。
手工操作阶段:
批处理阶段(单道批,多道批):批处理操作系统的用户脱机使用计算机,作业是成批处理的,系统内多道程序并发执行,交互能力差。
分时操作系统:可让多个用户同时使用计算机,人机交互较强,具有每个用户独立使用计算机的独占性,但是实时性比较差。
实时操作系统(硬实时操作系统,软实时):能够做出及时反应,可靠性高,响应及时,但是资源利用率低。

9.操作系统的运行机制

计算机系统中,通常CPU执行两种不同性质的程序,一种是操作系统内核程序,一种是应用程序。出于安全性考虑,提出了特权指令的概念。特权指令就是用户不能直接使用的指令,比如I/O指令,关中断指令等。在具体实现上,把CPU分为用户态和核心态,操作系统内核程序运行在核心态,应用程序运行在用户态。通过中断或异常来进行用户态到核心态的切换。

10.什么是内核,内核包含那些功能?

内核是计算机系统最底层的软件,是计算机功能的延伸。
时钟管理:主要是计时功能,向用户提供标准的系统时间,通过时钟中断的管理来实现进程之间的切换。
中断机制:提高多道程序运行环境中CPU的利用率。
原语:是一些特殊的程序,处于操作系统的最底层,是最接近硬件的部分;程序的运行具有原子性,其运行必须一气呵成不能中断;这些程序的运行时间都很短且调用频繁。
系统控制的一些管理:进程管理,存储器管理,设备管理。

11.操作系统的体系结构

操作系统形成了两种主要的体系结构:大内核和微内核
大内核:是将操作系统的主要功能模块都作为一个紧密连接的整体运行在核心态,从而提供高性能的系统服务,但是由于功能复杂所以内核代码过多难以维护。
微内核:就是将内核中最基本的功能(如进程管理)保留在核心态,将那些不需要在核心态执行的功能更转移到用户态执行,从而降低了内核的复杂性,维护代价大大降低,各部分独立执行高了可靠性,但是因为需要频繁的进行用户态和和心态之间的切换,所以性能不好。

12.中断和异常

中断的本质:发生中断时需要操作系统介入开展管理工作。
中断也称外中断:通常是与当前执行指令无关的事件,比如说I/O请求、时间片到。。
异常也称内中断:是与当前执行指令有关的事件,比如地址越界、缺页中断、执行访管指令。。
引入中断机制,才能实现多道程序并发执行,提高资源利用率。

13.中断处理的过程

(1)执行完每个指令后,CPU都要检查当前是否有外部中断信号。
(2)如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器、各种通用寄存器)。
(3)根据中断信号类型转入相应的中断处理程序。
(4) 恢复进程的CPU环境并退出中断,返回原进程继续往下执行。

14.为什么引入核心态和用户态?两者的切换需要什么条件?

用户不能直接执行对系统影响非常大的操作,即特权指令,必须通过系统调用的方式请求操作系统代为执行,防止用户更改或访问重要的系统资源,影响其它程序的执行,以保证系统的稳定性和安全性。
用户态到核心态的转换发生在中断产生时
核心态到用户态的转换发生在中断返回应用程序时。

15.为什么说引入了中断和通道技术之后,多道程序概念变成现实?

多道程序的并发执行是指有的程序在CPU上运行,而另一些程序则在I/O上传输,这种情况的实现必须要中断技术和通道技术的支持。
通道是一种控制一台或多台硬件设备的硬件机构,它一旦启动就独立于CPU运行,所以就实现了I/O操作与CPU并行工作。
中断就是当I/O操作完成时,或者硬件出现故障时,由中断机构向CPU发出信号,此时CPU停下手头的工作转而处理中断请求,待处理完中断后再继续原来的工作。
因此,通道技术和中断技术结合能够实现I/O操作与CPU并行工作,即CPU启动通道进行数据传输工作,CPU转而处理其他程序的计算工作,当通道工作结束时,就通知中断机构向CPU发出中断请求,CPU暂停正在处理的操作,对出现的中断进行处理,处理完成后再进行原来的工作,这样就是多道程序能够并发执行,使多道程序的概念变成现实。

16.并行性与并发性的区别与联系

并行性是指在同一时刻有两个或两个以上的事件发生,并发性是指在同一时间间隔内有两个或两个以上的事件发生。在多道程序环境下,宏观上有多个程序同时运行,在单处理机系统中,微观上是多个程序交替执行,若为多处理机,则并发执行的程序就可以分配到多个处理机上实现并行执行。

17.特权指令与非特权指令

特权指令是指具有特殊权限的指令,这类指令只能用于操作系统和其他的系统软件,不能直接提供给用户使用,特权指令只能在核心态下执行。用户态下只能使用非特权指令,核心态下可以使用全部指令,保证了计算机系统的安全可靠,从用户态转到核心态的唯一途径是中断或异常。

18.访管指令与访管中断

访管指令是一条可以在用户态下执行的指令,本身不是特权指令,功能是为产生一个中断事件,将操作系统由用户态转换为核心态,称为访管中断。

19.什么是进程,进程的作用和特征

进程:进程是进程实体的一次运行过程,系统进行资源分配和处理机调度的一个独立单位。进程实体由PCB,程序段,数据段组成。
引入进程的目的:为了更好地描述程序的并发执行,实现操作系统的并发行和共享性。
PCB的作用:使一个在多道程序环境下不能独立运行的程序成为一个能够独立运行的基本单位,即一个能与其他进程并发执行的进程。
进程的特征:动态性,并发性,独立性,异步性。
动态性:进程是程序的一次运行过程,是动态的产生和消亡的,具有一定的生命周期。
并发性:多个进程可以在同一时间间隔同时运行。
独立性:进程是一个能够独立运行,独立分配计算机资源,独立接收调度的基本单位。
异步性:由于进程的并发执行,各进程以不可预知的速度向前推进。

20.进程的状态与切换

运行态:进程正在处理机上运行。
就绪态:进程获得了除处理机以外的所有资源。
阻塞态:进程由于等待某一事件而暂停运行。
创建态:进程正在被创建。
创建进程的4个步骤:
(1)先申请一个空白的PCB
(2)向PCB中写入一些控制和管理进程的信息
(3)系统为该进程分配资源
(4)把进程转为就绪态
结束态:进程从系统中结束。

21.进程控制

进程终止:(正常结束,异常结束,外界干预)
(1)根据终止进程的标识符,检索PCB,读出此时进程的状态
(2)若进程处于运行态,则立即停止运行,并将处理机资源分配给其他进程
(3)若进程还有子孙进程,则所有子孙进程也终止
(4)将该进程所用的全部资源归还给父进程或操作系统
(5)将PCB从所在的队列中删除
进程的阻塞与唤醒:
阻塞:(自动执行block原语,由运行态转为阻塞态)
(1)根据要阻塞进程的标识符找到对应PCB
(2)若为运行态则保护现场转为阻塞态,停止运行
(3)把PCB转入相应的等待序列,把处理机资源调度给其他就绪进程
唤醒:(系统调用唤醒原语,将进程由等待态转为就绪态)
(1)从等待队列中找到相应的PCB
(2)将其从等待队列中移除,并改为就绪态
(3)将PCB插入就绪队列,等待调度
进程切换:
(1)保存现场
(2)更新PCB信息
(3)把进程的PCB移入相应的队列中
(4)选择另一个进程执行并更新PCB
(5)更新内存管理的数据结构
(6)恢复现场

22.简述进程通信的方式

共享存储:在通信的进程之间开辟一个共享空间,进程通过对该共享空间的读写操作来实现消息传递。
消息传递:以格式化的消息来进行进程的数据交换。(直接通信,间接通信)
管道通信:管道是先入先出的信息流,允许多个进程向管道中写入数据,允许多个进程用管道中读出数据。

23.线程的概念和作用

线程:由线程ID,程序计数器,堆栈等组成,是进程的一个实体,是处理机调度的基本单位。
引入线程的目的:减少程序在并发执行的时空开销,提高系统并发性。

24.进程和线程的区别

进程是计算机资源分配的基本单位,线程是处理机调度的基本单位。在同一进程的线程之间切换不会引起进程的切换,不同进程的线程切换会引起进程的切换。
进程是计算机资源的拥有者,线程几乎不拥有资源,同属于一个进程的线程共享该进程的所有资源。
不仅进程之间可以并发执行,多个线程之间也可以并发执行。
同属于一个进程的各线程之间的通信无需操作系统的干预。

25.线程的实现方式

线程的实现方式可分为用户级线程和内核级线程。
用户级线程:有关线程管理的所有工作由应用程序完成,内核意识不到线程的存在。
内核级线程:线程管理的工作由内核完成,应用程序只有一个到内核线程的接口。

26.多线程模型

多线程模型是实现用户级线程和内核级线程的连接方式
多对一:多个用户级线程映射到一个内核级线程
优点:线程管理由用户负责,效率高
缺点:一个线程在使用内核服务时被阻塞,整个进程都会被阻塞
一对一:一个用户级线程映射一个内核级线程
优点:并发能力强,一个线程阻塞时可以用另外一个线程
缺点:开销比较大
多对多:n个用户级线程映射到m个内核级线程(m<=n)
优点:集两者之所长

27.进程与程序在什么情况下形成一对一,一对多,多对一,多对多的关系?

执行一条命令或运行一个应用程序时,进程与程序之间形成一对一关系;
进程在执行过程中可以加载不同的应用程序,从而形成一对多的关系;
以不同的参数和数据执多次执行同一个应用程序时,形成多对一的关系;
多个进程并发执行不同的应用程序时,形成多对多的关系。

28.为什么进程之间的通信必须借助于操作系统内核?

每个进程有自己独立的地址空间,在操作系统和硬件地址保护机制下,进程无法访问其他进程的地址空间,所以必须借助于操作系统的系统调用来实现进程之间的通信。

29.什么是多线程,多线程与多任务有什么区别?

多线程是指在一个程序中可以定义多个线程并同时运行它们,每个线程可以执行不同的任务。
多线程和多任务的区别:多任务是针对操作系统而言的,代表操作系统可以同时执行的程序个数;多线程是针对一个程序而言的,代表一个程序可以同时执行的线程个数,每个线程可以完成不同的任务。

30.调度的层次

一个作业从提交开始直到完成,往往要经历三级调度:
作业调度:按一定的原则从外存上处于后备队列的作业中挑选一个作业为其分配内存等资源,每个作业只调入一次,调出一次。
内存调度:将暂时不能运行的进程调入外存等待,把具有运行条件的进程重新调入内存。
进程调度:按照某种方法从就绪队列中选择一个进程为其分配处理机。

31.在什么情况下不能进行进程的调度与切换?

(1)在处理中断的过程中。
(2)进程在操作系统内核临界区中。
(3)其他需要屏蔽中断的原子操作过程中。
如果在上述过程中需要进行调度,只能等上述过程结束后,才能进行相应的调度与切换。

32.中断处理过程

33.进程调度方式

非抢占式:当一个进程正在处理机上运行时,若有一个更紧迫优先级更高的进程进入就绪队列,只能让该进程运行完毕之后,才能将处理机分配给他。
抢占式:若一个进程正在处理机上运行,若有一个更紧迫优先级更高的进程进入,则暂停正在运行的进程,将处理机分配给这个进程。

34.进程调度的准则

35.进程调度的功能

36.内存管理的功能

内存空间的分配与回收
地址转换
内存空间的扩充
内存空间的保护

37.进程调度的算法

(1)先来先服务算法:按照进程到达的顺序依次将处理机分配给它。
优点:公平,实现简单。
缺点:效率低,对长作业有利对短作业不利。
(2)短进程优先算法:从就绪队列中选择一个运行时间最短的进程将处理机分配给它。
优点:效率高,平均等待时间少。
缺点:长作业会长时间得不到运行,产生饥饿。
(3)优先级调度算法:选择优先级最高的进程将处理机分配给它。
抢占式:
非抢占式:
进程优先级的设置原则
(1)系统进程>用户进程:系统进程作为系统的管理者,理应拥有更高的优先级。
(2)交互型进程>非交互型进程:与用户交互的进程应该优先被响应。
(3)I/O型进程>计算型进程:将I/O进程优先级设置的高就有可能让I/O设备尽早开始工作,进而提高系统的整体效率。
(4)高响应比优先算法:根据 (等待时间+运行时间)/运行时间 算出作业的响应比,响应比高的作业优先运行。
优点:兼顾长短作业
缺点:计算响应比开销大
(5)时间片轮转调度算法:按照进程到达的顺序依次为其分配一个时间片运行直到进程运行完成。
优点:兼顾长短作业
缺点:平均等待时间比较长
(6)多级反馈队列调度算法:是优先级调度算法和时间片轮转调度算法的综合。
多级反馈队列调度算法的基本思想
(1)设置多个就绪队列,并未多个队列赋予不同的优先级。第一个队列的优先级最高然后逐级递减。
(2)各个队列中进程执行时间片的大小各不相同。优先级越高时间片越小。
(3)一个进程进入内存后,先被放在第一级队列的末尾,按先来先服务调度算法等待调度,如果该进程能在时间片内完成,就可以撤离系统。如果不能就将其放到下一级队列的末尾,同样按先来先服务调度算法进行调度,重复上述步骤,若该进程降到最后一个队列后,就在该队列采用时间片轮转调度运行。
(4)当第一级队列为空时,调度程序才会调度第二级队列中的进程运行,这样依次往下。
优点:兼顾长短作业,由较好的响应时间,可行性强。
缺点:

38.为什么要引入进程同步

在多道程序环境下,进程是并发执行的,不同进程之间存在不同的相互制约关系,为了协调进程之间的相互制约关系而引入了进程同步的概念。
39.临界资源,临界资源的访问过程
将一次仅允许一个进程使用的资源成为临界资源。
临界资源的访问过程分为4部分
(1)进入区:在进入区检查是否可以进入临界区,若可以进入要设置正在访问临界区的标志。
(2)临界区:进程中访问临界资源的那段代码
(3)退出区:将正在访问临界区的标志清除
(4)剩余区:代码中的剩余部分

40.同步与互斥的区别与联系

同步是直接制约关系,是指为完成某些任务的两个或多个进程在运行过程中存在顺序等待关系。
互斥是间接制约关系,当一个进程使用临界资源时,另外的进程若想访问必须等待该进程释放资源。

41.互斥机制应当遵循的准则

空闲让进:临界区空闲时,可以允许一个请求进入临界区的进程进入临界区
忙则等待:当已有进程进入临界区时,其他试图进入临界区的进程必须等待
有限等待:对于请求访问的进程,应保证能在有限时间内进入临界区
让权等待:当进程不能进入临界区时,应该立即释放处理器。

42.实现临界区互斥的基本方法

软件实现方法:
(1)单标志法
(2)双标志先检查法
(3)双标志后检查法
(4)皮特森算法(单标志法与双标志法的结合)
硬件实现方法:
(1)中断屏蔽法(通过屏蔽中断的方式来实现,进区关中断,出区开中断)
(2)硬件指令法(TestAndSet指令:是原子操作,执行该指令时不允许中断)

43.什么是管程,作用是啥?

系统中的各种硬件和软件资源,均可用数据结构抽象的描述其资源特性,忽略内部结构和实现细节。用共享数据结构抽象的表示系统中的共享资源,这个代表共享资源的数据结构,以及对该共享数据结构进行操作的一组过程所组成的资源管理程序,称为管程。
作用:解决临界区分散所带来的管理和控制问题。在没有管程之前,对临界区的访问分散在各个进程之中,管程将这些分散在各进程中的临界区集中起来,并加以控制和管理。管程内的共享数据结构只能被管程内的过程所访问。
每次只允许一个进程进入管程,从而实现进程互斥。

44.什么是死锁,死锁产生的原因?产生死锁的必要条件?

死锁:是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进城都将无法向前推进。
死锁产生的原因:
(1)系统资源的竞争,通常系统中拥有的不可剥夺资源,无法满足多个进程的需要。
(2)进程推进速度非法,进程在运行过程中,请求和释放资源的顺序不当,也同样会导致死锁。
死锁产生的必要条件:
(1)互斥条件:
(2)不可剥夺条件:
(3)请求与保持条件:
(4)循环等待条件:

45.如何解决死锁问题?

死锁预防:破坏死锁的4个必要条件的一个或几个,以防发生死锁。
死锁避免:用某种方法防止系统进入不安全状态,避免死锁的发生。
死锁的检测与解除:无需采取任何措施,允许进程在运行过程中发生死锁。通过系统的检测机构及时的检测出死锁的发生,然后采取某些措施解除死锁。

46.死锁预防

互斥条件:一般不太可行。
不可剥夺条件:当请求的资源得不到满足时,就立即释放自身所占有的资源。
请求与保持条件:预先分配法,进程在运行前一次申请完它所需要的所有资源。
循环等待条件:顺序资源分配法,给系统中的资源编号,规定每个进程只能按编号递增的顺序请求资源。

47.死锁避免

当进程请求资源时,系统先按照银行家算法进行检查,若请求的资源小于等于需要的资源且请求的资源小于等于可利用的资源,就将资源假定分配给它,并修改有关数据,进行安全性检查,若系统存在安全序列,系统就不会进入死锁状态,则就将资源确定分配给该进程。

48.死锁的检测与解除

死锁的检测:通过简化资源分配图可以检测系统是否处于死锁状态,若资源分配图中的存在边不能被消去,则该分配图是不可完全简化的存在死锁。
死锁的解除:
(1)资源剥夺法:挂起某些死锁进程,并抢占它的资源。
(2)撤销进程法:强制撤销部分或全部死锁进程,剥夺其资源。
(3)进程回退法:让一个或多个进程回退到足以回避死锁的状态。

49.程序的装入和链接

将用户源程序变为可在内存中执行的程序通常需要以下几个步骤:
(1)编译:由编译程序将用户源代码编译成若干目标模块
(2)链接:将目标模块与库函数链接在一起,形成一个完整的装入模块。
(3)装入:由装入程序将装入模块装入内存运行。

50.程序链接的方式

(1)静态链接:在程序运行之前,将各目标模块和库函数链接成一个完整的可执行程序,以后不再拆开。
(2)装入时动态链接:在装入内存时,采用边装入边链接的方式。
(3)运行时动态链接:在程序执行中需要该目标模块时才进行。

51.程序装入的方式

程序的装入:
静态装入:事先知道程序在内存中的地址,按照装入模块中的绝对地址将数据和程序装入内存。
静态重定位装入:地址变换是在装入时一次完成的。特点:在作业装入内存时,必须一次将其内存空间全部分配,装入后在内存中不能移动,也不能申请新的空间。
动态重定位装入:装入模块装入内存时,不立即将相对地址转换为绝对地址,地址变换等到程序执行时才进行。
特点:在程序运行之前可以只装入他的部分代码即可运行,在程序运行之间可以动态的申请内存。
重定位:将程序的逻辑地址空间转换为内存的实际物理地址空间的过程。是实现多道程序在内存中同时运行的基础。

52.内存保护

(1)在CPU中设置一对上下限寄存器,存放用户作业在主存中的下限和上限地址,每当CPU要访问一个地址时,分别和寄存器中的值比较判断是否越界。
(2)采用重定位寄存器和界地址寄存器,重定位寄存器含最小的物理地址值,界地址寄存器含逻辑地址的最大值。内存管理机构动态的将逻辑地址与界地址寄存器进行比较,若未发生地址越界,则加上重定位寄存器的值后映射成物理地址。

53.扩充内存的方法

覆盖:将用户空间分为一个固定区和若干覆盖区,将经常活跃的部分放在固定区,剩余部分分段,将即将要访问的段放入覆盖区,其他段放在外存中,在需要调用时,再与覆盖区中的段进行交换。
交换:把处于等待状态的程序从内存转移到外存,转备好运行的程序调入内存。(内存调度)
虚拟内存:在逻辑上扩充内存。

54.内存管理方式

连续分配管理,非连续分配管理

55.连续分配管理方式

单一连续分配:内存分为系统区和用户区,系统区仅供操作系统使用,用户区工用户使用,内存中永远只有一道程序。
优点:简单,无外部碎片,可采用覆盖技术
缺点:有内部碎片,存储器的利用率很低
固定分区分配:将内存空间分为若干大小的分区,分区可以大小相等,也可以大小不等。
存在两个问题。
优点:可用于多道程序设计,简单,无外部碎片。
缺点:存储器的利用率低,存在内部碎片。
可变分区分配:按照程序的需要将内存进行动态的划分。
优点:内存利用率高,不存在内部碎片
缺点:存在外部碎片,可通过紧凑技术解决。
动态分区分配算法:
首次适应:将空闲分区按地址从小到大排列,分配第一个符合条件的分区。
最佳适应:将空闲分区按容量从小到大排列,分配第一个符合条件的分区。
最坏适应:将空闲分区按容量从大到小排列,分配第一个符合条件的分区,即选择最大的分区。
邻近适应:在首次适应算法的基础上,分配内存时从上次查找结束的位置开始继续查找。

56.非连续分配管理方式

非连续分配允许程序装入不相邻的内存分区。非连续分配管理方式根据分区的大小是否固定,分为分页存储管理方式,分段存储管理方式。

分页存储管理方试:

将内存分为相对较小且固定大小的块,每个进程也以块为单位进行划分。逻辑地址第一部分是页号,第二部分是页内偏移量。
页表:为了便于在内存中找到进程的每个页面所对应的物理块,系统为每个进程建立一张页表,记录页面在内存中对应的物理块号。页表项第一部分是页号,第二部分是块号。作用是实现从页号到物理块号的映射。
页表寄存器PTR:存放页表在内存的起始地址F和页表长度M。

地址变换过程:

(1)由逻辑地址得出页号和页内偏移量
(2)将页号与页表寄存器中的页表长度相比较判断是否发生越界中断
(3)若没有越界,根据页表起始地址和页号取出对应页表项中的物理块号
(4)由物理块号和页内偏移量得出物理地址
(5)通过得到的物理地址去访问内存。
引入块表:为了提高地址变换的速度

地址变换过程(具有快表)

(1)由逻辑地址得出页号和页内偏移量
(2)先将页号与快表中的所有页号进行对比,若有匹配的页号,则直接得出对应的物理块号,与页内偏移量结合得出物理地址,由物理地址区访问内存。
(3)若没有匹配的页号,则还需要访问内存中的页表,从页表中取出物理块号,与页内偏移量结合得到物理地址,并将此次的页表项写入快表。

两级页表:

有时候页表可能会非常大,页表必需连续存放很占内存,所以就在原有页表的基础上再加上一层页表。逻辑地址结构为:一级页号,二级页号,页内偏移量
(多级页表中,各级页表的大小不能超过一个页面,若两级页表不够,可以分多级)
地址变换过程
(1)由逻辑地址得出一级页号,二级页号,页内偏移量
(2)从PCB中读出页目录表始址,再根据一级页号查目录表,找到下一级页表在内存中的存放位置。
(3)根据二级页号查表,得到最终的物理块号
(4)与页内偏移量结合得到物理地址并访问。

分段存储管理方式:

将程序按自身的逻辑关系划分为若干个段,内存以段为单位进行分配,每个段在内存中占用连续空间,各段之间可以不相邻。逻辑地址由段号和段内偏移量组成。
段表:各段离散的装入内存,为了能够找到各段的存放位置,为每个进程建立一张段映射表,每个段对应一个段表项,记录了该段在内存中的起始地址和段长。各个段表项的长度是相同的。

地址变换过程:

(1)由逻辑地址得到段号,段内偏移量
(2)将段号与段表寄存器中的段长比较判断是否发生越界
(3)若不越界,由段表始址和段号找到对应的段表项,将段内偏移量与段表项中的段长比较判断是否发生越界
(4)若不越界,由起始地址和段内偏移量得出对应的物理地址
(5)由物理地址访问内存

段页式存储管理方式:

先将程序按逻辑关系划分为段,每个段都有自己的段号,再将段分成若干固定大小的页,将内存空间也分为与页大小相等的块,进程以块为单位分配内存。逻辑地址分为三部分,段号,页号,页内偏移量
为实现地址变换,系统为每个进程建立一张段表,每个分段有一张页表,段表表项中包括段号,页表长度,页表始址。页表表项中包括页号和块号。

地址变换过程:

(1)由逻辑地址得出段号,页号,页内偏移量
(2)段号与段表寄存器中的段长比较,检查是否越界
(3)没有越界的话根据段表始址,段号找到对应的段表项
(4)根据段表中的页表长度检查页号是否越界
(5)由段表中的页表地址,页号查询页表,得到对应的页表项
(6)由页表项中的块号和页内偏移量得到最后的物理地址
(7)根据物理地址去访问目标单元

57.分页,分段管理的比较

页是信息的物理单位,分页主要是为了实现离散分配,提高内存利用率,对用户不可见
段是信息的逻辑单位,分段主要是为了更好地满足用户需求,对用户可见。
页的大小固定且由系统决定,段的长度不固定,取决于程序的逻辑关系。
分页的地址空间是一维的,分段的地址空间是二维的。
分段比分页更容易实现信息的共享和保护。

58.为什么要进行内存管理?

进程在并发执行的过程中,共享的不仅仅是处理机,还有存储空间,如果不对内存进行管理,则容易导致内存数据的混乱,限制进程的并发执行。

59.多级页表解决了什么问题?

多级页表解决了当逻辑地址空间过大时,也表的长度会大大增加的问题,但是采用多级页表时,一次访盘需要多次访问内存或磁盘,大大增加一次访存的时间。

60.虚拟存储技术

虚拟内存:这种存储器实际上并不存在,能给用户提供一个比实际内存大的多的存储空间。
虚拟存储器的三个特征:
多次性:是指无需再作业运行时一次性的装入内存,只调入部分代码即可运行。
对换性:允许作业在运行过程中,进行换入换出
虚拟性:从逻辑上扩充内存的容量,是用户看到的内存容量远远大于实际的。
虚拟内存技术的实现:
请求分页存储管理
请求分段存储管理
请求段页存储管理

61.请求分页存储管理

请求分页存储管理是在基本分页存储管理的基础上,增加了请求调页和页面置换功能,只要将当前需要的一部分页面装入内存便可运行。当所要访问的页面不在内存中时,可以通过请求调页功能将其调入,同时可以用页面置换功能将暂时不用的页面换入到外存上。
页表:物理块号,状态位,访问字段,修改位,外存地址

62.

63.页面置换算法

最佳置换算法:每次选择淘汰的页面时以后永不使用或最长时间不使用的页面。
先进先出置换算法:选择淘汰的页面是最早进入内存的页面
(可能会产生belady异常:当为进程分配的物理块数增大时,缺页次数不减反增的现象。)
最近最久未使用置换算法:选择淘汰的页面是最近最长时间未被使用过的页面。
时钟置换算法:循环扫描各页面,第一轮淘汰访问位=0的,并将扫描过的页面访问位=0,若第一轮没有选中,就进行第二轮。
改进的时钟置换算法:在访问位的基础上增加一个修改位,如果有未使用过的页面,则应该先将他换出,若全部页面都被使用过,就优先把未被修改过的页面换出。

64.页面分配策略

固定分配局部置换:为每个进程分配一定数目的物理块,在运行期间不能改变,当发生缺页时,只能在自身页面中选择一个页面换出。
可变分配全局置换:为每个进程分配一定数目的物理块,当发生缺页时,系统可以再为其分配新的物理块。
可变分配局部置换:为每个进程分配一定数目的物理块,当发生缺页时,使进程从自身页面中选择一个页面换出。若进程在运行期间频繁的缺页,系统就为其分配更多的物理块,反之,若缺页率很低,就适当减少为其分配的物理块数。

65.内部碎片和外部碎片的区别

【外部碎片】
外部碎片指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。
外部碎片是出于任何已分配区域或页面外部的空闲存储块。这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因,使得系统无法满足当前申请。
【内部碎片】
内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;
内部碎片是处于区域内部或页面内部的存储块。占有这些区域或页面的进程并不使用这个存储块。而在进程占有这块存储块时,系统无法利用它。直到进程释放它,或进程结束时,系统才有可能利用这个存储块。

66.抖动

抖动:在页面置换过程中,刚刚换出的页面马上又被换入,刚刚换入的页面马上又被换出主存,这种频繁的页面调度行为称之为抖动。
产生的原因:为进程的运行分配的物理块数太少。
工作集:在某段时间间隔内,进程要访问的页面集合。
一般来说分配给进程的物理块数(驻留集:系统为进程分配的物理页框的集合)要大于工作集大小

67.覆盖技术与虚拟存储技术有什么本质上的不同?交换技术与虚拟存储技术的调入调出技术有啥不同?

覆盖程序段的最大长度要受内存容量大小的限制,而虚拟存储器中程序的最大长度不受内存容量的限制。
相同点:都要在内存和外存之间交换信息
不同点:交换技术交换的是整个进程,一个进程的大小又收到内存容量的限制;
虚存中使用的调入调出技术交换的是页面或分段,而不是整个进程。

68.什么是文件,什么是文件系统?

文件:是以计算机硬盘为载体的存储在计算机上的信息的集合。在用户进行的输入输出中,以文件作为基本单位。
操作系统中负责管理和存储文件信息的软件机构成为文件管理系统。

69.文件的逻辑结构

文件可划分为无结构文件和有结构文件
无结构文件又叫流式文件,是数据按顺序组织成记录并积累保存。
有结构文件(记录文件)可以分为:
(1)顺序文件:文件中的记录顺序排列(顺序存取时速度较快,文件存储需要连续的存储空间,不利于文件的扩充)
(2)索引文件:引入一张索引表,通过索引表中的指针来访问文件。(可以进行随机访问,增加和删除记录也很方便,索引表的使用增加了开销,索引表的查找策略对文件系统的效率影响较大)
(3)索引顺序文件:是索引与顺序两种组织形式的结合,将顺序文件的所有记录分成若干组,为顺序文件建立一张索引表,在索引表中为每组的第一条记录建立一个索引项,其中含有该记录的关键字和指针。(大大提高了顺序存取的速度,索引表需要占用额外的开销)
(4)散列文件:通过散列函数直接得出记录的物理地址(有很高的存取速度,但是可能会引发冲突)

70.文件的打开与关闭

当用户对一个文件实施多次读/写或其他操作时,每次都要从检索条目开始,为了避免多次重复地检索目录,引入“打开”(open)文件系统调用,当用户第一次请求对某文件进行操作时,用系统调用open将文件的属性从外存复制到内存的打开文件表的一个表目中,并将该表目的索引返回给用户。即在用户和指定文件之间建立一个连接。关闭(close)调用则将该文件从打开文件表的表目上删除,即断开连接。显著地提高了对文件的操作速度。
系统打开文件表的每个文件时,还用一个文件打开计数器。当打开计数器为0时表示该文件不再被使用,系统将回收分配给改文件的内存空间等资源。若文件被修改过,则将文件写回外存。

71.目录结构

FCB:文件控制块,用来存放控制文件所需要的的各种信息。
(1)单级目录结构:整个文件系统中只建立一张目录表,每个文件占用一个目录项。
(查找速度慢,文件不允许重名,不便于共享)
(2)两级目录结构:将文件目录分为主文件目录和用户文件目录,主文件目录项记录用户名及用户文件目录在的存储位置,用户文件目录记录该用户文件的FCB信息。(能实现文件重名,但不能对文件进行分类)
(3)多级目录结构:各级目录之间的关系是树形的。(方便对文件进行分类不便于共享)
(4)无环图目录结构:在树形目录结构的基础上增加了指向同一节点的有向边,使整个结构成为一个有向无环图。(实现了文件的共享)

72.文件共享方式

硬链接方式:多个指针指向同一个索引节点,只要还有一个指针指向该结点,结点就不能删除。
软链接方式:系统创建一个LINK类型的文件,把到达共享文件的路径记录下来,当要访问文件时,根据路径寻找文件。只有文件的拥有者才能拥有指向文件的指针,而共享该文件的用户只有该文件的路径名。

73.文件保护的方式

口令保护:建立一个文件时设置一个口令,用户请求访问时需要提供口令。
加密保护:对文件进行加密,文件被访问时需要提供秘钥。
访问控制:为每个文件和目录增加一个访问控制列表,规定每个用户名及其所允许的访问类型。

74.文件系统的层次结构


用户接口:为用户提供文件及目录有关的调用。文件目录系统:主要功能是管理文件目录。存取控制验证:实现文件保护,判断访问是否合法。
逻辑文件系统与文件信息缓冲区:获取相应文件的逻辑地址。
物理文件系统:将逻辑地址转换为实际的物理地址。
辅助分配模块:管理辅存空间。
设备管理模块:管理物理设备。

75.在目录中查找某个文件可以使用什么方法?

线性查找:把文件名组织成一个线性表,查找时依次与线性表中的每个表项进行比较。
散列查找:运用哈希函数得到一个指向文件的指针。

76.文件的物理结构(文件的分配方式)

连续分配:每个文件在磁盘上占有一组连续的块(存储空间利用率低,会产生难以利用的外部碎片)
链接分配:为文件分配离散的磁盘块,分为隐式链接和显式链接
隐式链接:除文件的最后一个盘块外,每个盘块都存储指向下一个盘块的指针(可解决碎片问题,外存利用率高,只能顺序访问,不能随机访问,盘块指针会消耗一定的存储空间,不稳定)
显式链接:把用来链接文件各物理块的指针提取出来,建立一张文件分配表FAT,显示记录盘块的先后关系。同时还标记了空闲的磁盘块,FAT表在系统启动时就会被读入内存,因此不仅显著的提高了检索速度,还减少了访问磁盘的次数(FAT表需要占用一定的存储空间)
索引分配:为每个文件建立一张索引表,索引表中记录了文件各个逻辑块对应的物理块。若文件太大可采用:
(1)链接方案:将多个索引块链接存放
(2)多层索引:使第一层索引块指向第二层索引块,可根据大小再继续扩展
(3)混合索引:多种索引分配方式的集合。

77.文件存储空间管理

(1)空闲表法:系统为外存上的所有空闲区建立一张空闲盘块表,每个空闲区对应一个空闲表项。
(2)空闲链表法:将所有空闲盘区拉成一条空闲链(空闲盘块链和空闲盘区链)
(3)位示图法:利用二进制的一位来表示磁盘中的一个盘块的使用情况,磁盘上的每一个盘块都有一个二进制位与之对应。
(4)成组链接法:把顺序的n个空闲扇区地址保存在第一个空闲扇区内,其后一个空闲扇区内则保存另一顺序空闲扇区的地址。直到所有空闲扇区均已链接。

78.文件的逻辑结构和物理结构有什么区别?

文件的逻辑结构是用户可见的结构,即用户使用文件的结构;文件的物理结构是文件在存储器上的组织结构。如果物理结构选择不当,就很难体现出逻辑结构的特点。

79.磁盘调度算法

先来先服务算法:
最短寻道优先算法:
扫描算法:
循环扫描算法:克服了扫描算法存在的不公平现象。

80.假脱机技术(Spooling技术)


将独占设备改造成共享设备,从而提高了设备利用率和系统的效率,这种技术称为假脱机技术。

Spooling系统的组成
输入井和输出井:是在磁盘上开辟的两个存储区域,输入井用于收容I/O设备的输入数据,输出井用于收容用户程序的输出数据。

输入缓冲区和输出缓冲区:是在内存中开辟的两个缓冲区,输入缓冲区用来暂存由输入设备送来的数据,以后再转送到输入井,输出缓冲区用来暂存输出井送来的数据,以后在传送到输出设备。
输入进程和输出进程:模拟脱机输入输出时的外围控制机。

81.假脱机技术(Spooling技术)的特点

(1)提高了I/O速度;
(2)设备没有分配给任何进程;
(3)实现了虚拟设备的功能;
(4)除了是一种速度匹配的技术,也是一种虚拟设备技术;

82.I/O控制的方式

程序直接控制,中断驱动方式,DMA方式,通道控制方式

操作系统知识点也很碎,建议与思维导图一起食用,我自己做的思维导图以后再上传(要尊重原创哦)

整理不易拜托大家多点点关注和收藏吧谢谢啦!

考研操作系统题目整理相关推荐

  1. 苏大计算机考研 操作系统常见易错知识点整理

    苏大计算机考研 操作系统常见易错知识点整理   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地 ...

  2. 王道考研 操作系统知识点汇总(目录+思维导图)

    第一章 计算机系统概述 文章目录 前言 1.1.1 操作系统的概念.功能和目标 思维导图 本节内容 1.1.2操作系统的特征 思维导图 本节内容 1.1.3操作系统的发展与分类 思维导图 本节内容 1 ...

  3. 操作系统笔记整理12——磁盘存储器的管理

    点此链接可跳转到:操作系统笔记整理--目录索引页 参考书籍:<计算机操作系统>第四版 汤小丹等编著 文章目录 点此链接可跳转到:操作系统笔记整理--目录索引页 外存的组织方式 连续组织方式 ...

  4. 北航计算机学院往年夏令营+考研面试题目汇总

    北航计算机学院硕士复试机经+面经: 北航计算机学院往年夏令营+预推免机试题目汇总 北航计算机学院往年夏令营+考研面试题目汇总 北航计算机学院往年夏令营+考研面试数理题目汇总 以下是我在网络上找到的北航 ...

  5. 计算机适应性考试题目,计算机控制考试题目整理

    <计算机控制考试题目整理>由会员分享,可在线阅读,更多相关<计算机控制考试题目整理(7页珍藏版)>请在人人文库网上搜索. 1.简答题1.3计算机控制系统的典型形式有哪些?各有什 ...

  6. 【面试题】某司社招面试题目整理及答案

    某司社招面试题目整理及答案 Java基础部分 HashMap的实现原理 如何解决Hash碰撞 HashMap的存储(hash算法.hash冲突.初始化.扩容) HashMap和HashTable的区别 ...

  7. 考研数学如何整理错题笔记?140分学长总结的模板,拿走直接用(含错题笔记)

    考研数学如何整理错题笔记?140分学长总结的模板,拿走直接用(含错题笔记) 数学错题笔记 2021<考研数学接力题典1800>勘误表(附学霸高分笔记) 2020考研初试成绩已经公布了,对于 ...

  8. 【面试】网易游戏面试题目整理及答案(5)

    网易游戏面试题目整理及答案(5) 算法 操作系统 Linux部分 其他 参考资料 算法 Leetcode 75题:请写出一个高效的在m*n矩阵中判断目标值是否存在的算法,矩阵具有如下特征: 1)每一行 ...

  9. 【面试】网易游戏面试题目整理及答案(1)

    网易游戏面试题目整理及题目(1) Python部分 计算机网络 参考资料 Python部分 迭代器生成器,生成器是如何实现迭代的? 答:迭代器iterator:迭代器就是实现了迭代方式的容器,iter ...

最新文章

  1. Bing API 2的体验
  2. 全球及中国皮肤癌药物行业深度研究及项目可行性调研报告2022-2027年
  3. jacoco + junit + mock 单测没有统计覆盖率问题
  4. VS2005 there is no source code available for the current location 解决方案
  5. html在线播放avi视频,Doinb涉嫌踩一捧一?暖心安慰小天,拿kanavi做比较却遭到非议...
  6. 游戏王血计算机,【统计】历代主角控血一览
  7. 将jQuery的复选框设置为“已选中”?
  8. axure 画小程序效果图_微信小程序-基于canvas画画涂鸦
  9. python保留小数不四舍五入_Python常用知识小结
  10. JavaWeb 简单实现客户信息管理系统
  11. [SIGMOD 2021] SharPer: Sharding Permissioned Blockchains Over Network Clusters
  12. 前端小白奋斗史03(css)
  13. Symbolic Graph Reasoning Meets Convolutions 符号图推理与卷积结合的方式
  14. 谷歌浏览器如何正确安装第三方已被停用的扩展插件
  15. VIPKID大米网校“学费交多少,由家长说了算”背后的实力自信
  16. 用python提取字符串的中英文——建议收藏反复观看
  17. 第一章:电商及商品系统概述
  18. 学习四旋翼(三):DMP姿态解算和串级PID控制姿态
  19. 零基础学Java语言---编程题
  20. 【开源访谈】zTree 作者张其纲访谈实录

热门文章

  1. 批量重命名 将中文名称翻译成英文名称的操作方法
  2. 海康萤石摄像机远程监控机制分析
  3. RNA-ATTO 390|RNA-ATTO 425|RNA-ATTO 465|RNA-ATTO 488|RNA-ATTO 495|RNA-ATTO 520近红外荧光染料标记核糖核酸RNA
  4. charles 抓包修改app页面数据
  5. 764. 输出字符串
  6. java四则运算代码_Java实现简单四则运算
  7. 我的减肥经历和一些经验[1]
  8. 重构笔记——提炼函数
  9. 从零基础到导入运行Java版坦克大战游戏项目 第一节(Java JDK的下载安装配置)
  10. C程序设计谭浩强第五版课后答案 第三章习题答案