操作系统期末复习
By 豪
2020.12.13
前言:本文由老师给的重点从课本内容(摘抄) & PPT(粘入截图)中整理得出。请视自身情况复习。
文章目录
- 操作系统期末复习
进程和线程概念比较,进程特征组成,状态及转移
线程与进程的比较(课本P82)
-
调度。在传统OS中:进程作为独立调度和分派的基本单位;
在引入线程的OS中:把线程作为调度和分派的基本单位,是能独立运行的基本单位。
而进程只作为了分配资源的基本单位。
-
并发。在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行。
-
拥有资源。进程是系统中拥有资源的基本单位。
线程本身并不拥有资源,仅有一点必不可少的、保证其独立运行的资源。
允许多个线程共享该进程所拥有的资源。
-
系统开销。在创建或撤销进程时,系统都要为之创建和回收进程控制块,分配或回收资源。系统付出的开销明显大于线程创建或撤销时的开销。
-
独立性。(第四版+的)同一进程中的不同线程之间的独立性要比不同进程之间的独立性低得多。
-
多线程支持多处理机。(第四版+的)
进程的特征组成(PPT-2-17)
进程的状态及转移(PPT-2-23)
- 就绪态。进程已分配到除CPU外的所有必要资源。就绪队列。
- 执行态。已获得CPU,正在执行。
- 阻塞态。等待、封锁,一般是由于发生了I/O事件或申请缓冲区失败。
死锁概念、原因、必要条件、预防及避免算法
概念:(PPT-3-91起)
原因:(课本P113)
- 竞争不可抢占性资源。
- 竞争可消耗资源。
- 进程推进顺序不当。
必要条件:(PPT-3-101)
- 互斥条件。一段时间内某资源只由一个进程占用。
- 请求和保持条件。吃着碗里的看着锅里的。
- 不剥夺条件。进程已获得的资源未使用完前不能被剥夺。
- 环路等待条件。存在进程—资源的循环链
预防死锁:(PPT-3-107)
-
摒弃“请求和保持”条件。
优点:简单、易于实现且安全。
缺点:资源被严重浪费;使进程延迟运行。
-
摒弃“不剥夺”条件。
实现复杂,代价很大;增加系统开销,降低系统吞吐量。
-
摒弃“环路等待”条件。
优点:与前两种方法相比,资源利用率和系统吞吐量明显改善。
缺点:限制了新类型设备的增加;也可能造成资源浪费;限制用户简单、自主地编程。
避免算法:(PPT-3-119)
例题参考课本P121底,这里只给出一般步骤:
-
检查请求的合理性。
-
预分配,更改数据结构。
-
使用安全性算法判断是否安全。
安全->正式分配
不安全->预分配作废,恢复原来资源状态,让Pi等待。
安全性算法:
- 检查当前剩余可用资源是否能满足某个资源的最大需求,若可以就将该进程加入安全序列。
- 让这个进程执行完毕,收回其所有资源,转第一步。
- 不断重复,直到所有进程都能运行完毕(即得到一个安全序列),若有进程无法完成,则系统不安全。
多级存储管理结构(课本P129|PPT-4-2)
虚拟内存的概念、特征
概念:(PPT-4-118)
虚拟存储器的特征:(PPT-4-124)
-
多次性(最重要)。将一个作业分成多次调入内存运行,当要运行到尚未调入的那部分程序时,再将它调入。
-
对换性。允许在作业的允许过程中进行换进、换出(内存–>外存的对换区)。
-
虚拟性(表现出来的最重要*?*)。能从逻辑上扩充内存容量,实现虚拟存储器最重要的目标。
虚拟性以多次性和对换性为基础,多次性和对换性必须建立在离散分配的基础上
段式,页式存储概念,优缺点,比较,碎片情况
I/O控制方式(PPT-5-29)
-
程序I/O方式。
处理机向控制器发出一条I/O指令启动输入设备输入数据时,要同时把状态寄存器中的忙/闲标志busy置为1,然后便不断地循环测试busy。当busy=1时,表示输入机尚未输完一个字(符),处理机应继续对该标志进行测试,直至busy=0,表明输入机已将输入数据送入控制器的数据寄存器中。于是处理机将数据寄存器中的数据取出,送入内存指定单元中,这样便完成了一个字(符)的I/O。接着再去启动读下一个数据,并置busy=1
-
中断驱动方式。
当某进程要启动某个I/O设备工作时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回继续执行原来的任务。设备控制器于是按照该命令的要求去控制指定I/O设备。此时,CPU与I/O设备并行操作。例如,在输入时,当设备控制器收到CPU发来的读命令后,便去控制相应的输入设备读数据。一旦数据进入数据寄存器,控制器便通过控制线向CPU发送一中断信号,由CPU检查输入过程中是否出错,若无错,便向控制器发送取走数据的信号,然后再通过控制器及数据线将数据写入内存指定单元中。
-
DMA方式。
SPOOLing,虚拟设备等思想(PPT-5-120|课本P220)
假脱机技术
SPOOLing系统的四部分构成:
- 输入井和输出井。磁盘上开辟出来的两个存储区域,用来模拟脱机输入/输出。
- 输入缓冲区和输出缓冲区。内存中开辟的两个缓冲区,用来缓和CPU和磁盘速度不匹配的矛盾。
- 输入进程和输出进程。用于模拟脱机输入/输出时的外围控制机。
- 井管理程序。用于控制作业与磁盘井之间信息的交换。
SPOOLing系统的特点:
- 提高了I/O速度。
- 将独占设备改造为共享设备。
- 实现了虚拟设备功能(how?参见共享打印机)。
共享打印机:(PPT-5-125|课本P222)
课本中最后一段的摘抄:
对每个用户而言,系统并非即时执行其程序输出数据的真实打印操作,而只是即时将数据输出到缓冲区,这时的数据并未被真正打印,只是让用户感觉系统已为他打印;真正的打印操作,是在打印机空闲且该打印任务在等待队列中已排到队首时进行的;打印操作本身也是利用CPU的一个时间片,没有使用专门的外围机;以上过程对用户不可见。
取自课后22题:在实现后台打印时,SPOOLing系统应为请求I/O的进程提供哪些服务?
驱动程序处理流程(PPT-5-87)
- 将抽象要求转换为具体要求。例如对磁盘的访问。
- 检查I/O请求的合法性。例如拒绝从打印机输入数据;用户对文件的读写权限。
- 读出和检查设备的状态。例如仅当检查到设备接收就绪才启动设备控制器进行写入,否则等待。
- 传送必要参数。例如课本P208。。。(这里传参完毕应该就是设置了工作方式)
- 启动I/O设备。启动了一个I/O操作后,驱动程序就把自己阻塞起来,直到中断到来时才被唤醒。
中断程序处理流程(PPT-5-71)
- 唤醒被阻塞的驱动程序。
- 保护被中断进程的CPU环境。
- 转入相应的设备处理程序。
- 中断处理。首先从设备控制器中读出设备状态,判别本次中断是正常完成中断,还是异常结束中断。若是正常完成中断,中断程序便进行结束处理;若还有命令,可再向控制器发送新的命令,进行新一轮的数据传送。若是异常结束中断,则根据发生异常的原因做相应的处理。
- 恢复被中断进程的现场。
文件系统的组成及功能
三层模型:(PPT-6-15|课本P240)
- 对象及其属性: 文件;目录;磁盘(磁带)存储空间
- 对对象操纵和管理的软件集合
- 文件系统的接口:命令接口;程序接口
文件系统的功能:
- 对文件存储空间的管理。
- 对文件目录的管理。
- 将文件的逻辑地址转换为物理地址的机制。
- 对文件读写的管理。
- 对文件的共享与保护。
提供用户接口。
这大题,每样做个题吧。
PV操作(进程同步互斥问题)
请用信号量实现下图所示前驱关系。
进程调度算法(FCFS,SPF,优先数,高响应比优先)课本P95-98
不写了
磁盘调度算法(课本P233)
页面置换算法(课本P175)
逻辑地址转换
参考链接:
https://wenku.baidu.com/view/3738de67f5335a8102d2201c.html
https://blog.csdn.net/qq_25843323/article/details/50457499
https://blog.csdn.net/weixin_44841312/article/details/107022792