下述名词和概念为查阅教材《计算机操作系统》汤小丹等著,和王道《操作系统考研复习指导》所得,部分源于网络。如有不当之处欢迎指出。

第 1 章 操作系统引论


1. 名词解释
  • 操作系统

    操作系统是控制和管理整个计算机硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其它软件提供方便接口和环境的程序集合。

  • 分布式系统

    分布式系统是网络操作系统更高级的形式,是一个统一的操作系统,资源进一步共享,对用户是透明的。处于分布式系统的多个主机处于平等地位,无主从关系。处理能力增强、速度更快、可靠性增强。

  • 嵌入式系统

    嵌入式系统是指在各种设备、装置或系统中,完成特定功能的软硬件系统。

  • 并发

    多个事件在同一时间间隔内发生。

  • 微内核

    微内核把操作系统分成若干分别完成一组特定功能的服务进程,等待客户提出请求。而系统内核只实现操作系统的基本功能,将更多操作系统功能放在核心之外,作为独立的服务进程运行。

2. 简答题

2.1 操作系统的目标是什么?它的主要作用是什么?

主要目标:方便性、有效性、可扩充性和开放性;

主要作用:

  • OS 作为用户与计算机硬件之间的接口
  • OS 作为计算机系统资源的管理者
  • OS 实现了对计算机资源的抽象

2.2 推动 OS 发展的主要动力表现在哪五个方面?

  • 不断提高计算机资源利用率;
  • 方便用户;
  • 器件的不断更新换代;
  • 计算机体系结构的不断发展;
  • 不断提出新的应用需求;

2.3 简述操作系统与用户之间的接口有哪些?

操作系统提供的接口主要有两类:一类是命令接口,另一类是程序接口。

其中命令接口又分为联机命令接口(交互式命令接口)和脱机命令接口(批处理命令接口)。

2.4 操作系统的基本特征有哪些?它们之间的关系?

操作系统具有四个基本特征,分别是:

  • 并发。多个事件在同一时间间隔内发生;
  • 共享。资源可供内存中多个并发执行的进程(线程)使用;
  • 虚拟。通过某种技术把一个物理实体变为若干个逻辑上的对应物,主要目的在于提高资源的利用率;
  • 异步。也称不确定性,指进程的执行顺序和执行时间的不确定性。

它们之间的关系为:

  • 并发和共享是相互依存的。资源共享以程序(进程)的并发执行为条件,对资源共享实施有效管理,协调好诸多程序对共享资源的访问,提高程序并发执行的程度
  • 虚拟是实现独占资源共享的方式;
  • 异步是并发执行的表现形式。

2.5 简述微内核操作系统的优点和缺点

优点如下:

  • 提高了系统的可扩展性;
  • 增强了系统的可靠性;
  • 可以移植性强;
  • 提供了对分布式系统的支持;
  • 融入了面向对象技术。

缺点如下:

  • 微内核操作系统的运行效率有所降低

第 2 章 进程的描述与控制


1. 名词解释

进程

  • 进程是程序的一次执行;
  • 进程是一个程序及其数据在处理机上顺序执行时所发生的活动;
  • 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

线程

线程是一个基本的 CPU 执行单元,也是程序执行流的最小单元,是被系统独立调度和分配的基本单位。

进程控制块 PCB

  • 系统利用 PCB 来描述进程的基本情况和活动过程,进而控制和管理进程;
  • PCB 是进程实体的一部分,是进程存在的唯一标志。

进程同步

在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,引入了进程同步的概念。

进程互斥

亦称间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一进程才允许去访问此临界资源。

直接消息传递、间接消息传递

  • 直接消息传递是指发送进程利用 OS 所提供的发送原语,直接把消息发送给目标进程;
  • 间接消息传递是指发送和接收进程,都通过共享中间实体的方式进程消息的发送和接收,完成进程间的通信。

用户级线程、内核支持线程

  • 内核支持线程:是指在内核支持下运行的线程,它们的创建、阻塞、撤销和切换等,都需要在内核空间实现;
  • 用户级线程:用户级线程是在用户空间中实现的,对线程的创建、撤销、同步与通信功能无需内核的支持。
2. 简答题

2.1 进程的三种基本状态是什么?它们之间转换的典型事件有哪些?

基本状态:就绪态、执行态、阻塞态。

典型事件:

  • 执行态 —> 就绪态:时间片用完;
  • 就绪态 —> 执行态:进程调度;
  • 执行态 —> 阻塞态:I/O 请求;
  • 阻塞态 —> 就绪态:I/O 完成。

2.2 进程和线程的关系是什么?

  • 线程是进程的一个组成部分;
  • 进程的多个线程都在进程的地址空间活动;
  • 资源是分给进程的,而不是分给线程的,线程在执行中需要资源时,系统中资源的分配额中扣除并分配给它;
  • 处理机调度的基本单位是线程,线程之间竞争处理机,真正在处理机上运行的是线程;
  • 线程在执行过程中,需要同步。

2.3 简述引进线程的好处

  • 以线程作为系统调度的基本单位,减少了系统的时空开销。以进程为系统调度的系统中,进程切换是很频繁的,在切换时需要保存当时的运行环境,还要设置新进程的运行环境,即花费处理机时间又增加了主存空间,从而也限制了系统进程的数量和进程的切换速度。
  • 引进线程提高了系统的并行能力。线程作为进程内的一个可运行实体,减少了并行粒度。线程作为调度基本单位而非资源分配基本单位,使得调度更为容易,能够更有效地提高系统并行能力。
  • 同一进程的线程共享进程的用户地址空间,所以同一进程的线程间进行通信也更为容易。

2.4 比较说明进程和程序的区别有哪些?

  • 每个进程实体中包含了程序段和数据段这两个部分,因此说进程是与程序是紧密相关的。但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即进程控制块PCB。

  • 进程是程序的一次执行过程,因此是动态的;动态性还表现在进程由创建而产生、由调度而执行、由撤消而消亡,即它具有一定的生命周期。而程序则只是一组指令的有序集合,并和永久地存放在某种介质上,其本身不具有运动的含义,因此是静态的。

  • 多个进程实体可同时存放在内存中并发地执行,其实这正是引入进程的目的。而程序(在没有为它创建进程时)的并发执行具有不可再现性,因此程序不能正确地并发执行。

  • 进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位。而因程序不具有PCB,所以它是不可能在多道程序环境下独立运行的。

  • 进程与程序不一一对应。同一个程序的多次运行,将形成多个不同的进程;同一个程序的一次执行也可以产生多个进程;而一个进程也可以执行多个程序。

2.5 多线程模型有哪几种类型?它们各自的优缺点是什么?

多对一模型,即将用户线程映射到一个内核控制线程

  • 优点:线程管理开销小,效率高;

  • 缺点:如果一个线程在访问内核时发生阻塞,则整个进程阻塞;多线程不能同时在处理机上运行。

一对一模型,即将每一个用户级线程映射到一个内核支持线程

  • 优点:当一个线程阻塞时,允许调度另一个线程运行,并发能力强;
  • 缺点:每创建一个用户线程就要相应创建一个内核线程,开销较大。

多对多模型,即将多个用户线程映射到同样数量或更少数量的内核线程上

  • 优点:多个线程可并发运行;线程的管理开销小,效率有所提高

第 3 章 处理机调度与死锁


1. 名词解释

作业调度

按照一定调度算法,从外存的后备队列中选取某些作业调入内存,为它们创建进程、分配必要的资源,并放入就绪队列。

进程调度

根据某种算法,决定就绪队列中的哪个进程应获得处理机,并将处理机分配给被选中的进程。

优先级倒置

高优先级进程(或线程)被低优先级进程(或线程)延迟或阻塞。

死锁

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

2. 简答题

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

主要任务:

  • 高级调度:根据某种算法,决定将外存上处于后备队列中的哪几个作业调入内存,为它们创建进程、分配必要的资源,并将它们放入就绪队列。
  • 低级调度:根据某种算法,决定就绪队列中哪个进程获得处理机,并由分派程序将处理机分配给被选中的进程。

引入中级调度的原因:

  • 提高内存利用率和系统吞吐量。

2.2 处理机调度算法的共同目标是什么?

  • 资源利用率。为提高资源利用率,应使得系统中的处理机和其它所有资源都处于忙碌状态。
  • 公平性。使得诸进程都获得合理的 CPU 时间,不会发生进程饥饿现象。
  • 平衡性。为使得系统中的 CPU 和各种外部设备都能经常处于忙碌状态,调度算法应尽可能保持系统资源使用的平衡性。
  • 策略强制执行。对所制定的策略其中包括安全策略,只要需要,就必须予以准确地执行,即使会造成某些工作的延迟也要执行。

2.3 在剥夺调度中,有哪些剥夺原则?

  • 优先权原则,指允许优先级高的新到进程抢占当前进程的处理机;
  • 短进程优先原则,指允许新到的短进程可以抢占当前长进程的处理机;
  • 时间片原则,即各进程按时间片轮转运行时,当正在运行的进程时间片用完后,停止该进程的运行并重新调度。

2.4 引起进程调度的主要因素

  • 正在执行的进程执行完毕;
  • 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等状态;
  • 执行中进程调用了阻塞原语操作,并且因为资源不足而被阻塞,或调用了唤醒原语操作激活了等待资源的进程;
  • 在分时系统中时间片已经用完;
  • 就绪对列中的某个进程的优先级高于当前运行进程的优先级。

2.5 产生死锁的原因和必要条件是什么?比较三种解决死锁的办法

原因:

  • 一组进程中的每一个进程都在等待仅由该组进程的其它进程才能引发的事件

必要条件:

  • 互斥条件;
  • 请求和保持条件;
  • 不可抢占条件;
  • 循环等待条件。

解决死锁的方法:

  • 预防死锁。通过设置限制条件,破坏死锁必要条件进而进行预防;
  • 避免死锁。无须事先进行限制,而是在资源分配中,用某种方法防止系统进入不安全状态;
  • 死锁的检测和解除。无须事先进行限制,允许死锁发生,但是能将其检测出来并解除。

2.6 解决优先级倒置的主要方法有什么?

  • 优先级继承。当发现高优先级当任务因低优先级任务占用资源而阻塞时,将低优先级任务的优先级提升到等待它所占有的资源的最高优先级任务的优先级;
  • 优先级天花板。优先级天花板是指将申请某资源的任务优先级提升到可能访问该资源的所有任务中最高优先级任务的优先级。

第 4 章 存储器管理


1. 名词解释

物理地址

程序在内存中的实际地址,又称绝对地址。

逻辑地址

在有地址变换功能的计算机中,访问指令给出的地址 (操作数) 叫逻辑地址,也叫相对地址。要经过寻址方式的计算或变换才得到内存中的物理地址。

联想存储器 TLB

又称快表。是一个具有并行查询能力的特殊高速缓冲寄存器,用以存放当前访问的页表项,进而提高地址变换的速度。

重定位

在装入时对目标程序中指令和数据地址的修改过程称为重定位。

静态重定位

地址转换是在进程装入时一次完成的,以后不在改变,因而称为静态重定位。

动态重定位

地址变换过程是在程序执行期间,随着对每条指令或数据的访问自动进行的,故称动态重定位。

虚拟存储器

所谓虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。

抖动(颠簸)

刚被换出的页(段)很快又要被换入,或者刚被换入的也(段)很快又要被换出。

2. 简答题

2.1 什么是动态链接?用何种内存分配方法可以实现这种链接?

动态链接

  • 装入时动态链接是指在装入内存时便装入边链接的链接方式;
  • 运行时动态链接是指将对某些模块的装入推迟到程序执行时才进行。

分配方法

  • 应采用段式内存分配方法实现此种链接。

2.2 为什么静态重定位后的程序在内存中不能移动?为什么动态重定位的程序在内存中可以移动?

程序在内存中移动,意味着它的物理位置要发生变化,必须对程序和数据的地址(绝对地址)进行修改后才运行。

对静态重定位而言,地址转换在装入时一次完成,此后无法修改,因此不能移动;

而动态重定位的地址转换过程在真正执行时才会进行,因此可以移动。

2.3 存储管理的主要任务是什么?

  • 内存空间的分配与回收。
  • 地址转换;
  • 内存空间的扩充;
  • 内存共享;
  • 存储保护。

2.4 快表的引入为何能明显改进系统性能?

在引入快表后,通过快表查询,可以直接得到逻辑页所对应的物理块号,由此拼接形成实际的物理地址,减少了一次内存访问,缩短了进程访问内存的有效时间。

2.5 分页存储管理与分段存储管理的主要区别是什么?提出分页和分段管理的目的是什么?

主要区别

  • 分页:页是信息的物理单位,对用户不可见;页的大小固定且由系统绝定;页的地址空间是一维的;
  • 分段:段是信息的逻辑单位,对用户可见,段号和偏移由用户提供;段的长度不固定;段的地址空间是二维的。

主要目的

  • 分页:为了提高内存利用率,进而提高计算机性能
  • 分段:从用户和程序员角度出发,满足方便编程、信息共享、信息保护、动态链接以及信息动态增长的需要

2.6 在采用首次适应算法回收内存时,可能会出现几种情况,该如何处理?

  • 回收区之前有相邻空闲分区。将回收区与前面分区合并,无需分配新表项,只需修改前面分区的大小;
  • 回收区之后有相邻空闲分区。将两分区合并,将回收区的首址作为新空闲区的首址,大小为两者之和;
  • 回收区前、后都有相邻空闲分区。将三个分区合并,使用前面分区的表项和首址,大小为三者之和;
  • 回收区前、后都没有相邻空闲分区。单独创建新表项,填写回收区的首址和大小,并根据首址插入到空闲链的合适位置。

2.7 虚存管理和实存管理的根本区别是什么?

实存管理要求必须一次将作业全部装入内存后才能运行,且在运行过程中不能被换入和换出;

相比之下,虚存管理允许作业被分成多次调入内存运行,并且能够在运行过程中换入和换出。

2.8 分页存储管理、分段存储管理虚地址到物理地址到转换过程

内容过多,不在细述,靠理解写即可。

2.9 影响缺页中断率有哪几个主要因素?

  • 页面大小。页面划分较大,则缺页率较低;反之,缺页率较高。
  • 进程所分配物理块的数目。所分配物理块数目越多,缺页率越低;反之则较高。
  • 页面置换算法。算法的优劣决定了缺页中断的次数。
  • 程序固有特性。程序编制的局部化程度越高,执行时的缺页程度越低。

2.10 怎样解决碎片问题?

采用 “紧凑” 技术,通过移动内存中作业的位置,将原来多个分散的小分区拼接成一个大分区。

2.11 抖动的原因和预防方法

原因

  • 分配给每个进程的物理块数目太少;
  • 页面置换算法不当。

预防方法

  • 采取局部置换策略;
  • 把工作集算法融入到处理机调度中;
  • 利用 “L=S” 准则调节缺页率;
  • 选择暂停的进程。
Logo

鸿蒙生态一站式服务平台。

更多推荐