---
cid: 175
title: 操作系统一轮复习整理(文档部分)
slug: 175
notion: false
date: 2019/11/30 18:25:00
updated: 2019/12/14 15:50:10
status: publish
author: harumonia
categories:
  - 源流清泉
tags:
  - 复习
  - 操作系统
noThumbInfoStyle: default
outdatedNotice: no
reprint: standard
thumbChoice: default
thumbStyle: default
hidden: false
---

# 概念集(重在概念的对比分析)

## 第一章

### 操作系统

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

### 分时系统

允许多个用户同时通过自己的终端，以交互方式使用计算机，共享主机中的资源。

### 并行与并发

并行指两个或多个事件在 **同一时刻** 发生
并发指两个或多个事件在 **同一时间间隔内** 发生。

### 进程

在系统中能独立运行并作为资源分配的基本单位，由一组及其指令、数据和堆栈等组成，是一个能独立运行的活动实体。

## 第二章

### 进程 && 程序

| 程序                                                                                             | 进程                                                                             |
| ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- |
| 程序是指令的有序集合，其本身没有任何运行的含义，是一个 **静态** 的概念                           | 进程是程序在处理机上的一次执行过程， 它是一个 **动态** 的概念                    |
| 程序可以作为一种软件资料长期存在，是 **永久** 的                                                 | 进程是有一定生命期，是 **暂时** 的                                               |
| 同一程序同时运行于若干个数据集合上， 它将属于若干个不同的进程。也就是说同一程 序可以对应多个进程 | 为了能使程序并发执行，并且可以对并发 执行的程序加以描述和控制，引入“进程”的 概念 |

### 进程控制块 PCB

使参与并发执行的每个程序(含数据)都能独立运行，在操作系统中必须 为之配置一个专门的数据结构，称为进程控制块

利用 PCB 来描述进程的基本情况和活动过程，进而控制和管理进程。

### 创建状态 终止状态

#### 创建状态

创建工作尚未完成，进程不能被调度运行

对于处于创建状态的进程，获得了其所必需的资源，以及对其 PCB 初始化工作完成后，进程状态便可由 **创建状态转入就绪状态**

#### 终止状态

进程到达自然结束点;出现 无法克服的错误;被操作系 统所终结;被其他有终止权 的进程终结

进入终止态的进程以后不能再执行，但在操作系统中依然保留一个记录，其中保存状态码和一 些计时统计数据，供其他进程收集。

### 管程与管道的区别

#### 管程

管程定义了一个数据结构和能为并发进程所执行的一组操作，这组操 作能同步进程和改变管程中的数据。

#### 管道

- “管道”是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件
- 向管道提供输入的发送进程以字符流形式将大量的数据送入管道;
- 接受管道输出的接收进程则从管道中接收数据

### 进程和线程的区别

在 OS 中引入 **进程** 的目的是为了使多个程序能并发执行，以提高资源利 用率和系统吞吐量
在操作系统中引入 **线程** ，则是为了减少程序在并发执行时多付出的时空 开销，是 OS 具有更好的并发性

![5E29FE42-A2E2-4C79-9CA4-AC84AD93B906.png](https://i.loli.net/2019/12/02/I2ErsULi18MSyTD.png)

## 第三章

### 处理机调度

#### 高级(作业)调度

每个用户创建进程的初始状态是“创建”，处于新建状态的进程一般首先被放到外存的进程池中，当内存中 进程的数量没有达到最多进程数时，操作系统的调度程序才从创建状态选择一个进入内存并转换为就绪状态

这种从“创建”状 态转换到“就绪” 状态的操作就是高 级调度，也称为作 业调度或长程调度

#### 中级(内存)调度

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

#### 低级(进程)调度

决定就绪队列中的哪个进程应获得 处理机，并由分派程序将处理机分 配给被选中的进程。

### 高响应比优先(HRRN)

![36FD49E7-E58E-4B30-A1FA-1C64B39DD238.png](https://i.loli.net/2019/12/02/aEUP3QoWtHFL2lp.png)

### 非抢占式

优点:实现简单，系统开销小 适用于大多数批处理系统
缺点:不能用于分时系统和大多数实时系统

### 各调度算法比较

![B2B35730-43CC-4F14-901D-B111F0ABDB43.png](https://i.loli.net/2019/12/02/IMgEjKOBJvL8DXP.png)

### 临界资源

临界资源是不可剥夺性资源，它可能是硬件，也可能是软件

### 信号量的应用

![截屏2019-11-27下午9.31.34.png](https://i.loli.net/2019/12/02/UsirmtAM2OpjCgE.png)

![截屏2019-11-27下午9.32.33.png](https://i.loli.net/2019/12/02/D4bGlPvXRhI3F5O.png)

### 管程

#### 信号量机制和管程的比较

![截屏2019-11-27下午9.34.33.png](https://i.loli.net/2019/12/02/X8d9GZ6EA1ziSbh.png)

#### 管程和进程比较

![0A3D146A-68A6-44F4-86BF-6C9D39708E93.png](https://i.loli.net/2019/12/02/sOIoyvWRUEalTf3.png)

### SRT

软实时操作系统能让绝大多数任务在确定时间内完成
软实时操作系统对时间的限制不是十分苛刻，响应的时间可以相对延迟，即未超过最后规定时间太多的范围内，其结果都是可以接受的，不会产生严重的后果。

### HRT

硬实时操作系统必须使任务在确定的时间内完成。
对于硬实时操作系统而言，不仅要求各个任务能够运行得到正确的结果，同时还必须在限定的时间内完成，这个时间是由系统本身确定的，这比软实时操作系统的时间约束条件严格了许多。例如，在航天领域的嵌入式实时操作系统中，如果在规定的时间内未能得出所希望的运算结果，其产生的后果将是十分严重的。

### 死锁

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

### 避免死锁和预防死锁的区别

死锁的避免与死锁防止策略不同，它不 对进程申请资源加任何限制，而是对进 程提出的每一次资源请求进行动态检查， 并根据检查结果决定是否分配资源以满 足进程的请求。由于采用了动态的资源 分配策略，所以资源利用率比死锁的防 止办法高。

## 第四\五章

### 高速缓存 && 磁盘缓存

磁盘缓存与高速缓存不同，它本身并不 是一种实际存在的存储器，而是利用主 存中的部分存储空间暂时存放从磁盘中 读出(或写入)的信息。

_主存也可以看做是辅存的高速缓存。_

### 静态地址映射与动态地址映射的区别

![7B96EAA9-61B8-4F36-A3B9-D634B5516FAE.png](https://i.loli.net/2019/12/02/BJpTsg41v5z9lPd.png)

### 动态分区与固定分区

![DB6F67FF-70B7-402A-91C2-FA4F457E5A63.png](https://i.loli.net/2019/12/02/JXi23S5rjgmIbd1.png)

### 基于顺序搜索的动态分区分配算法比较

![04C6CED2-080F-4A4A-9F49-E30E1ACD663D.png](https://i.loli.net/2019/12/02/QqcHfhgAV1pwaM8.png)

### 分页和分段

![3AEADEF6-8C87-4072-A9E6-4629A10EB119.png](https://i.loli.net/2019/12/02/LB1ntRzSCmdGHwN.png)

# 错题集

## 第二章

**系统调用** 是专门供应程序使用的一种界面.

**分时** 操作系统允许在一台主机上同时连接多台终端.

错误叙述:管程只能用于实现进程的互斥.

生产者-消费者问题用于解决 **多进程之间的同步和互斥问题**

撤销父进程,应同时撤销子进程(×)
子进程只能使用父进程拥有资源的子集(√)

假设单处理机系统中有 N 个进程,运行的进程最多 **1** 个,最少 **0** 个;就绪进程最多 **N-1** 个,最少 **0** 个;阻塞进程最多 **N** 个,最少 **0** 个.

## 第三章

**先来先服务算法** 有利于 CPU 繁忙型的作业,而不利于 I/O 繁忙型的作业.

假定系统进程锁清秋的一次 I/O 操作完成后,将使进程从 **阻塞状态变为就绪状态** .

( **x** ) 进程调用 wait(s)表示要获得一个信号量.如果 s>=0,则该进程可以获得一个 s 信号量,继续运行.

**死锁状态一定是不安全状态**

关于资源分配图:
圆圈节点表示 **进程**, 矩形框表示 **资源** .

## 第四章

用户程序中的地址(如 C 程序中的指针)被称为是 **逻辑地址** .

静态重定位的实际是 **程序装入时** .
PS.动态重定位:执行时
动态分区:作业装入时

动态重定位过程依赖于:可重定位装入程序,重定位寄存器,地址变换机构

**首次适应法** 最有可能使得高地址空间变成为大的空闲区.

采用 **分段式存储管理** 不会产生内部碎片.

动态重定位的地址变换工作是在 **每一条指令执行时** 完成的.

**分区** 管理方式要求作业占用连续的存储空间.

多级页表优点 : **减少页表所占的连续内存空间**

在段页式分配中,CPU 每次从内存中取一次数据需要 **3 次** 访问内存.

## 第五章

虚拟存储器 **只能基于非连续分配技术**

![7A2843C8-34A3-463E-91A5-D9127E2E2E04.png](https://i.loli.net/2019/12/02/R9XyI3jnFUkEabZ.png)

![6F0017F3-DBED-4B71-AA9C-DF77809EA4D6.png](https://i.loli.net/2019/12/02/bUE19k724LXcRnr.png)

## 第六章

在缓冲池方式下,为了有效地管理,需形成 **空闲\输入\输出** 等缓冲区队列.

## 第七章

文件系统的主要组成部分是 **文件及管理文件的软件**

文件管理实际上是管理 **辅助存储空间**

# 选题集

## 第二章

导致创建新进程的操作:

- 用户登陆成功
- 启动程序执行

在实施系统中,当系统中的内存资源不够满足执行紧迫任务的需求时,操作系统可能会将正在运行的进程变为 **静止就绪** 状态.

所谓临界区是指 **一段程序**.

在生产者消费者问题中,若 10 个生产者,5 个消费者共享容量为 8 的缓冲区,则互斥使用缓冲区的信号量的初值为 **1** .

> 双方互斥使用，信号量初值为 1

在引入线程的操作系统中,吧 **线程** 作为调度和分配的基本单位,而吧 **进程** 作为资源拥有的基本单位.

## 第三章

决定一个程序是否能占用处理机执行,是由 **进程调度** 机构决定.

## 第四章

![954E0751-0736-4973-97B3-F45425F23428.png](https://i.loli.net/2019/12/02/oKj5XTE3YhkcAJw.png)

页表是存放在内存中的，CPU 要存取一个数据，需访问主存 **两次**

为了提高存取速度，在地址变换机构中增设一组寄存器，用来存放当前访问 的那些页表，把存放在高速缓冲寄存器中的页表叫 **快表** ，这个高速缓冲寄存 器又叫 **联想存贮器**

![A82A7ED9-3959-40A8-BBE4-4C7BB06CDB54.png](https://i.loli.net/2019/12/02/bp7tucBEDoNIXnP.png)

![A43E33A0-62B1-49A8-AF95-A4E12F2A198C.png](https://i.loli.net/2019/12/02/WyxjYL9MagQ1eVA.png)

![D13117D7-5C62-4065-AC78-81FC9EEBECC7.png](https://i.loli.net/2019/12/02/sISvETeXb1gfzV7.png)

## 第六章

**系统调用** 是应用程序取得 OS 所有服务的唯一途径

启动磁盘后.对此盘读/写信息的最小单位是 **物理块**

虚拟设备技术实现的是 **独占设备模拟共享设备**

在多进程的并发系统中,肯定不会因为竞争下列资源而产生死锁的是 **磁盘**

# 概念重点

## 第二章

进程状态

生产者-消费者

![3DA28E45-DCD3-4142-A950-8D7FAFA712FD.png](https://i.loli.net/2019/12/02/pjQFTia87hEOGWn.png)
