目录
前言
操作系统第四版期末复习总结。基于本校期末考试老师所划重点,对重点章节进行归纳与总结。
一、第一章——绪论
1、操作系统概念
(1)操作系统:管理整个计算机系统的软/硬件资源,是用户与计算机硬件的桥梁,是其他软件和程序运行的基础。
(2)操作系统可以控制CPU的工作,访问存储器,进行设备驱动和设备中断处理。
(3)作为系统资源的管理者,操作系统主要做以下工作: (1) 监视各种资源,随时记录他们的状态。 (2)实施某种策略以决定谁获得资源,何时获得,获得多少。 (3)分配资源供需求者使用。 (4)回收资源,以便再次分配。
2.操作系统的基本类型
(1)多道程序系统:允许多个程序同时进入内存,并允许交替在CPU中运行,共享系统中的各种软/硬件资源。
(2).多道批处理作业: a.多道:将多个作业存放在外存中,组成一个后备队列,系统按照一定调度原则从后备队列中选取一个或多个作业进入内存运行,从而在系统中形成一个自动转接的、连续的作业流。 b.成批:在系统运行过程中,不允许用户与其他作业发生交互作用。
(3).多道批处理系统的三个主要特征:a.用户脱机使用计算机:从作业提交后到获得结果前,用 户无法交互。 b.成批处理作业。 c.多道程序并行:充分利用系统资源。
缺点:无交互性。用户一旦提交作业就失去了对其运行的控制能力。由于是批处理,所以作业的周转时间长,用户使用不便。
(4)分时操作系统:把处理器的时间分成很短的时间片,轮流分配给联机的作业使用。(如果某作业在分配给它的时间片用完时仍未完成,则该作业暂时中断,等待下一轮运行,并把处理器的控制权转让给另一个作业使用。)
优点:每个用户作业能得到快速响应,以实现人机交互
(5)实时操作系统:在允许的时间范围内做出响应,要求计算机对于外来信息能以足够快的速度进行处理,并在被控对象允许时间范围内做出快速响应。
3.操作系统的功能
(1)处理机管理:CPU时间的分配。(处理机调度)
(2)存储管理:对内存储器进行合理分配,有效保护、扩充内存可被CPU和I/O设备共同访问。
(3)设备管理:管理物理设备、主机与外设,外设之间的速度匹配问题。
(4)文件管理:对软件资源的管理,为用户提供简便的、统一的存取和管理信息的方法,解决信息的共享,数据的存取控制和保密等问题。
(5)用户接口管理:用户与计算机的交流是通过操作系统的用户接口完成的(1.操作界面。2、操作系统的功能服务界面)
二、第二章——操作系统用户界面
(1)作业的定义:在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。
(2)系统调用:是操作系统提供给编程人员的唯一接口。调用系统中已有的系统功能来完成与计算机硬件部分相关工作以及控制程序的执行速度。
三、第三章——进程管理
1.进程
(1)进程:可并发执行的程序在某个数据集合上的一次计算机活动,也是操作系统进行资源分配和运行调度的基本单位。
(2)进程的组成:程序、数据集合、进程控制块(PCB)
a.进程控制块是随着进程的创建而建立,随着进程的撤销而取消。b.PCB是进程存在的唯一标志,用来记录和刻画进程状态及有关信息的数据结构。 c.PCB应该常驻内存。
(3)进程创建的原因:1.用户登录。 2.提供服务。 3.作业调度。 4.应用请求。
(4)进程状态转换:
(5)进程创建方式:1.由系统程序模块统一创建。 2.由父进程创建。 进程撤销方式:1.该进程已完成所要求的功能而非正常终止。 2.由于某种错误导致非正常终止。 3.祖先进程要求撤销某个子进程。 进程阻塞方式:一个进程期待某一事件发生,但发生条件尚不具备时,该进程自己调用来阻塞自己。 进程唤醒方式:1.由系统进程唤醒。 2.由事件发生进程唤醒。(进程A由于等待事件B发生,而使得进程A自己阻塞自己,当事件B完成之后就唤醒进程A)
2、PV操作
(1)原语分为两类:1.机器指令级。执行期间不允许中断。 2.功能级。作为原语的程序不允许并发执行。
(2)临界区:不允许多个并发进程交叉执行的一段程序。
(3)信号量:初始值为正整数。信号量sem>=0表示可供并发进程使用的资源实体数。sem<=0表示正在等待使用临界区的进程数。(信号量仅能通过PV操作访问)
(4)互斥:一组并发程序中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不允许交叉执行的单位执行。
(5)PV原语实现互斥如上。
(6)间接制约:对公有资源的竞争。 直接制约:一组在异步环境下的并发进程,各自的执行结果互为对方的执行条件,从而限制各进程的执行速度的过程。
(7)同步:在异步环境下,一组并发进程因直接制约而进行相互合作、相互等待,使得各进程按一定的速度执行的过程。
(8)PV原语实现同步如下。
3、进程通信
(1)根据通信内容划分为两种:1.控制信息的传递(低级通信),如PCB,PV。 2.大批量数据传送(高级通信) 【高级通信包括三种方式:a.消息缓冲机制。 b.邮箱通信。 c.共享存储区。】
a.消息缓冲机制:发送方向系统申请一个消息缓冲区,设置一个发送区--->把要发送的消息填入发送区--->把发送区的消息m送入消息缓冲区--->把消息缓冲区挂入接收进程的消息队列。 接收方摘下消息队列中的消息n--->将消息n从缓冲区复制到接收区--->释放缓冲区。 【注:这里的缓冲区被所有进程共享,不保密。并且这里的消息m和消息n不一定相等,发送方只是把消息m送到消息队列,接收方只是在消息队列上按序拿下消息n。】
b.邮箱通信:发送进程申请建立一个与接收进程链接的邮箱--->发送方把消息送往邮箱--->发送方把消息送往邮箱--->接收进程从邮箱中取出消息。【无时间限制,消息可私有】
4、死锁
(1)死锁:各并发进程相互等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成都想得到资源而又得不到资源,各并发进程不能继续向前推进的状态。
(2)死锁的起因:并发进程的资源竞争。
(3)死锁产生的必要条件:1.互斥条件。 2.不剥夺条件。 3.部分分配。 4.环路条件
5、线程
(1)线程是进程的一部分。与进程相同,是CPU调度的基本单位。
(2)与进程的区别:1.进程是系统中所有资源分配的基本单位。 2.进程拥有完整的虚拟地址空间。 3.进程不依赖于线程而独立存在。 4.线程是进程的一部分。没有自己的地址空间,和进程内的其他线程一起共享分配给该进程的所有资源。
四、第四章——处理机调度
1、分级调度
(1)作业调度(高级调度):对外存输入井上大量后备作业进行选择,将选出的作业分配内存和输入输出设备等必要资源,并建立进程。
(2)交换调度(中级调度):将处于外存交换区中的就绪/等待状态的进程调入/调出内存。
(3)进程调度(低级调度):选取一个处于就绪状态的进程抢占处理机。
(4)线程调度
2、衡量调度策略的指标
(1)周转时间:作业提交给计算机系统后到该作业的结果返回给用户所需要的时间。
(2)吞吐率:在给定的时间内,一个计算机系统所完成的总工作量。
(3)响应时间:从用户向计算机发出一个命令到计算机把相应的执行结果返回给用户所需要的时间。
(4)设备利用率:主要指输入输出设备的使用情况。
3、调度算法的评价指标
(1)CPU利用率:利用率=(忙碌的时间)➗(总时间)
(2)系统吞吐量=(总共完成了多少道作业)➗(总共花了多少时间)
(3)周转时间:a.周转时间=作业完成时间➖作业提交时间 b.带权周转时间=(作业周转时间)➗(作业实际运行时间)
4、进程/作业调度算法
(1)批处理系统
a.先来先服务(FCFS) 优:公平,算法实现简单。 缺:对短作业不利。 【不会饥饿】
b.短作业优先(SJF) 优:“最短的”平均等待时间、平均周转时间。 缺:对长作业不利。 【用户给出的作业运行时间不一定真实。 会饥饿】
c.高响应比优先(HRRN) 【集以上两种算法的优点。 不会饥饿】
(2)交互式系统
a.时间片轮转(RR) 优:公平。 缺:切换有开销,无优先级。 【抢占式,不会饥饿】
b.优先级调度 优:区分优先级,适用于实时系统。 缺:可能导致饥饿 【会饥饿】
c.多级反馈队列 平衡以上两种,优秀。
五、第五章——存储管理
虚拟存储器:把进程中不经常被访问的程序段和数据放入外存中,待需要访问时再将其调入内存。
扩充内存的方法:覆盖、交换、虚存。
源程序---(编译链接)--->虚拟空间---(地址转换)--->物理存储器
1、链接方式
(1)按照物理存储器中的位置赋予实际物理地址。 优:CPU执行速度高。 缺:物理存储器容量限制。必须知道内存当前空闲地址。实现复杂。
(2)编译后链接到一个以0地址为起始地址的线性或多维虚地址空间。a.静态链接:在程序执行前。 b.动态链接:程序执行过程中。
2、地址转化
(1)绝对装入:编译时产生绝对地址的目标代码。
(2)静态重定位:在虚地址空间程序执行之前,由装配程序完成地址映射工作。(必须占用连续内存)
(3)动态重定位:在程序执行过程中,在CPU访问内存之前,将要访问的程序或数据地址转换成内存地址。
3、内存管理(分区,段式,页式,段页式)
外部碎片是指在完整的内存中有不能使用的内存块。内部碎片是指在某个内存块被分配个一个进程之后,该进程并没有用到一部分的内存,而这部分内存就是内部碎片。
(1)分区管理:a.固定分区法:把内存固定划分为若干个大小不等的区域,一个分区只有一道作业。【无外部碎片,有内部碎片,支持多道程序】 b.动态分区法:根据进程的大小动态建立分区。 对空闲分区: ①最先适应算法:以地址递增。【开销小,性能最好】 ②最佳适应算法:容量递增,会有大分区留下,产生碎片小。【开销大】 ③最坏适应算法:容量递减,减少难以利用碎片,大分区少。【开销大】
【注:分区管理划分的是内存,连续分配】
(2)页式管理:a.静态页式管理:在作业或进程开始执行前,把程序段和数据全部装入到内存的各个页面中,并通过页表和硬地址变换机构实现虚拟地址到内存物理地址的地址映射。 b.动态页式管理:Ⅰ.请求页式管理:当需要执行某条指令而又发现它不在内存时,即发生缺页中断,系统将外存中相应的页面调入内存。 Ⅱ.预调入页式管理:系统对那些在外存中的页进行调入顺序计算,估计出这些页中指令和数据的执行和被访问顺序,并按此顺序将它们顺次调入/出内存。
【书上讲解的是请求页式管理,当发生缺页时调用以下置换算法】 ①随机淘汰算法。 ②轮转算法。 ③先进先出(FIFO):类似链表,把各个页表按照先后顺序连接,当缺页时则置换出最后一个页面,将新页面挂到队头。【有时会出现分配的页面数越多,缺页反而增加的现象,即Belady现象】 ④最近最久未使用(LRU):比如 1 2 3 4 0,若在调入0页面前需要淘汰一个页面,而此时页面中已经有 2 3 4 这三个页面,则需要淘汰2页面。 ⑤理想型淘汰算法:淘汰将来再也不出现或离当前最远的页。(无法实现)
【注:划虚拟空间和内存,一维,二次访存,非连续】
(3)段式管理
1.调入时有足够空闲区--->使用动态分区方式对空闲区进行分配。
2.无足够空闲区--->使用动态页式的淘汰算法。若淘汰一段仍满足不了调入段的内存需求,则应淘汰另外段,直到满足。
【注:段定义一组逻辑上完整的程序或数据。二维,二次访存,非连续】
(4)段页式管理
【注:三次访存】
优化:使用快表(高速联想寄存器),加快地址变换
(5)页式,段式,段页式优缺点
页式: 优:没有外碎片,每个内碎片不超过页的大小。 缺:程序全部装入内存,要求有相应硬件支持。
段式: 优:可动态增长,可共享,便于实现动态链接。 缺:开销大,每段长度受内存可用区大小的限制。
段页式:集以上两种优点。 缺:开销大,复杂。
六、第八章——文件系统
文件:一组赋名的相关的字符流的集合,或是相关联记录的集合。(记录是有意义的信息单位)
文件系统:与管理文件有关的软件和数据。
1、文件的逻辑/物理结构
(1)逻辑结构:a.字符流式的无结构文件 :适用于对基本信息单位操作不多的文件。 b.记录式的有结构文件 : 【便于对文件中的记录进行修改、追加、查找和管理 等】①连续结构 ②多重结构 ③转置结构 ④顺序结构
(2)物理结构:a.连续文件:适用于不经常修改的,方便存取。 b.串联文件:可动态增长,只能顺序搜索。 c.索引文件:在存取文件时需要至少访问存储器2次,可动态增长,随机存取。
2、文件存储设备/存储空间管理
(1)存储设备
a.顺序存取设备:磁带 优:容量大,顺序存取时速度快。 缺:随机或按关键字存取销量不高
b.直接存取设备:磁盘
(2)存储空间管理
a.空闲文件目录:把文件存储设备中的空闲块的块号统一放在一个称为空闲文件目录的物理块中。
b.空闲块链:把所有空闲块链接在一起。
c.位示图:在内存中划出若干个字节,为每个文件存储管理建立一张位示图,位示图反映每个文件存储设备的使用情况。 (0--->空闲块)
3、磁盘调度算法
(1)先来先服务算法(FCFS): 优:处理简单。 缺:平均寻道长度长。
(2)最短寻道时间算法(SSTF): 贪心算法,最先处理距离磁头最近的进程。 优:平均寻道时间短 缺:距离磁头远的会饥饿。
(3)扫描(电梯调度算法(SCAN)): 沿一个方向扫描,碰到最后一个之后反弹。
(4)循环扫描算法:一直向左/右扫描。(如果向左碰到最后一个,则再回到最右的一个,然后重新再向左扫描)
4、文件目录管理
(1)文件说明(FCB):至少包括文件名、与文件名相对应的文件内部标识以及文件信息在文件存储设备上第一个物理块的地址。(文件说明组成目录文件)
(2)目录文件:文件系统利用目录文件完成按名存取和对文件信息的共享与保护。
(3)文件目录:a.单级目录:整个系统只有一张目录表,每个文件只占一个目录项。按名存取,不能重名。【适用于单用户系统】 b.二级目录:①主文件目录:记录用户名及相应用户文件目录的存放位置。【适用于多用户系统】 ②用户文件:由FCB组成。【不允许不同用户的文件系统】
c.多级目录(树形目录):不同目录下的文件可重名。
七、设备管理
1、数据传送控制方式
(1)程序直接控制方式:由用户进程来直接控制内存或CPU和外设之间的信息传递。【适用于简单的、外设很少的计算机系统(耗费大量CPU时间)]
(2)中断方式:cpu利用率上升,支持多道和并行。但由于缓冲寄存器通常较小,所以发生中断次数较多,当CPU无法响应中断时出现数据丢失现象。
(3)DMA方式:要求传送的数据块全部传送结束时发起中断,另外数据传送是在DMA控制器下完成的,不经CPU。
(4)通道方式:通道是指专管输入输出控制的处理机,控制设备与内存直接进行数据交换。【与DMA的区别是,DMA要求CPU执行设备驱动程序来启动设备,给出存放数据的内存和起始地址以及操作方式和传送字节长度等;而通道控制方式则是在CPU发出I/O启动命令之后,由通道指令来完成这些操作。】 注:如下图是通道方式的控制图
2、中断技术
(1)中断:在计算机执行程序期间,系统内发生急需处理的事件,使得CPU暂时中断当前程序而转去执行相应事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新进程执行。
(2)中断源:引起中断发生的事件。
(3)中断请求:中断源向CPU发出的请求中断处理信号。
(4)禁止中断:中断允许位被清除,不允许CPU响应中断。
(5)中断屏蔽:中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。
(6)中断向量:中断处理程序的入口地址。
(7)根据中断源产生的条件分为:a.内中断(陷进):在处理机和内存内部产生的中断。 b.外中断:来自处理机和内存外部的中断。
(8)中断处理过程:
3、缓冲技术
(1)缓冲技术的引入:为了匹配外设与CPU之间的处理速度,减少中断次数和CPU的中断处理时间,也为了解决DMA或通道方式时的瓶颈问题。
(2)实现缓冲的两种方法:a.采用专用硬件缓冲器。 b.在内存中划出一块具有n个单元的专用缓冲区。
(3)缓冲技术: a.单缓冲:设备和处理机之间设置一个缓冲器。【不能并行操作】 b.双缓冲: 终端---(data)--->缓冲区---(读取数据)--->CPU---(输出数据)--->缓冲区---(data)--->打印机 c.多缓冲:把多个缓冲区连接起来分成两部分(一部分专门输入,一部分专门输出) d.缓冲池:把多个缓冲区连接起来统一管理,既可用于输入又可用于输出。
【注:缓冲器是临界资源】 缓冲池的工作缓冲区如下图:
4、假脱机技术
假脱机技术(SPOOLING):用软件的方式模拟脱机技术。
总结
仅基于本校老师期末所画重点进行梳理。参考王道考研的学习视频,以及教材《操作系统》第四版,清华大学出版社。