操作系统知识点复习

操作系统复习

一、操作系统引论

重点:多道程序特征、操作系统中引入多道程序设计的目的、操作系统类型、操作系统的接口、

OS的四大特征(最重要的两大特征:并发与共享)、并发与并行的区别

1.多道程序

1.1 特征(P18)
  • 多道:计算机内存中同时存放多道相互独立的程序
  • 宏观上并行:同时进入系统的多道程序处于运行过程中
  • 微观上串行:在单处理机的环境下,内存中的多道程序轮流占用CPU,交替执行
1.2 引入的目的

充分利用CPU,提高CPU的利用率(P21倒数第六行)

2.操作系统

2.1特征(P20)
  • 并发性:宏观上,多个程序同时向前推进;微观上,程序之间交替执行
  • 共享性:计算机中的各种资源供在其上运行的程序共同享用
  • 虚拟性:通过某种技术手段把一个物理实体变成多个逻辑上的对应物
  • 不确定性:各种事件的发生顺序是不确定的
2.2并发与并行的区别(P20)
  • 并发:两个或以上的事物在同一时刻发生
  • 并行:两个或以上的事物在同一时间间隔发生
2.3接口(P25)

方便用户使用操作系统

  • 命令接口:方便用户控制自己的作业
    • 联机命令接口:由一组键盘操作命令及命令解释程序组成
    • 脱机命令接口:由一组作业控制语言(JCL)组成,不能直接控制自己的作业
    • 图形用户界面接口:采用图形化的操作界面
  • 程序接口:由一组系统调用组成,为用户能在程序一级访问操作系统功能而设置的,是用户程序取得操作系统服务的唯一途径
2.4类型(P26-40)
  • 批处理操作系统:最基本的操作系统类型。用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动执行。
  • 分时操作系统:一个计算机与许多终端设备连接,每个用户可以通过终端向计算机发出命令,请求完成某项工作。
  • 实时操作系统:对外部输入的信息,实时操作系统能够在规定的时间内处理完毕并做出反应。
  • 微处理机操作系统:配置在微机上的操作系统。
  • 多处理机操作系统:P38
  • 网络操作系统:P39
  • 分布式操作系统:由若干个计算机经互联网连接而成的系统。(P40)
  • 嵌入式操作系统:P41

书上相关习题:

操作系统知识点复习_第1张图片

操作系统知识点复习_第2张图片

二、进程与线程

重点:顺序程序与并发程序的特征、进程与程序的区别、进程三种基本状态及状态变化的原因(能画出五状态以内的状态转换图)、

PCB的作用、进程控制、进程及线程的区别

1.进程

1.1顺序程序(P43)

单道程序:一个在时间上按严格次序先后操作的序列

顺序程序的特征:
  • 顺序性:程序在处理机上执行时,其操作严格按照规定的顺序执行。
  • 封闭性:程序在封闭的环境中运行的。
  • 可再现性:当程序被重复执行时,只要其初始条件相同,其执行结果必须相同
1.2并发程序(P44)

多道程序:在内存中放多道程序,它们在操作系统的控制下在CPU上交替运行。

并发程序的特征:
  • 间断性

    由于程序共享系统中的资源或为完成同一任务而相互合作,致使在并发程序之间形成相互制约的关系。

    相互制约将导致并发程序具有"执行-暂停-执行"这种间断性活动规律。

  • 失去封闭性

    多个程序共享系统中的资源,从而资源的状态由多个程序来改变,致使程序的执行失去了封闭性。

  • 失去可再现性:程序经过多次执行,执行的环境和初始条件相同,但得到的结果却不相同

进程与程序的主要区别:

程序:是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。

进程:是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

(定义来源:百度百科)

  • 程序是永存的;进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的;

  • 程序是静态的观念,进程是动态的观念;

  • 进程具有并发性,而程序没有;

  • 进程是竞争计算机资源的基本单位,程序不是。

  • 进程和程序不是一一对应的: 一个程序可对应多个进程即多个进程可执行同一程序; 一个进程可以执行一个或几个程序

    (来源:知乎)

1.3 进程的状态(P47)
1.三种基本状态:
  • 运行状态:进程正在处理机上运行的状态
  • 就绪状态:进程已经获得了除处理机之外的所有必要资源,只要获得处理机就可以运行的状态
  • 阻塞状态:当进程由于等待输入输出操作或某个同步事件而暂停运行时的状态
2.状态转换
  • 三种基本状态转换:

    操作系统知识点复习_第3张图片

  • 五种状态的进程状态转换:

    操作系统知识点复习_第4张图片

1.4进程控制块(P51)
  • 定义:是一个用来描述进程本身的特性,进程的状态,进程的调度信息,资源的占有情况等的数据结构

    进程控制块是进程存在的唯一标识

    操作系统知识点复习_第5张图片

  • 作用:使一个在多道环境中不能独立运行的程序成为一个能够独立运行的基本单位,是一个能与其他进程并发执行的进程。

1.5进程控制(P53)

职能:对系统中的全部进程实行有效的管理

主要表现:对一个进程进行创建、撤销以及某些进程状态之间的转换控制

1.5.1 操作系统内核:
(1)一些概念:
  • 核心态:又称系统态,具有较高的权限,能执行一切指令,能访问所有寄存器及内存的所有区域。

  • 用户态:较低特权的执行状态,此状态下只能执行规定的指令、访问指定的寄存器的指定区域。

  • 内核:是在计算机硬件上扩充的第一层软件,操作系统要对这部分软件进行保护。(内核是利用原语来实现的)

  • 原语:由若干条指令构成,是用于完成一定功能的过程。(原语是用原子操作构成的)

  • 原子操作:过程中的所有操作要么全做,要么全不做。即原子操作是不可分割的操作

(2)系统内核包含的功能:
  • 时钟管理
  • 中断处理
  • 原语操作
1.5.2 进程的创建(P54)

(1)引起创建进程的事件:

  • 用户登录
  • 新作业进入系统
  • 提供服务
  • 应用请求

(2)创建原语要做的工作:

  • 申请空白PCB
  • 初始化进程描述信息:初始化处理机状态信息控制信息
  • 为进程分配资源、分配存储空间
1.5.3 进程的撤销(P55)

(1)引起进程撤销的事件:

  • 进程正常结束
  • 进程异常结束
  • 外界干扰

(2)撤销原语要做的工作:

  • 查找撤销进程的PCB
  • 若进程处于运行状态,予以终止,并进行进程调度,以重新挑选其他进程运行
  • 若进程有子孙,予以终止
  • 归还资源
  • 从所在队列移出
1.5.4 进程的阻塞和唤醒(P56)

(1)引起进程阻塞和唤醒的事件:

  • 请求系统服务
  • 启动某种操作
  • 新数据尚未到达
  • 无新工作可做

(2)阻塞原语需要做的工作:

  • 停止进程的执行
  • 将进程插入阻塞队列
  • 重新调度

(3)唤醒原语需要做的工作:

  • 将进程从阻塞队列解下
  • 把进程插入就绪队列
  • 改变进程在PCB中的状态
1.5.5 进程的挂起与激活(P57)

(1)挂起原语要做的工作:

  • 检查被挂起进程的状态
  • 若进程处于就绪状态,将进程从就绪状态变为就绪挂起状态
  • 若进程处于阻塞状态,将进程从阻塞状态变为阻塞挂起状态
  • 若进程正在运行,则将进程从运行状态变为就绪挂起状态,并调用进程调度程序重新进行调度

(2)激活原语要做的工作:

  • 检查被激活进程的状态
  • 若进程处于就绪挂起状态,将进程从就绪挂起状态变为就绪状态
  • 若进程处于阻塞挂起状态,将进程从阻塞挂起状态变为阻塞状态
  • 若系统采用的是抢占式进程调度,则有新进程进入就绪队列时,要检查是否要重新调度。如果激活进程的优先级比正在运行进程的优先级高,则会立即剥夺正在运行的进程,把处理机分配给被激活的进程

2.线程

2.1 线程的引入

1.定义:线程是进程的一个实体,是被独立调度分派基本单位,表示进程中的一个控制点,执行一系列指令。

2.基本属性:

  • 进程是一个可以拥有资源的独立单位
  • 进程是一个可以独立调度和分派的基本单位
2.2 线程与进程的比较(区别)(P60)

1.二者的关系:

  • 一个进程至少拥有一个线程
  • 进程根据需要可以创建若干个线程

2.具体比较:

  • 调度:
    • 线程是调度和分派的基本单位
    • 进程是资源分配的基本单位
  • 并发性:
    • 进程之间可以并发执行
    • 一个进程中的多个线程之间也能并发执行
  • 拥有资源:
    • 进程都是拥有资源的独立单位
    • 线程自己不拥有系统资源,但可以访问其隶属进程的资源
  • 系统开销:
    • 进程切换的开销远大于线程切换的开销

做个简单的比喻:进程=火车,线程=车厢

  • 线程在进程下行进(单纯的车厢无法运行)
  • 一个进程可以包含多个线程(一辆火车可以有多个车厢)
  • 不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)
  • 同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)
  • 进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)
  • 进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影响到另外一列火车,但是如果一列火车上中间的一节车厢着火了,将影响到所有车厢)
  • 进程可以拓展到多机,进程最多适合多核(不同火车可以开在多个轨道上,同一火车的车厢不能在行进的不同的轨道上)
  • 进程使用的内存地址可以上锁,即一个线程使用某些共享内存时,其他线程必须等它结束,才能使用这一块内存。(比如火车上的洗手间)-“互斥锁”
  • 进程使用的内存地址可以限定使用量(比如火车上的餐厅,最多只允许多少人进入,如果满了需要在门口等,等有人出来了才能进去)-“信号量”

作者:biaodianfu
链接:https://www.zhihu.com/question/25532384/answer/411179772

来源:知乎

书上相关习题:

操作系统知识点复习_第6张图片

三、进程同步与通信

重点:同步与互斥的概念、临界资源的概念、信号量(信号量的定义、取值及物理含义)及PV操作(非常重要)、用PV操作解决实际问题。

(进程之间的协作关系包括互斥、同步和通信)

1.同步与互斥(P70)

  • 互斥:多个进程不能同时使用同一个资源,当某个进程使用某种资源时,其他资源必须等待。(竞争资源,无先后)
  • 同步:多个进程中发生的事件存在着某种时序关系,某些进程的执行必须先于另一些进程。(有先后)

2.临界资源(P72)

概念:某段时间内,只允许一个进程使用的资源。

临界区:每个进程中访问临界资源的那段程序。

3.信号量和PV操作

3.1 定义(P77)
struct semaphore{
    int value;
    struct PCB *queue;
}

P操作:

void wait(semaphore s){
    s.value=s.value-1;
    if(s.value<0)
        block(s.queue);      //将进程阻塞,并将其投入等待队列s.queue
}

V操作:

void sign(semaphore s){
    s.value=s.value+1;
    if(s.value<=0)
        wakeup(s.queue);    //唤醒阻塞进程,将其从等待队列s.queue取出,投入就绪队列
}
3.2 信号量的物理意义(P78)
  • 信号量机制中,信号量的初值s.value表示系统中某种资源的数目(又称资源信号量)
  • P操作意味着进程请求一个资源(s.value=s.value-1)
    • s.value<0 表示资源已经分配完毕
    • 进程所申请的资源不能满足,执行block(s.queue)自我阻塞,并插入等待队列
  • V操作意味着进程释放一个资源(s.value=s.value+1)
    • s.value<=0表示等待队列中有等待该资源的进程被阻塞
    • 调用wakeup(s.queue)将等待队列中的一个进程唤醒
  • s.value<0时,|s.value|表示等待队列的进程数
3.3 互斥问题

操作系统知识点复习_第7张图片

3.4 同步问题

操作系统知识点复习_第8张图片

小结:

操作系统知识点复习_第9张图片

3.5 经典问题
3.5.1 生产者消费者问题

操作系统知识点复习_第10张图片

例题:

操作系统知识点复习_第11张图片

3.5.2 读者写者问题

img

操作系统知识点复习_第12张图片

参考blog:https://blog.csdn.net/qq_40712058/article/details/107300452

书上相关题目:

操作系统知识点复习_第13张图片

操作系统知识点复习_第14张图片

操作系统知识点复习_第15张图片

四、调度与死锁

重点:处理机调度的类型、进程调度的方式 、平均周转(带权)时间的计算、主要调度算法(如先来先服务、时间片轮转、优先权、短作业或短进程优先)死锁产生的原因、死锁产生的必要条件、死锁预防的策略、死锁避免的银行家算法、检测死锁

1.处理机调度的类型(P100)

  • 低级调度:决定就绪队列中的哪些进程将获得处理机。

  • 中级调度:内存和外存对换区之间进行进程对换,以解决内存紧张问题。

  • 高级调度:决定将外存上后备队列中的哪些作业调入内存。

    操作系统知识点复习_第16张图片

操作系统知识点复习_第17张图片

2.进程调度的方式(P101)

  • 不可剥夺方式:也称非抢占式方式。一旦进程交给处理机运行,直到运行结束或不能运行为止。
  • 可剥夺方式:也称抢占式方式。一旦交给处理机运行的进程优先级比之前正在运行的优先级高,则可以抢占之前的进程,直接运行。

3.周转时间(P102)

操作系统知识点复习_第18张图片

4.主要调度算法

4.1 先来先服务算法(FCFS)[P103]

基本思想:按进程或作业到达的先后顺序进行调度。

4.2 短作业优先算法(SJF)[P104]

基本思想:从后备队列中选择估计运行时间最短的作业,将它们调入内存。

4.3 短进程优先算法(SPN)

基本思想:从就绪队列中选择估计运行时间最短的进程,将处理机分配给它,使之执行并一直到完成或因发生某事件而阻塞放弃处理机时,再重新调度。

4.4时间片轮转调度算法(RR)[P105]

基本思想:进程按FCFS在就绪队列排队,调度程序把CPU分配给队首进程,令其执行一个时间片,一个时间片执行完毕将进程排在队尾。

4.5 优先权调度算法[P106]

基本思想:从后备队列中选择若干优先权最高的作业,将它们调入内存。或从就绪队列中选择优先权最高的进程,将处理机分配给它。

5.死锁

死锁的基本概念:

image-20201205160406786

5.1死锁产生的原因[P109]
  • 资源不足
  • 进程的推进次序非法
5.2死锁产生的必要条件[P112]
  • 互斥条件
  • 请求和保持
  • 不可剥夺条件
  • 环路条件
5.3死锁的预防[P113]

从四个必要条件入手

1.互斥条件不可禁止,互斥是资源的固有属性。

2.抛弃请求条件

3.抛弃不可剥夺条件

4.破坏环路条件

5.4银行家算法[P115]

操作系统知识点复习_第19张图片

操作系统知识点复习_第20张图片

操作系统知识点复习_第21张图片

算法小结:

操作系统知识点复习_第22张图片

5.5 死锁检测[P118]

操作系统知识点复习_第23张图片

操作系统知识点复习_第24张图片

书上相关习题:

操作系统知识点复习_第25张图片

操作系统知识点复习_第26张图片

操作系统知识点复习_第27张图片

操作系统知识点复习_第28张图片

操作系统知识点复习_第29张图片

五、存储管理

重点:重定位(静态重定位和动态重定位)、分区存储管理、可变分区连续存储分配方式各种算法的思想及优缺点、分页存储管理、分段存储管理、页式和段式的区别

内部碎片与外部碎片:在内存管理中,内部碎片是已经被分配出去的的内存空间大于请求所需的内存空间。 外部碎片是指还没有分配出去,但是由于大小太小而无法分配给申请空间的新进程的内存空间空闲块。段式存储管理不会产生内部碎片。但会产生外部碎片。

1.重定位[P122]

地址空间:源程序经编译后得到的目标程序,存在于它所限定的地址范围内,此范围称地址空间。地址空间是逻辑地址的集合。

存储空间:指主存中一系列存储信息的物理单元的集合,这些单元的编号称为物理地址。存储空间是物理地址的集合。

重定位(地址映射):把用户程序中的相对地址(逻辑地址)转换为主存中的绝对地址(物理地址)过程。

  • 静态重定位:在程序执行之前进行重定位。

    操作系统知识点复习_第30张图片

  • 动态重定位:在程序执行过程中进行地址重定位。

    操作系统知识点复习_第31张图片

2.分区存储管理

连续分配:为用户程序分配一个连续的内存空间。

2.1 单一连续分区[P125]

内存区域被分成:

  • 系统区域
  • 用户区域

image-20201205172744868

2.2 固定分区[P126]

最早使用的一种运行在多道程序中的系统管理方案。分区在系统启动后划分好,以后不能改变

操作系统知识点复习_第32张图片

2.3 可变分区[P127]

在进程装入内存时,把可用的内存空间“切出”一个连续的区域分配给进程,以适应进程大小的需要。即分区的大小和个数随系统的运行而不断改变

操作系统知识点复习_第33张图片

可变分区分配算法:
  • 首次适应算法(First Fit)

    操作系统知识点复习_第34张图片

  • 下次适应算法(Next Fit)

    image-20201205174651220

    操作系统知识点复习_第35张图片

  • 最佳适应算法(Best Fit)

    操作系统知识点复习_第36张图片

    操作系统知识点复习_第37张图片

  • 最坏适应算法(Worst Fit)

    image-20201205174546731

操作系统知识点复习_第38张图片

3.分页存储管理[P130]

基本原理

●将进程的逻辑地址空间分成若干个大小相等的片,称为页面或页;

●内存空间分成与页大小相等的若干个存储块,称为物理块或页框。

●在为进程分配内存时,以块为单位,将进程中的若干页分别装入多个可以不相邻的块中。

操作系统知识点复习_第39张图片

页式存储管理的地址变换机构

操作系统知识点复习_第40张图片

操作系统知识点复习_第41张图片

4.分段存储管理

为了满足用户在编程和使用上的要求。引入分段存储管理。

基本原理[P138]:

整个作业的地址空间被分成若干个段,每个段采用一段连续的地址空间,段的长度由相应的逻辑信息的长度决定。

操作系统知识点复习_第42张图片

段式存储管理地址变换机构:

操作系统知识点复习_第43张图片

5.分页和分段的区别[P139]

●分页和分段的目的

页是信息的物理单位,分页是系统管理的需要,而不是用户的需要。

段是信息的逻辑单位,它含一组意义完整的信息。分段是为了更好地满足用户的要求。

●页和段长度

页的大小固定,由系统确定。

段的长度不固定,决定于用户所编写的程序。

●地址空间

分页的作业地址空间是一维的,即单一的线性地址空间。

分段的作业地址空间是二维的,程序员在标识一个地址时,需给出段名和段内地址。

6.内部碎片与外部碎片

在内存管理中:

  • 内部碎片是已经被分配出去的的内存空间大于请求所需的内存空间。

  • 外部碎片是指还没有分配出去,但是由于大小太小而无法分配给申请空间的新进程的内存空间空闲块。

  • 段式存储管理不会产生内部碎片。但会产生外部碎片。

书上相关习题:

操作系统知识点复习_第44张图片

操作系统知识点复习_第45张图片

六、虚拟存储管理

重点:局部性原理及意义、虚拟存储器的定义与特征、请求页式管理(页式虚拟存储管理)的特点及实现、请求页式管理的页面置换算法

1.局部性[P149]

  • 原理:

    ●程序执行时,大多数情况下是顺序执行的。

    ●过程调用会使程序的执行轨迹从一部分内存区域转至另一部分区域, 但过程调用的深度不会超过5。

    ●程序中有许多循环语句,这些语句会重复多次执行。

    ●程序中对数据结构的操作,往往局限在很小的范围内。

  • 意义:

    正是由于局部性原理的存在,

    • 实现只装入部分程序到内存就开始运行
    • 实现高速缓存,进而进行数据交换

2.虚拟存储器[P150]

  • 定义
    具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。
  • 特征:
    • 离散性:进程不连续地装入内存多个不同的区域中。

    • 多次性:一个进程多次调入内存。

    • 对换性:进程在运行过程中,允许将部分程序和数据换进、换出。

    • 虚拟性:能从逻辑上扩充内存容量,使用户感觉到的内存容量远远大于实际的内存容量。

3.请求页式管理

3.1 特点:

需要一定的硬件支持:

  • 一定容量的内存外存对换区
  • 页表机制、缺页中断机构和地址变换机构
3.2 实现[P150]:
页表扩充:

image-20201205194523837

操作系统知识点复习_第46张图片

缺页中断机制:

操作系统知识点复习_第47张图片

地址变换机构:

操作系统知识点复习_第48张图片

3.3 页面置换算法[P154]
  • 最佳置换算法

    操作系统知识点复习_第49张图片

    image-20201205195936913

  • 先进先出置换算法

    操作系统知识点复习_第50张图片

  • 最近最久未使用置换算法

    操作系统知识点复习_第51张图片

  • 时钟置换算法

操作系统知识点复习_第52张图片

书上相关习题:

操作系统知识点复习_第53张图片

七、设备管理

重点:设备控制中所用数据结构、DMA方式与通道方式、引入缓冲的目的、Spooling技术的实现与实质、磁盘调度及相关算法、

时间换空间的技术:虚拟存储技术

空间换时间技术:缓冲区、通道、RAID、快表等

1.设备控制中所用数据结构

设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)和系统设备表(SDT)

2.DMA方式(直接存储器访问)[P173]与通道方式[P174]

操作系统知识点复习_第54张图片

操作系统知识点复习_第55张图片

操作系统知识点复习_第56张图片

操作系统知识点复习_第57张图片

image-20201205205024362

3.引入缓冲的目的[P195]

  • 缓解CPU与I/O设备之间速度不匹配的矛盾
  • 减少中断CPU的次数
  • 提高CPU与I/O设备之间的并行性

4.Spooling技术[P180]

为了缓解和CPU的高速性与I/O设备的低俗性之间的矛盾,产生了脱机输入输出技术。

在联机下实现的输入输出与CPU并行的操作称为SPOOLing技术

操作系统知识点复习_第58张图片

SPOOLing的系统组成:

  • 输入井和输出井
  • 输入缓冲区和输出缓冲区

  • 输入进程SPi和输出进程SPo

5.磁盘调度[P189]

  • 先来先服务(FCFS)

    操作系统知识点复习_第59张图片

  • 最短寻道时间优先(SSTF)

    操作系统知识点复习_第60张图片

  • 扫描算法(SCAN)

    操作系统知识点复习_第61张图片

  • 循环扫描算法(C-SCAN)

    操作系统知识点复习_第62张图片

书上相关习题:

操作系统知识点复习_第63张图片

考点:

磁盘调度算法(FCFS、SSTF、SCAN、CSCAN)

进程调度算法:(先来先服务调度算法、时间片轮转法、短作业优先调度算法)

页式管理中给出地址机构计算物理地址

死锁预防中的银行家算法

进程同步(用PV操作实现程序段按序执行、解决实际问题如类生产者消费者问题)

虚拟分页管理中的页面置换算法(先进先出、最近最久未使用、最佳置换算法)

题库参考

操作系统知识点复习_第64张图片

操作系统知识点复习_第65张图片

操作系统知识点复习_第66张图片

你可能感兴趣的:(操作系统)