操作系统复习
- 第一章(操作系统引论)
- 计算机操作系统包括:
- 操作系统的目标:
- 操作系统的作用:
- 未配置操作系统的计算机系统:
- 单道批处理系统:
- 缺点:
- 多道批处理系统:
- 优点:
- 缺点:
- 分时系统:
- 目的:
- 特点:
- 实时系统:
- 目的:
- 特点:
- 操作系统的基本特性:
- 操作系统的主要功能:
- 前趋图:
- 程序顺序执行时的特征:
- 程序并发执行时的特征:
- 第二章(进程的描述与控制)
- 进程:
- 什么是进程:
- 引入进程的目的:
- PCB(进程控制块)的作用:
- 进程的特性:
- 进程的五种状态:
- 引起进程创建的事件:
- 引起进程终止的事件:
- 进程的挂起与激活:
- 挂起:
- 挂起的原因:
- 激活:
- 激活的原因:
- 进程通信的类型:
- linux 进程通信:
- 什么是线程:
- 目的:
- 作业、进程、线程之间的关系:
- 第三章(处理机调度与死锁)
- 处理机调度的层次:
- 高级调度(作业调度):
- 低级调度(进程调度):
- 中级调度(内存调度):
- 作业和作业调度:
- 作业:
- 作业控制块:
- 作业调度的主要任务:
- 进程调度方式:
- 处理机调度算法的目标:
- 处理机调度算法的共同目标:
- 批处理系统中处理机调度算法的目标:
- 分时系统中处理机调度算法的目标:
- 实时系统中处理机调度算法的目标:
- 调度算法:
- 1.先来先服务(FCFI)
- 2.短作业优先调度(SJF)
- 3.优先级调度
- 4.轮转调度
- 5.多级队列调度
- 6.多级反馈队列调度
- 7.基于公平原则的调度算法
- 死锁进程:
- 死锁概述:
- 资源问题:
- 可重用资源和可消耗资源:
- 可抢占资源和不可抢占资源
- 计算机系统中的死锁:
- 产生死锁的必要条件:
- 死锁的处理方法:
- 死锁预防:
- 死锁避免:
- 第四章(进程同步)
- 什么是进程同步:
- 实现进程同步的机制有:
- 两种形式的制约关系:
- 临界资源:
- 临界区:
- 解决临界区问题的四条准则:
- 信号量机制:
- PV 操作是低级进程通信原语
- 信号量的应用:
- 经典的进程同步问题:
- 生产者-消费者问题
- 哲学家进餐问题
- 读者-写者问题
- linux 进程同步机制:
- 第五章(存储器管理)
- 主存储器和寄存器:
- 主存储器:
- 寄存器:
- 高速缓存和磁盘缓存:
- 高速缓存:
- 磁盘缓存:
- 程序的装入:
- 分页存储管理方式:
- 1.分页存储管理方式:
- 2.分段存储管理方式:
- 3.段页式存储管理方式:
- 分页存储管理的基本方法:
- 地址结构:
- 页表:
- 分段存储管理的基本原理:
- 分页和分段的主要区别和相同点:
- 第六章(虚拟存储器)
- 页面置换算法:
- 1.最佳页面置换算法(OPT)
- 2.先进先出页面置换算法(FIFO)
- 3.最近最久未使用页面置换算法(LRU)
- 4.最少使用页面置换算法(LFU)
第一章(操作系统引论)
计算机操作系统包括:
处理器、存储器、外围设备
操作系统的目标:
为了实现:方便性、有效性、可扩充性、开放性
操作系统的作用:
(1)用户与计算机硬件系统间的接口
(2)是计算机资源的管理者
(3)实现了对计算机资源的抽象
未配置操作系统的计算机系统:
(1)人工操作方式
(2)脱机 I/O 方式(减少了 CPU 空闲时间,提高了 I/O)
单道批处理系统:
一个接一个地被连续处理(注重顺序性)
缺点:
系统中的资源得不到充分的利用,因为仅有一道程序
多道批处理系统:
注重资源利用率和吞吐率,即运行效率
优点:
(1)资源利用率高
(2)吞吐量大
缺点:
(1)平均周转时间长
(2)无交互能力
分时系统:
目的:
(1)人机交互
(2)共享主机
特点:
(1)多路性
(2)独立性
(3)及时性
(4)交互性
实时系统:
目的:
能及时响应外部事件的请求,在规定时间内完成对该事件的处理
特点:
实时性、可靠性
操作系统的基本特性:
1.并发 2.共享 3.异步 4.虚拟
操作系统的主要功能:
1.处理机管理功能
(1)进程控制
(2)进程同步
(3)进程通信
(4)调度 2.储存器管理功能
内存分配和回收、内存保护、地址映射、内存扩充 3.设备管理功能:
缓冲管理、设备分配、设备处理 4.文件管理功能:
文件储存空间管理、目录管理、文件的读写 5.接口管理功能:
用户接口、程序接口 6.现代操作系统新功能
前趋图:
用于描述程序之间执行的先后顺序
程序顺序执行时的特征:
1.顺序性 2.封闭性 3.可再现性
程序并发执行时的特征:
(因为共享资源导致的) 1.间断性 2.失去封闭性 3.不可再现性
第二章(进程的描述与控制)
进程:
什么是进程:
系统进行资源分配和调度的基本单位
引入进程的目的:
实现操作系统的并发性和共享性
PCB(进程控制块)的作用:
1.保留进程运行期间相关的数据,是进程存在的唯一标志
2.使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位
进程的特性:
动态性、并发性、独立性、异步性
进程的五种状态:
创建态、就绪态、执行态、阻塞态、终止态
引起进程创建的事件:
1.用户登录
2.作业调度
3.提供服务
4.应用请求
引起进程终止的事件:
1.正常结束
2.异常结束
3.外界干预
进程的挂起与激活:
挂起:
当一个进程被挂起时,它的执行被暂停,进程的状态从运行状态到暂停状态(挂起的进程会占用一定的系统资源)
挂起的原因:
等待外部事件、资源竞争、调度策略
激活:
当一个被挂起的进程被激活时,它从暂停状态到运行状态(激活常是通过操作系统特定条件或调度策略决定的,即操作系统的干预)
激活的原因:
条件满足、资源可用、调度策略
进程通信的类型:
1.共享存储器系统 2.管道通信系统 3.消息传递系统 4.客户机-服务器系统
linux 进程通信:
1.管道 2.信号 3.消息队列 4.共享内存 5.信号量 6.套接字
什么是线程:
是程序执行的最小单位
目的:
为了减少程序在并发执行时所付出的时间和空间,提高资源利用率和系统吞吐量
作业、进程、线程之间的关系:
一个作业(Job)可以由一个或多个进程(Process)组成。
一个进程(Process)可以包含一个或多个线程(Thread)。
线程(Thread)是进程(Process)内的执行单元,多个线程可以并发执行,共享进程的资源
第三章(处理机调度与死锁)
处理机调度的层次:
高级调度(作业调度):
调度对象:作业
功能:根据算法,将外存中的哪几个作业调入内存中
低级调度(进程调度):
调度对象:进程
功能:根据算法,决定就绪队列的哪个进程获得处理机
中级调度(内存调度):
调度对象:进程
功能:决定把外存上的那些已具备运行条件的就绪进程重新调入内存,提高内存的利用率
作业和作业调度:
作业:
它不仅包含了通常的程序和数据,还配有一份作业说明书,系统根据该说明书对程序的运行进行控制
作业控制块:
每个作业都有一个作业控制块(JCB),JCB 中包含:作业标志、用户名称、用户账号、作业类型、作业状态、调度信息、资源需求情况、资源使用情况等
作业调度的主要任务:
1.接纳多少个作业 2.接纳哪些作业
进程调度方式:
1.非抢占式 2.抢占式:(1)优先级原则(2)短进程优先原则(3)时间片原则
处理机调度算法的目标:
处理机调度算法的共同目标:
(1)资源利用率(2)公平性(3)平衡性(4)策略强制执行
批处理系统中处理机调度算法的目标:
(1)平均周转时间短
(2)系统吞吐量高
(3)处理机利用率高
分时系统中处理机调度算法的目标:
(1)保证响应时间快
(2)保证均衡性
实时系统中处理机调度算法的目标:
(1)保证满足截至时间的要求
(2)保证可预测性
调度算法:
1.先来先服务(FCFI)
2.短作业优先调度(SJF)
3.优先级调度
4.轮转调度
5.多级队列调度
6.多级反馈队列调度
7.基于公平原则的调度算法
死锁进程:
如果一组进程中的每个进程都在等待该进程中的其他进程才能引发的事件发生,那么该进程是死锁的
死锁概述:
双方都希望对方能释放出自己所需要的资源,但他们会因为不能获得自己所需的资源去继续运行而无法释放自己当下占有的资源,一直处于这样僵持状态而形成死锁
资源问题:
可重用资源和可消耗资源:
1.可重用资源:
每个可重用资源中的单元只能分配给一个进程使用,不允许多个进程共享,但可以申请使用 2.可消耗资源:
每类可消耗资源的单元数目在进程运行期间是可以不断变化的
可抢占资源和不可抢占资源
1.可抢占资源:
可被系统抢占 2.不可抢占资源
一旦把该资源分配给了某进程后,就不能将它强行收回
计算机系统中的死锁:
1.竞争不可抢占资源引起的死锁 2.竞争可消耗资源引起死锁 3.进程推进不当引起死锁
产生死锁的必要条件:
1.互斥条件
进程对所分配的资源进行排他性使用,在一段时间内资源只能被一个进程占用 2.请求和保持条件
进程已占用至少一个资源,发出资源请求,但该资源被其他进程占用,此时请求阻塞,但对自己占有的资源又保持不放 3.不可抢占条件
进程对已获得的资源在未使用之前不能被抢占 4.循环等待条件
“进程-资源”形成一条循环链,即{p0,p1,p2,p3,p4}中 p0 在等 p1 占用的资源,p1 在等 p2 占用的资源
死锁的处理方法:
1.预防死锁 2.避免死锁 3.检测死锁 4.解除死锁
死锁预防:
1.破坏“请求和保持”条件:
在请求资源时不能持有不可抢占的资源 2.破坏“不可抢占”条件:
释放不可抢占资源 3.破坏“循环等待条件”:
对资源类型进行线性排序,规定每个进程必须按序号递增请求资源
死锁避免:
银行家算法
第四章(进程同步)
什么是进程同步:
异步环境下的一组进程因直接制约而互相发消息、合作、等待,使得各进程按一定的速度执行的进程,成为同步进程
实现进程同步的机制有:
1.信号量机制 2.管程机制 3.硬件同步机制
两种形式的制约关系:
1.间接相互制约关系(互斥关系):
例:如果 A 在用打印机,则 B 就不可以用打印机 2.直接相互制约关系(同步关系):
例:有一个输入和一个计算的进程,只能先执行输入进程,然后才能执行计算进程
临界资源:
进程在使用他们的时候都需要采用互斥方式
例如:打印机、磁带机
临界区:
每个进程中访问临界资源的那段代码称为临界区
解决临界区问题的四条准则:
1.空闲让进:
空闲的时候允许进入临界区 2.忙则等待:
不空闲就等待 3.有限等待:
保证等待的请求在有限时间内能进入 4.让权等待:
当等待的进程不能进入时,应该释放处理机
信号量机制:
起着进程规范的作用
PV 操作是低级进程通信原语
信号量的应用:
1.利用信号量实现进程互斥 2.利用信号量实现进程同步
经典的进程同步问题:
生产者-消费者问题
哲学家进餐问题
读者-写者问题
建议在 B 站观看视频更佳清晰
linux 进程同步机制:
1.中断处理 2.内核态抢占 3.多处理机并发
第五章(存储器管理)
主存储器和寄存器:
主存储器:
简称主存或内存,也称为可执行存储器
作用:用于保存进程运行时的程序和数据
寄存器:
CPU 内部的一些小型存储区域
作用:用于暂时存放参与运算的指令、数据、运算结果等内容
高速缓存和磁盘缓存:
高速缓存:
介于寄存器和主存储器(内存)之间的存储器
作用:用于备份内存中较常用的数据
磁盘缓存:
由于目前磁盘的 I/O 速度远低于对内存的访问速度,为了缓和两者在速度上的不匹配,特定设置了磁盘缓存
作用:用于暂时存放频繁使用的一部分磁盘数据,以减少访问磁盘的次数
注意:但磁盘缓存和高速缓存不同,磁盘缓存其实不是一种实际存在的存储器,而是利用内存中的部分存储空间,暂时存放从磁盘的信息
程序的装入:
1.绝对装入方式:
当计算机系统很小,且仅能运行单道程序时,完全可以知道程序驻留在内存什么位置,然后装入
2.可重定位装入方式:
根据逻辑地址计算出物理地址,根据内存的具体情况,将装入模块装入内存适当位置
3.动态运行时装入方式
分页存储管理方式:
1.分页存储管理方式:
将用户程序的地址空间分为若干个固定大小的区域,称之为“页”
2.分段存储管理方式:
为了满足用户要求而形成的一种离散分配方式,把用户程序分为若干大小不同的段,每段定义一组相对完整的信息
3.段页式存储管理方式:
分页和分段两种的结合产物,同时具有两者优点,目前应用最广泛的一种存储管理方式
分页存储管理的基本方法:
1.页面和物理块:
(1)页面:
把地址空间分成若干页,从 0 开始,第 0 页、1 页
(2)页面大小:
若选择过小页面,虽能有利于内存利用率提高,但是造成每个进程占用较多页面,导致进程页表过长,占用大量内存
地址结构:
由页号 P 和偏移量 W 构成
页表:
进程各个页离散地存储在内存的任一物理块中,为每个进程建立一张表,简称页表,记录相应页在内存中的位置
分段存储管理的基本原理:
1.分段:
作业的地址空间被划分为若干段 2.段表:
存放每个段的逻辑地址和物理地址的映射关系
分页和分段的主要区别和相同点:
相同点:
都是采用离散分配方式,都是通过地址映射机构实现地址变换
区别:
(1)页是信息的物理单位,段是信息的逻辑单位,分页只是系统管理上的需要,完全是系统行为,对用户不可见,分段的目的是能更好地满足用户的需求
(2)页的大小是由系统决定的,段的长度不固定,取决于用户所编写的程序,页管理是直接由硬件实现的,所以每个系统中只有一种大小的页面,段管理是由编译程序进行编译时根据信息的性质来划分的
(3)分页的用户程序地址是一维的,是系统行为,分段的用户程序地址是二维的,是用户行为,程序员在标注一个地址时必须给出段名和段内地址
第六章(虚拟存储器)
页面置换算法:
1.最佳页面置换算法(OPT)
简介:假设是三个页面装入内存,往后看,如果后面两个有使用,则不替换,若未使用,则从上到下按顺序替换