操作系统考研复试大全

1.什么是物理内存?什么是虚拟内存?

物理内存(内存条):当打开程序时,系统会自动的加载到物理内存上。
虚拟内存(硬盘):虚拟内存是代替物理内存行驶存储的功能,但无法代替物理内存行驶加载程序的功能。
关系:当运行程序过多时,物理内存不够时,系统会将一部分的硬盘空间当内存使用,这就变成了虚拟内存。

2.操作系统的功能:

处理机管理:进程控制,进程同步,进程通信、调度、实施 CPU分配
存储器管理:内存分配,内存保护,地址映射,内存扩充
设备管理:缓冲管理,设备分配,设备管理
文件管理:存储空间管理,目录管理,读写管理和保护
与用户有关的接口:用户接口,程序接口,人机交互

3.操作系统的发展动力:

(1) 提高计算机资源的利用率的需要
(2) 方便用户使用计算机的需要
(3) 硬件技术不断发展的需要
(4) 计算机体系结构发展的需要

4.操作系统的定义和分类:

操作系统是一组能有效地组织和管理计算机硬件和软件资
源,合理地对各类作业进行调度,以及方便用户使用的程序的集合
操作系统的种类:

  1. 单道批处理系统
    特点:单路性、独占性、自动性、封闭性、顺序性
    缺点:系统的资源得不到充分的利用
  2. 多道批处理系统
    特点:多路性、共享性、自动型、封闭性、无序性、调度性
    好处:提高 CPU的利用率,提高内存和 I/O 设备的利用率,增加系统吞吐量
    缺点:平均周转时间长,无交互能力
  3. 分时系统
    分时系统是指在一台主机上连接了多个配有显示器和键盘的终端, 由此所组成的系统, 该系统允许多个用户同时通过自己的终端, 以交互方式使用计算机,共享主机中的资源。
    采用了“时间片轮转”的处理机调度策略
  4. 实时系统
    实时系统是指系统能及时响应外部事件的请求, 在规定的时间内完成对该
    事件的处理,并控制所有实时任务协调一致地运行。

5.进程和线程的关系:

进程:进程是一个能独立运行的基本单位。也是系统分配资源的基本方式。进程拥有独立的地址空间,当一个进程崩溃后,不会对其他的进程产生影响。

线程:线程是进程的一个实体,是cpu调度和分配的方式,它是比进程更少的能独立运行的基本单位,它与同属于一个进程的其他线程共享进程中的所有资源,线程之间没有独立的地址空间,因此一个线程死掉后整个进程也就死掉了。

6.进程的常见状态?以及各种状态之间的转换条件?

就绪:进程已处于准备好运行的状态,即进程已分配到除CPU外的所有必要资源后,只要再获得CPU,便可立即执行。

执行:进程已经获得CPU,程序正在执行状态。

阻塞:正在执行的进程由于发生某事件(如I/O请求、申请缓冲区失败等)暂时无法继续执行的状态

7.进程的三个组成部分:

程序、数据集合、进程控制块( PCB)进程控制块是进程存在的唯一标示。

8. 操作系统中把做出“决定把 CPU分配给谁用”的程序称为“进程调度程序”:

进程的调度算法有哪些?

1.先来先服务(FCFS):此算法的原则是按照作业到达后备作业队列(或进程进入就绪队列)的先后次序选择作业(或进程)

2.短作业优先(SJF:Shortest Process First):这种算法主要用于作业调度,它从作业后备序列中挑选所需运行时间最短的作业进入主存运行。

3.时间片轮转调度算法:当某个进程执行的时间片用完时,调度程序便终止该进程的执行,并将它送到就绪队列的末尾,等待分配下一时间片再执行。然后把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。这样就可以保证队列中的所有进程,在已给定的时间内,均能获得一时间片处理机执行时间。

4.高响应比优先:按照高响应比(已等待时间+要求运行时间)/要求运行时间 优先的原则,在每次选择作业投入运行时,先计算此时后备作业队列中每个作业的响应比RP。选择最大的作业投入运行。

5.优先权调度算法:按照进程的优先权大小来调度。使高优先权进程得到优先处理的调度策略称为优先权调度算法。注意:优先数越多,优先权越小。

6.多级队列调度算法:多队列调度是根据作业的性质和类型的不同,将就绪队列再分为若干个队列,所有的作业(进程)按其性质排入相应的队列中,而不同的就绪队列采用不同的调度算法。

9.非抢占式调度与抢占式调度

非抢占式:分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生进程调度进程调度某事件而阻塞时,才把处理机分配给另一个进程

抢占式:操作系统将正在运行的进程强行暂停,由调度程序将CPU分配给其他就绪进程的调度方式

10.CPU指令系统中的指令分为两类

 a. 操作系统和用户都能使用的指令,非特权指令
b. 只能由操作系统使用的指令,特权指令

11. CPU的两种工作状态:管态、目态

a. 当 CPU处于管态(核心态)时,可以执行包括特权指令在内的一切机器指令。
b. 当 CPU处于目态(用户态)时,禁止使用特权指令。

12.计算机操作系统的存储器:

CPU寄存器,主存,辅存

13.在考虑计算机存储器的设计时,必须顾及:

a. 价格、容量、访问时间
b. 存取时间越快,价格越高,容量越小:

14.高速缓存(cache):

介于cpu和主存之间的存储器, 它的容量小,但速度快。
为了缓和内存与处理机( CPU)速度的不匹配。

15.地址重定位和地址的定位方式:

(1)在操作系统中, 把用户程序指令中的相对地址变为所在绝对地址空间中的绝对地址的这个过程,称为地址重定位。
(2)地址的定位方式:
a. 绝对定位方式: 是在程序装入内存之前, 程序指令中的地址就已经是绝对地址,已经正确地反映了它将要进入的存储区的位置, 不适用于多道程序设计环境。
b. 静态重定位(多道程序环境下)
根据内存的具体情况将装入模块装入到内存的适当位置, 会使装入模块中的所有逻辑地址与实际装入内存后的物理地址不同。这种地址重定位是在程序执行前完成的。
c. 动态重定位
将地址重定位的时间推迟到程序执行时再进行所以装入内存的所有地址都仍是逻辑地址。

16.什么是死锁?产生条件?如何避免死锁?

死锁的概念:

在2个或多个并发进程中,如果每个进程持有某有资源而又都等待别的进程释放它或他们现在保持的资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。
通俗地讲,就是2个或多个进程被无限期地阻塞、相互等待的一种状态。

产生死锁的必要条件:

1.互斥条件:一个资源每次只能被一个进程使用
  
2.不可剥夺条件:进程已获得资源,在未使用完之前,不能被其他进程强行剥夺,只能主动释放
  
3.请求和保持条件:进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源已被其他进程占有,此时请求进程被阻塞,但对自己已获得的资源保持不放。
  
4.循环等待条件:即进程集合{p0,p1,p2,p3……pn};p0正在等待p1占用的资源,p1正在等待p2占用的资源,pn正在等待p0占用的资源。
  
只要上述一个条件不成立,就不会发生死锁。

死锁的解除和预防:理解了死锁的原因,以及产生死锁的四个必要条件,就可以最大可能地避免和预防和解锁死锁。所以在系统设计、进程调度等方面注意如何不让这四个必要条件成立,如何确定资源的合理分配算法,避免进程永久占据系统资源。对资源的分配要给予合理规划

死锁的处理策略:预防死锁、避免死锁、检测死锁,解除死锁。

17.分段与分页的区别:

(1)页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的外零头,提高内存的利用率,分页仅仅是系统的需要。
(2)段是信息的逻辑单位,分段是为了更好的满足用户的需要。
(3)页的大小是固定的,分为页号+页内地址。段的长度可变,取决于用户编写的程序。
(4)分页的作业地址是一维的,分段的的作业地址是二维的。

18.页面置换算法有哪些?

(1)最佳置换算法(Optimal):即选择那些永不使用的,或者是在最长时间内不再被访问的页面置换出去。(它是一种理想化的算法,性能最好,但在实际上难于实现)。

(2)先进先出置换算法FIFO:该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。

(3)最近最久未使用置换算法LRU(Least Recently Used):该算法是选择最近最久未使用的页面予以淘汰,系统在每个页面设置一个访问字段,用以记录这个页面自上次被访问以来所经历的时间T,当要淘汰一个页面时,选择T最大的页面。

(4)Clock置换算法:也叫最近未用算法NRU(Not RecentlyUsed)。该算法为每个页面设置一位访问位,将内存中的所有页面都通过链接指针链成一个循环队列。当某页被访问时,其访问位置“1”。在选择一页淘汰时,就检查其访问位,如果是“0”,就选择该页换出;若为“1”,则重新置为“0”,暂不换出该页,在循环队列中检查下一个页面,直到访问位为“0”的页面为止。由于该算法只有一位访问位,只能用它表示该页是否已经使用过,而置换时是将未使用过的页面换出去,所以把该算法称为最近未用算法。

(5)最少使用置换算法LFU:该算法选择最近时期使用最少的页面作为淘汰页。

19.进程间具有两种制约关系:互斥和同步

 a. 由于对共享资源的争夺,导致进程之间出现互斥关系b. 多个进程因为合作而使得进程的执行有一定的先后顺序。比如某个进程需要另一个进程提供的消息,获得消息之前进入阻塞态;称为同步。

20.共享变量或临界资源的定义:

把那些可以共享的资源(文件、队列、缓冲区、表格、变量······)统称为共享变量或临界资源。与一个共享变量 (或共享资源) 交往的多个进程, 为了保证它们各自运行结果的正确性, 当其中的一个进程正在对该变量(临界资源)进行操作时, 就不允许其他进程同时对它操作。进程的这种制约关系被称为“互斥”。

21.信号量及其定义在信号量上的 P、 V操作:

如何来保证进程在临界区执行的互斥性,由信号量及其定义在信号量上的 P、V 操作具体完成,遵循如下规则:
a. 如果有若干个进程希望进入临界区时, 至少应该允许一个进入, 而不能谁也进不去。
b. 每次只允许一个进程进入临界区。
c. 进入临界区的进程不能无限期地把持临界区。

22.中断方式:

所谓“中断”是一种使 CPU暂时中止正在执行的程序而转去处理特殊时间的操作。
引起中断的时间称为中断源。程序中产生的中断,由 CPU 的某些错误结果(如,计算机溢出)产生的中断称为“内中断”,由外部设备控制器引起的中断称为“外中断”。

23用 P、V 操作实现资源分配

做 P操作即是申请一个资源,做 V 操作即是释放一个用完的资源
P操作后,
若 Vs > 0时, Vs的值就是这种资源的剩余数
若 Vs < 0 时,表示现在已经没有资源可以分配,申请资源的进程只能被
阻塞到申请队列 Vq 上去排队等待, Vs的绝对值表示提出资源请求,但没有分配到资源的进程个数。
V 操作后,
若 Vs <= 0,表示申请资源的等待队列上有进程在等待该资源(表示 V
操作之前 Vs <= -1,即至少有一个进程在队列上等待使用该资源),所以将该队列上的一个进程摘下,让它到就绪队列中排队
若 Vs > 0,表示 V 操作之前 Vs >= 0,即资源等待队列上没有进程在等待,只是收回了一个资源。

24.硬中断和软中断的区别:

硬中断是由硬件产生的。可以直接中断cpu。
软中断是由当前正在运行的进程产生的,不能中断cpu。

25.进程间通信有哪些方式?它们的区别?

IPC方式:7种

1.管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在有血缘关系的进程间使用,进程的血缘关系通常是指父子进程关系。

2.命名管道(named pipe):也是半双工的通信方式,但是它允许无亲缘关系关系进程间通信。

3.信号(signal):是一种比较复杂的通信方式,用于通知接收进程某一事件已经发生。

4.信号量(semophere):信号量是一个计数器,可用来控制多个进程对共享资源的访问。它通常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。

5.消息队列(message queue):消息队列是由消息组成的链表,存放在内核中,并由消息队列标识符标识。消息队列克服了信号传递消息少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。

6.共享内存(shared memory):就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问,共享内存是最快的IPC方式,它是针对其他进程间的通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量等配合使用,来实现进程间的同步和通信。

7.套接字(socket):套接口也是进程间的通信机制,与其他通信机制不同的是它可用于不同及其间的进程通信。

几种方式的比较:

管道:速度慢、容量有限

消息队列:容量收到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题。

信号量:不能传递复杂信息,只能用来同步。

共享内存:能够很容易控制容量,速度快,但要保持同步,比如一个进程在写的时候,另一个进程要注意读写的问题,相当于线程中的线程安全。

26.内核

内核是计算机上配置的底层软件,是计算机功能的延伸,包括以下4个方面的内容:
1.时钟管理
2.中断机制
3.原语
4.(系统控制的数据结构及处理 系统中用来登记状态信息的数据结构很多,比如:作业控制块、进程控制块、设备控制块、各类链表等。为了实现有效的管理,系统需要一些基本的操作,常见的操作有以下三种:

------ 进程管理:进程状态管理、进程调度和分配、创建和撤销进程控制块等。

------ 存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序等。

------ 设备管理:缓冲区管理、设备分配和回收等。)

27.银行家算法

主要思想是避免系统进入不安全状态,在每次进行资源分配时,它首先检查系统是否有足够的资源满足要
求,如果有,则先试行分配,并对分配后的新状态进行安全性检查。如果新状态安全,则正式分配上述资
源,否则拒绝分配上述资源。这样就保证系统始终处于安全状态,从而避免死锁现象的发生。

28.将用户程序变为可在内存中执行的程序的步骤?

1.编译:由编译程序将用户源代码编译成若干目标模块2.链接:由链接程序将编译后形成的一组目标模块及所需的库函数链接在一起,形成一个完整的装入模块。3.装入:由装入程序将装入模块装入内存中运行。

29.内存连续分配管理方式有哪些?

1.单一连续分配内存在此方式下分为系统区和用户区,系统区仅提供给操作系统使用,通常在低地址部分;用户区是为用户提供的、除系统区之外的内存空间。这种方式无需进行内存保护。这种方式的优点是简单、无外部碎片,可以釆用覆盖技术,不需要额外的技术支持。缺点是只能用于单用户、单任务的操作系统中,有内部碎片,存储器的利用率极低。2.固定分区分配固定分区分配是最简单的一种多道程序存储管理方式,它将用户内存空间划分为若干个固定大小的区域,每个分区只装入一道作业。当有空闲分区时,便可以再从外存的后备作业队列中,选择适当大小的作业装入该分区,如此循环。固定分区分配在划分分区时,有两种不同的方法。
(1) 分区大小相等:用于利用一台计算机去控制多个相同对象的场合,缺乏灵活性。(2) 分区大小不等:划分为含有多个较小的分区、适量的中等分区及少量的大分区。3.动态分区分配动态分区分配又称为可变分区分配,是一种动态划分内存的分区方法。这种分区方法不预先将内存划分,而是在进程装入内存时,根据进程的大小动态地建立分区,并使分区的大小正好适合进程的需要。因此系统中分区的大小和数目是可变的。

30.动态分区分配算法

在进程装入或换入主存时,如果内存中有多个足够大的空闲块,操作系统必须确定分配哪个内存块给进程使用,这就是动态分区的分配策略,考虑以下几种算法:(1) 首次适应(First Fit)算法:空闲分区以地址递增的次序链接。分配内存时顺序查找,找到大小能满足要求的第一个空闲分区。(2) 最佳适应(Best Fit)算法:空闲分区按容量递增形成分区链,找到第一个能满足要求的空闲分区。(3) 最坏适应(Worst Fit)算法:又称最大适应(Largest Fit)算法,空闲分区以容量递减的次序链接。找到第一个能满足要求的空闲分区,也就是挑选出最大的分区。(4) 邻近适应(Next Fit)算法:又称循环首次适应算法,由首次适应算法演变而成。不同之处是分配内存时从上次查找结束的位置开始继续查找。

31. 存储器管理应具有的功能

存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以 及从逻辑上扩充存储器,故应具有以下功能:
① 内存的分配和回收:实施内存的分配,回收系统或用户释放的内存空间。
② 地址变换:提供地址变换功能,将逻辑地址转换成物理地址。
③ 扩充内存:借助于虚拟存储技术活其他自动覆盖技术,为用户提供比内存空间大的地址空间,从逻辑 上扩充内存。
④ 存储保护:保证进入内存的各道作业都在自己的存储空间内运行,互不干扰

32. 什么是饥饿?与死锁有什么差别?

等待时间给进程推进和响应带来明显影响时成为进程饥饿。 饥饿并不代表系统一点死锁,但至少有一个程序的执行被无限期地推迟。
差别: ① 进入饥饿的进程可以只有一个,但是死锁必须大于等于两个; ② 出于饥饿状态的进程可以是一个就绪进程,但是死锁状态的进程必定是阻塞进程

33. 常用的存储保护方法

(1)界限寄存器 上下界寄存器方法 基址、限长寄存器方法
(2)存储保护键:给每个存储块分配一个单独的存储键,它相当于一把锁

34.什么叫拼接技术?

在分区管理方式下,系统运行一段时间后,内存中会出现相当一部分的碎片,拼接技术是解决碎片问题的 方法。 即将存储器中所有已分配分区移动到主存的一端,使本来分散的多个小空闲区连成一个大的空闲区,这种 通过移动把多个分散的小分区拼接成一个大分区的方法即为拼接技术。

35.高级调度和低级调度的主要任务是什么?为什么要引入中级调度??

高级调度(作业调度)的主要任务是根据某种算法,把外存上处于后备队列中的那些作业调入内存。
低级调度(进程调度)是按照某种算法从就绪队列中选取一个进程,将处理机分配给它。
引入中级调度(内存调度)的主要目的是为了提高内存利用率和系统吞吐量。讲那些暂时不能运行的进程调至外存等待。

36.什么是局部性原理? 什么是虚拟存储器?

(1) 时间局部性:如果程序的某条指令一旦执行,不久后可能再次执行,如果数据被访问过,不久后可能该数据再次被访问,原因是由于程序中存在大量的循环操作;
(2)空间局部性:一旦程序访问了某个存储单元,不久之后其附近的存储单元也会被访问,原因是指令通常是顺序存放的,顺序执行的。
(3)虚拟存储器是指具有调入和置换的功能,能从逻辑上对内存的容量加以扩充的一种存储器系统。基于局部性原理,在程序装入时,可以只将程序的一部分装入内存,就可以启动程序。在执行过程中,当所访问得信息不再内存时,由操作系统将所需的内容调入内存,使程序继续执行。

37.目前采用的广泛的文件目录结构是哪种?

多级目录结构(树型目录结构):
优点:(1)能有效的提高对目录的检索速度
(2)允许文件重名
(3)便于实现文件共享

38.有哪几种I/O控制方式?

(1)程序I/O控制方式
(2)中断驱动I/O控制方式
(3)DMA I/O控制方式
(4)I/O通道控制方式

考研复试操作系统知识点总结相关推荐

  1. 软件工程考研复试速成 - 知识点精炼 - 背诵版

    针对于考研复试 软件工程 的面试问答,一般都是抽查重点的概念问题,所以本文对软件工程知识点进行重点的精炼,力求节省准研究生们的复习时间.   写这篇博客也是因为小编也在准备复试,对学习的网课进行笔记梳 ...

  2. 计算机网络考研复试速成 - 知识点精炼 - 背诵版

    计算机网络复试速成 针对于计算机考研复试 - 计算机网络 ,删除了很多初试中关于 计算.冗余 的内容,把复习中心放在 高频知识点 (偏向概念) ,希望可以节约准研究生们的复习时间!大家可以放心食用

  3. 考研复试操作系统面试题(一)-IO系统

    写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来. 这只是一部分,陆续还有操作系统的其它章节,还会推出数据结构.计算机网络.数据库的复试题整理 思维导图在我的 ...

  4. 计算机考研复试操作系统题库

    文章目录 1.什么是操作系统?操作系统的主要功能是? 它的主要特征是什么?(重点) 2.进程与线程的关系以及区别(重点) 3.Windows下的内存是如何管理的?(简单了解即可) 4.中断和轮询的特点 ...

  5. 计算机考研复试——操作系统篇

    更多复试科目见此目录 所有科目资料的打印版和md原始文件可从此链接下载 第一章.计算机系统概述 1.操作系统的目标和功能?(什么是操作系统?) 1.操作系统是计算机资源的管理者 处理机管理(进程控制. ...

  6. 考研复试——操作系统

    文章目录 操作系统 1. 操作系统的特征: 2. 进程与线程的关系以及区别 3. 简述进程和程序的区别 4. 进程的常见状态?以及各种状态之间的转换条件? 5. 进程的调度算法有哪些? 6. 什么是死 ...

  7. 计算机考研复试——离散数学知识点

  8. 考研复试-操作系统面试题

    1. 事务的四个属性 ACID.即原子性(atomicity).一致性(consistency ).隔离性(isolation).持久性( durability). 原子性:表示这事务要么做,要么不做 ...

  9. 考研复试数据库原理面试题(四)—关系数据库设计与设计理论

    写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来. 这只是一部分,陆续还有数据库原理的其它章节,还会推出数据结构.计算机网络复试题整理. 数据库原理我的参考书 ...

  10. C语言考研复试知识点整理

    C语言考研复试知识点整理 1.由float x=3e-6,y=3e-6;不能得到x= =y的逻辑值为真. 解析:float类型的变量只能进行>或<运算,不能进行==运算 2.自增和自减运算 ...

最新文章

  1. C#打开相机详细过程与代码解释
  2. Spring第八发—自动装配及让Spring自动扫描和管理Bean
  3. python字典的特点是什么_Python中dict的特点
  4. java注册登录客户端_GitHub - a-voyager/LoginSystem_Client: 登录注册系统(桌面客户端)——Java课程实践...
  5. [数论]拓展中国剩余定理
  6. MPEG4 H.264学习笔记之三 ------ 熵编码
  7. 轻松解决Android gradle太慢问题
  8. java并发总结思维导图
  9. C++ Memory_order的理解
  10. C++11 random库
  11. Pulsar较Kafka的优势
  12. ansys命令流力磁耦合仿真
  13. Java制作小工具 局域网聊天工具
  14. PDF加密如何解除?教你2个PDF解密方法
  15. 解决Spring文件下载时文件损毁问题
  16. 浅谈如何在优麒麟22.04中使用Eigenstrat和Plink工具生成类23andMe格式原始数据
  17. imputation-文献:False signals induced by single-cell imputation(scRNA-seq插补引入的假阳性问题)
  18. 西域大都护府 第四期cfs靶场 渗透记录
  19. 用“心”迎接情人节,用另一种形式表达爱意
  20. Android模拟器的ip获取以及模拟器之间socket通信

热门文章

  1. cs224n课后作业
  2. jmeter进行http压力测试(图文小教程)
  3. CentOS7版本下载地址发布 附正确下载CentOS各个版本镜像
  4. 国际C语言混乱代码大赛 获奖作品
  5. 淘宝直播再升级!淘系自研GRTN 新一代多媒体传输网络
  6. pgAdmin4的应用(一)
  7. CASS 10.1.6 安装教程
  8. 扩展欧几里得算法——Python详解
  9. 初学者c语言编程软件_初学者的C编程语言
  10. 逻辑回归、LR算法、LR优缺点、LR推导、LR损失函数