操作系统

黑色的灵眸大约 10 分钟软考重点

操作系统

进程管理

进程状态

进程状态
进程状态

进程状态是指操作系统中对进程进行管理时,为进程指定了几种状态。以便于给进程分配相应的资源。

最初只分了运行,等待,就绪\color{red}运行,等待,就绪三种状态。

运行态指的是这个进程所需要的所有资源都已经配足了,并且给它CPU资源,此时就属于运行状态。

就绪态指的是其他所有资源,只缺CPU资源,这种状态是一种万事俱备只欠东风的状态。

等待态指的是缺其他资源,也没CPU资源,与外设有交互,或者等待指令之类的状态。

三态转换关系

运行状态一旦缺某种资源,就进入了等待状态。

等待状态下获取到了某种资源,就会进入就绪状态。

注意,等待状态不能进入运行状态。这意味着就算你资源获取足够了,你也得乖乖去排队,去到就绪状态,等CPU资源分配。

就绪状态排队的时候,等CPU给到资源,就可以进入到运行状态。

进入运行状态不见得就能完成所有的任务,因为CPU资源相当宝贵,大家都需要获取。往往是就绪到运行只运行一个时间片的时间,等到时间片结束了,此时就会进入等待态。

但是三种状态不足以涵盖现实的各种情况,比方人为的管控进程,挂起进程。于是有了五种状态。

五态下的活跃就绪态即是三态中的就绪态。活跃阻塞态就是三态中的等待态。

五态转换关系

增加了一种挂起操作\color{red}挂起操作,但是运行状态并且人为挂起时,就会进入到静止就绪态。

当静止就绪态恢复或激活,就重新进入到活跃就绪态。

活跃阻塞也可以挂起进入到静止阻塞。

前趋图

概念:表达要完成的一系列活动先后的约束关系,哪些是有先后关系的、哪些是并行的。

前趋图示例
前趋图示例

同步与互斥 (pv操作的前提)

互斥\color{red}互斥:在同一时刻,只允许某一个进程访问资源。同一个资源不能同时服务于多个进程。

同步\color{red}同步:速度有差异,在一定情况停下等待

例:生产者和消费者问题

单缓冲区

市场容量只有一,存放了一个物品,他就不能再存放了。

在同一时刻,只能有一类人进去操作,这就是互斥。

生产者要停下脚步,等消费者消费这个产品,才能继续往里面存东西,这就是同步。

多缓冲区

相比起单缓冲区,只是在同步的时候可以放更多的东西。比如不再限制放一个可以放十个。放满之后才会停下来,等消费者。

缓冲区
缓冲区

pv操作

临界资源:进程间需要互斥方式对其进行共享的资源

临界区:每个进程中访问临界资源的那段代码,临界区即代码段

信号量:是一种特殊的变量

pv
pv
pv例题
pv例题

答案为 A C

死锁问题

某一时刻 ,所有资源都已经分配出去了,而所有的进程都无法完成他的任务并释放他占有的资源,这时候就产生死锁。

N个进程,k个资源

解决:至少需要k*(n-1)+1 个资源

死锁有四大条件,缺少一个都无法形成。

条件一是互斥,资源只允许其中一个进程使用。

条件二是保持和等待,当进程缺少资源,会保持和等待系统给他分配更多的资源。

条件三是不剥夺,是指系统不会剥夺这个进程的资源。

条件四是环路等待,比如ABC三个进程,a在等待b释放资源,b等待c释放资源,c等待a释放资源。

死锁的避免:有序资源分配法、银行家算法

银行家算法:分配资源的原则

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

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

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

例子:

  • 求现有资源=可用资源数-已分配资源总数
  • 求需要资源=最大需求量-已分配资源数
  • 需要资源与现有资源比较 现有资源’=现有+已分配

现有资源=现有资源’

继续比较

死锁
死锁
银行家例题
银行家例题

答案为 B

存储管理

页式、段式、段页式存储组织

1)页式存储组织

优点:利用率高,碎片小,分配及管理简单

缺点:增加了系统开销,可能产生抖动现象

高级程序语言使用逻辑地址

运行状态,内存中使用物理地址

逻辑地址与物理地址异同

同:页内地址相同,∵调用时以页为单位,以页为单位的偏移量不会有变化

异:页号不同;逻辑地址页号对应物理地址块号

2)段式存储组织

优点:多道程序共享内存,各段程序修改互不影响

缺点:内存利用率低,内存碎片浪费大

3)段页式存储组织

优点:空间浪费小、存储共享容易、存储保护容易、能动态连接

缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内存也有所增加,使得执行速度大大下降

4)快表

快表是一块小容量的相联存储器,有高速缓器组成,速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动的页面的页号。

快表放在cache,慢表放在内存

分区存储组织
分区存储组织
页式存储组织
页式存储组织
页式存储组织例题
页式存储组织例题

答案为 D B

段式存储组织
段式存储组织
段页式存储组织
段页式存储组织

页面置换算法

最优(OPT)算法

随机(RAND)算法:随机淘汰一个,性能不稳定

先进先出(FIFO)算法:【有可能产生抖动:分配资源多了,性能反而不好】淘汰最先进入内存的页面

最近最少使用(LRU)算法:【不会抖动:分配资源越多,性能越好】刚访问的不淘汰(按顺序划掉数字,不在的话,划掉最前面的数字,换;在的话,划掉相同的数字,不换)

(内存里没有即为缺页)

页面置换算法
页面置换算法
练习题
练习题

答案为 B C

文件系统

文件和树形目录结构

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

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

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

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

索引文件
索引文件
索引文件例题
索引文件例题

答案为 C D

文件和树形目录结构
文件和树形目录结构

空闲存储空间的管理

空闲区表法:用表记录空闲,以便管理

空闲链表法:将空闲区链成一条链表,需要空间分配时在链表上划出相应空间

成组链接法:以分组分链方式

位示图法:位示图的形式,1表示已占用,0表示空闲

位示图法
位示图法
位示图法例题
位示图法例题

答案为 B

设备管理

数据传输控制方式(内存和外设之间)

程序控制方式:最低级、CPU介入最多的方式,外设被动反馈,需要CPU发送对应指令

在程序控制方式下,由CPU执行程序控制数据的输入输出过程。

程序中断方式:主动性强、有中断机制,当外设完成相应数据传输和发布,会发一个中断,系统进行下一步处理。

在中断方式下,外设准备好输入数据或接收数据时向CPU发出中断请求信号,若CPU决定响应该请求,则暂停正在执行的任务,转而执行中断服务程序进行数据的输入输出处理,之后再回去执行原来被中断的任务。

DMA方式:直接存取控制方式,有专门的DMA控制器,外设和内存的数据交换过程由DMA控制器管控,CPU只在开头介入,整个过程由DMA控制器完成、监管,完成后再由CPU进行后续工作,效率更高。

在DMA方式下,CPU只需向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU的负担,可以大大节省系统资源。

CPU是在一个总线周期结束时响应DMA请求的。

DMA控制器在需要的时候代替CPU作为总线主设备,在不受CPU干预的情况下,控制I/O设备与系统主存之间的直接数据传输。

DMA操作占用的资源是系统总线,而CPU并非在整个指令执行期间即指令周期内都会使用总线,故DMA请求的检测点设置在每个机器周期也即总线周期结束时执行,这样使得总线利用率最高。

通道:字节多路通道、选择通道

输入输出处理机

数据传输控制方式
数据传输控制方式

虚设备与SPOOLING技术

输入设备 -> 输入缓冲区 -> 输入井

输出设备 <- 输出缓冲区 <- 输出井

在磁盘上开缓冲区解决速度之间的矛盾差异。

虚设备与SPOOLING技术
虚设备与SPOOLING技术

微内核操作系统

微内核操作系统:将内核做的更小的操作系统,体现在可靠性、稳定性、安全性

用户态:在核心态之外去运行,出现故障可以用一定方式解决

核心态:微内核中内核的运行情况,出现故障情况就会比较严重

用户态和核心态之间有交互,普通东西在用户态处理,与系统内核紧密关联才在核心态处理。

微内核操作系统
微内核操作系统
Loading...