软件设计师---操作系统

重点:银行家算法、pv操作、文件管理、存储管理、操作系统的分类及其特点

操作系统的作用:

  • 管理系统的硬件、软件、数据资源

  • 控制程序运行

  • 人机之间的接口

  • 应用软件与硬件之间的接口

一.操作系统概述

操作系统与计算机体系结构之间的关系

操作系统具备的管理职能

1.进程管理:包括(1)进程的状态;(2)前趋图;(3)pv操作;(4)死锁问题。

2.存储管理:包括(1)段页式存储;(2)页面置换算法。

3.文件管理:包括(1)索引文件;(2)位示图。

4.作业管理

5.设备管理 包括:数据传输控制方式

6.微内核操作系统:包括虚设备与SPOOLING技术


二.进程管理—进程的状态

程序的三种基本状态(三态模型)

图注:等待状态下的程序缺少除cpu资源以外的其他资源,如用户指令或外设支持等资源;就绪状态的程序除了CPU资源以外的所有资源都已经准备就绪;处于就绪状态的程序需要排队获取CPU资源,且即使获取到了CPU资源,他们的运行时间也是有限的,因此,时间片到了以后就会从运行状态退出到就绪状态,而程序在运行时出现了某些资源的缺失则会退出至等待状态.

程序进程的五态模型(三态模型的发展)

 图注:该模型是三态模型的发展,将就绪状态分为了静止就绪和活跃就绪,静止就绪是该进程已经获得了CPU资源,但由于人为需要,由运行状态将其退出至就绪状态,如我们在听歌时突然来了电话,我们暂时将音乐关闭,这种人为的将程序由运行态转至的就绪态,即为静止就绪,再次调动该程序时,该程序就将由静止就绪转至活跃就绪进而被调用;此外,阻塞态即为三态模型中的等待态
 

进程控制块的组织方式

分为索引方式链接方式

1.链接方式:把具有同一状态的进程(PCB),用其中的链接字链接成一个队列。这样,可以形成就绪队列、若干个阻塞队列和空白队列等。对其中的就绪队列常按进程优先级的高低排列,把优先级高的进程排在队列前面。此外,也可以根据阻塞原因的不同而把处于阻塞状态的进程的PCB排成等待I/O操作完成的队列和等待分配内存的队列等

2.索引方式:系统根据所有进程的状态建立若干索引表。例如,就绪索引表、阻塞索引表等,并把各索引表在内存的首地址记录在内存的一些专用单元中。在每个索引表的表目中,记录具有相应状态的某个PCB在PCB表中的位置
 

三.进程管理——前趋图

ps.常与pv操作结合起来考察

前趋图的概念

1.概念:前趋图是将一个完整的进程所需的工序按照是否具有先后关系将进程进行再次区分的图象

2.模型示例:

图注:该前趋图以包饺子这一工序为例,首先将包饺子分为了五大步骤,并根据步骤间是否具有先后约束关系将其分为三个大的步骤,这样做的好处是明确了A,B,C三个步骤是平行的,他们之间可以并行,这样可以增大CPU的处理效率。 

四.进程管理——进程的同步与互斥

ps.进程的同步与互斥是进行pv操作分析的前提

进程的互斥

1.互斥的概念:在同一时刻只允许某一个进程使用资源,即同一资源不能服务于多个进程

2.互斥的实际应用示例:

图注:单缓冲区下生产者和消费者的关系即为互斥,即生产者将产品投入到市场的时间片内消费者不能进行消费,只有当生产者完成产品的市场投放之后,消费者才能开始消费;这其中生产者的产品投放以及消费者的消费。都可以看作是程序的两个进程

进程的同步

1.同步的概念:运行速度有差异的两个进程同时开始运行,在一定情况下,速度较快的进程会停下来等待速度较慢的进程

2.进程同步的实际应用示例:

图注:多缓冲区下生产者和消费者的关系即为同步,即生产者在将产品投入市场的同时,消费者也能够对产品进行消费。但若一方速度较快,则另一方需要停下来等待 

五.进程管理——pv操作

与pv操作相关的几个概念

1.临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机,磁带机等。

2.临界区:每个进程中访问临界资源的那段代码称为临界区。

3.信号量:是一种特殊的变量,符号为s,只用于pv操作

p操作

图注:S代表信号量,该操作表示:S自减一,然后判断是否小于零,若小于零则将该进程阻塞起来,并将其放入进程队列中,让进程处于等待状态,若不小于零,则表示可以往下面执行;该操作即为将进程“挂起”或“申请资源”,该操作一般用于”运行需要条件的操作“

v操作

图注:该操作表示:S自增一,然后判断S是否小于等于零,若是,则从进程队列中拿出一个进程,并唤醒该进程,使其继续执行;若不是,则可以继续往下面的步骤执行;该操作即将进程“唤醒”或“释放资源”,一般将该操作用于”没有任何约束的上来就可以运行的操作“

pv操作实例

图注:该图为单缓存区下生产者与消费者在市场消费中的pv模式图,生产者的操作有:生产产品,送产品到缓存区;消费者的操作有:从缓存区取产品,消费产品;在这个模型中加如了pv操作后极大的提高了模型的效率,其中p(s1)表示将S1的值代入p操作,V(s2)表示将S2的值代入v操作

此外:pv操作的根本目的是为了解决两个或多个进程运行时的约束关系造成的麻烦,如上例中的单缓存区市场消费问题;此外,有制约关系的操作双方信号量相同

pv操作与前趋图

即pv操作与前趋图结合起来考察

 图注:这种例题通过观察箭头的指向来解题,被指箭头用p操作,指向箭头就用v操作,有几个箭头就用几次。

六.进程管理——死锁问题


死锁

1.问题描述:进程管理是操作系统的核心,但如果设计不当,就会出现死锁问题,如果一个进程在等待一件不可能发生的事,则进程就死锁了,此时该进程将一直占用部分系统资源,而如果多个进程产生死锁,就会造成系统资源被占用完毕,进而造成系统死锁

2.解决方案:提高系统资源容量;常见习题:计算机系统至少需要多少资源将不可能发生死锁问题;例如:

图解:一个进程在得到所有所需资源之后将释放自身占用的资源,因此该例题至少需要13个资源则不可能发生死锁。计算方法:将每个进程所需资源减去一然后把他们相加,总数再加一,即为避免死锁所需的最少资源

发生死锁的四大必要条件

1.进程互斥

2.保持和等待:在资源总量并未满足完成进程所需资源的总量前提下,每个进程都保持自身占用的资源不变并且一直等待其他进程完成以获取其释放的系统资源

3.不剥夺:系统不会把已分配给一个进程的资源剥夺掉分配给其他进程

4.环路等待:如总共有三个进程,A等待B,B等待C,C等待A;诸如此类的,等待的进程形成了一个闭合环状

注:死锁的预防就是通过打破四大条件来进行
 

死锁的避免

有两大方法,分别是:

1.有序资源分配法:将系统资源按照顺序分配给进程,一个进程完成后才将资源分配给下一个进程

2.银行家算法

银行家算法

该方法是避免死锁问题的常用方法

1.银行家算法的内容:它的内容即为分配资源的原则,包括:

(1).当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程

(2)进程可以分期请求资源,但请求的总数不能超过最大需求量

(3).当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使该进程在有限的时间里得到资源

2.银行家算法涉及到的题型:
 

 

图解:解决该类问题,首先将系统所剩资源数计算出来,然后将每个进程还差的资源数计算出来,进行比较之后,将系统资源分配给差的最少的进程,进而让其释放资源,然后进行下一个所需资源较少的进程的分配,,由此将进程执行的顺序计算出来 

七.存储管理——分区存储组织


以一个例题为例,描述四个算法:首次适应法,最佳适应法,最差适应法,循环首次适应法;它们的概念及关系;例题:某计算机系统的内存大小为128k,采用可变分区分配方式进行内存分配,现有作业4申请内存9k,几种不同的存储分配算法在分配中,会产生什么样的结果呢?

首次适应法

图注:首次适应法会把即将执行的作业安排在第一个能够容纳它的空间

最佳适应法

图注:该算法会把即将执行的作业安排在内存空间与它最接近的空间进行存放,如该例子中,作业4占据空间9k,通过该算法,计算机就将其存放在了空间为10的地址中;由于在每次存放作业以后内存空间剩余量极低,长期以后该算法会造成内存空间碎片化,降低内存地址的利用率

最差适应法

图注:该算法能够解决内存空间碎片化的问题,如图所示:该算法优先将作业存放至内存空间最大的地址.

循环首次适应法

 

 图注:该算法是将空闲的区域连成环状,将作业在环状区域内顺次进行分配(从第二个空闲区域开始分配)

八.存储管理——页式存储,段式存储,段页式存储

页式存储组织

1.提出背景:为了解决碎片化的存储

2.概念:把用户程序分成等分大小的n个“页”(并将其编号),再在地址空间中以nk为基数划分等大小的块(同样将其编号,块号又称页帧号),运行用户程序时不再将整个程序进行运行,而是根据需要分批次将页调入到块中运行,而页和块之间的对应关系用页表来记录

3.页式存储组织的优缺点:优点:利用率高,碎片小,分配及管理简单

缺点:增加了系统开销(系统每次读取程序都需要先读取页表将其定位,再进行程序的读取);可能产生抖动现象

4.如图:

图注:页号与页帧号的关系必须通过表来进行查询 

5.逻辑地址和物理地址

 图注:要求物理地址,要先把逻辑地址(由图可知,逻辑地址由页号和页内地址组成)当中逻辑的页号和页内地址分开,要把它们分开,首先将页面大小写成二进制的形式,等于2^n;则说明一个页的页内地址有n位,而在逻辑地址中高于(从右往左)n位的部分就是页号,得到页号之后进行查表,得到相应的页帧号,而物理地址=页帧号+页内地址(该式子中的“+“是拼接,并非做加法)

段式存储组织

1.概念:按逻辑结构进行内存的划分,划分为n个段,每一个段的大小无要求,可以相等也可以不等,包括段号和段内地址,例如:可以将main主函数作为一个段,然后将第一个子函数作为一个段,然后将第二个子函数作为一个段......

2.

图注:该种存储方法按函数之间的逻辑对内存进行划分,大小差异较大,存在段表,段表的内容包括段号,段长以及基址,基址:就是该段在地址的起始位置。优点:多道程序共享内存,各段程序修改互不影响。缺点:内存利用率低,内存碎片浪费大

段页式存储组织

图注:段页式存储是结合了段式和页式的一种存储组织,将内存先分段,再分页;优点:空间浪费小,存储共享容易,存储保护容易,能够动态连接;缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降(程序在执行时要先查段表,再查页表,使得系统资源消耗增加)

快表

1.概念:快表是一块小容量的相联存储器,由高速缓存器(放在cache之中)组成,速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号
 

九.存储管理——页面置换算法

1.产生背景:当程序的需要与系统资源的供给发生矛盾时的一种解决方案,即将不用的页面淘汰掉,置换为需要执行的页面

2.页面置换算法的内容:包括四种算法:(1)最优算法:尚处于理论层面

(2)随机算法:随机淘汰一个页面

(3)先进先出算法(FIFO):即淘汰时按照之前执行的先后顺序进行淘汰,有可能产生“抖动”(抖动即:把经常用到的页置换出去,要用的时候发现没有内存了,造成进程中断)。例如,432143543215用3个页面,比4个缺页要少

(4)最近最少使用算法(LRU):即在保证最近使用的页面不被中断的情况下,将最少使用的页面淘汰,不会产生“抖动”

3.相关例题

图注:”没有使用快表“即表示每读一次程序的块,需要先在内存上面查表,才能读取相应的内存块,所以每一个块需要两次内存的访问,所以6个块(在页式存储结构中,每一个页面对应一个块)总共会产生12次对内存的访问;一个内存单元占据1b的内存,所有的指令(无论占据了几个页面)都只产生一次缺页中断,而操作数A和操作数B则各自产生两次缺页中断,因此总共产生了5次缺页中断
 

十.文件管理——索引文件结构

图注:索引一般会有13个节点(默认情况下),从0开始编号,其中索引0到9这十个索引称为直接索引,直接对应物理盘块,每一个物理盘块都对应了索引文件的内容,而索引10则称为间接索引,里面只存储地址,如一个物理盘块的地址大小为4个字节,而一个物理盘块的大小为4k,则4k\4字节等于1024,代表着1024个物理盘块的地址,因此该索引内可以存储的文件大小为4k*1024;该10号索引称之为一级间接索引;索引11则是二级间接索引,即索引的内容还是索引,再索引的内容才是物理盘块

,二级简介索引存储的文件大小即为:4k*1024*1024;虽然分级越多存储的内容越多,但相应的,效率也会更低
 

十一.文件管理——文件和树型目录结构

树型目录结构的路径

1.绝对路径:是从盘符开始的路径

2.相对路径:是从当前路径开始的路径

图注:在该文件树型图中,若文件目录的位置是D1,若要求f2的路径,则绝对路径:/D1/W2/F2;相对路径:W2/F2

文件属性及文件名的组成

1.文件属性:R:只读文件属性 A:存档属性 S:系统文件 H:隐藏文件

2.文件名的组成:驱动器号;路径;主文件名;扩展名

十二.文件管理——空闲存储空间的管理


总共有四种管理方法,分别是:空闲区表法;空闲链表法;位示图法;成组链接法

空闲区表法

1.概念:我们可以用一个表来记录哪些地方是空闲的,以便将其管理起来

空闲链表法

1.概念:把空闲区域都链起来,链成一条链表,然后需要空间分配的时候,从这条链表中划出一部分出来即可

位示图法(重点)

常以计算题方式考察

1.概念:将所有存储区域分成无数个物理块,然后以1表示被占用,0表示空闲,将所有空间进行标记

2.例题:

图注:4195号是第4196个位,因此4196/32=131.125;因此物理块的使用情况应该在第132个字中描述

成组链接法

十三.设备管理——数据传输控制方式


主要是指内存和外设之间的数据传输控制问题,解决方式包括:程序控制方式;程序中断方式;DMA方式;通道;输入输出处理机;前三种要求重点掌握

程序控制方式

1.概念:也称程序查询方式,由这种方式是最为低级的,也是CPU介入最多的一种机制,即整个数据的传输控制很多时候都要CPU的介入,此时外设会处于非常被动的位置,即不会主动的去返回信息,如是否完成等信息,而是由CPU主动发出查询指令,进而对信息进行查询

程序中断方式

1.概念:大部分与程序控制方式相同,但相较于程序控制方式,由于增加了中断方式,主动性更强,即:如果外设完成了数据的传输等操作,外设会发出中断指令,效率比程序控制方式更高

DMA方式

1.概念:也称直接存储器存取方式,在该方式中,会有专门的DMA控制器,只要是外设和内存之间的数据交换过程,就由这个控制器进行管控了,CPU只需要在开头的时候做一些介入,如初始化等操作

设备管理的五个层次

由上到下依次是:用户进程、与设备无关的系统软件、设备驱动程序、中断处理程序、硬件
 

十四.虚设备与SPOOLING技术


SPOOLING技术

1.概念:例如:四个人通过远程手段准备使用一台打印机,而这台打印机在同一段时间内只能让一个用户使用,若一个用户正在使用该打印机,另一名用户试图使用该打印机时就会提示该打印机被占用,,事实上这样做使得打印机的技术非常的低,而面对这个问提,采用了SPOOLING技术的打印机会进行如下操作:给打印机创建一个缓存区,每一个用户在打印时都会进入缓存区,而从缓存区到真正打印则需要挨个排队,即打印机在打印时不再排斥其他用户的打印操作,而是将其缓存起来,在将当前操作完成后立即进行第二个操作,这样做不仅使得用户的操作界面变得更为友好,也极大的提高了打印机的打印效率

十五.微内核操作系统


即把内核做得更小的操作系统

1.概念:把内核做的更小具有许多好处与优势,如提高了可靠性,稳定性,安全性;因为操作系统作为核心的系统软件,如果操作系统出现故障,就会影响整个系统的运行,将内核做的更小就会降低故障的发生率

2.单体内核和微内核的区别及各自优缺点如下图所示

Linux系统的常用命令

attrib:声明

modify:修改

chmod:修改文件权限

change:改变

猜你喜欢

转载自blog.csdn.net/h18377528386/article/details/124243324