操作系统
操作系统
进程管理
进程状态

进程状态是指操作系统中对进程进行管理时,为进程指定了几种状态。以便于给进程分配相应的资源。
最初只分了三种状态。
运行态指的是这个进程所需要的所有资源都已经配足了,并且给它CPU资源,此时就属于运行状态。
就绪态指的是其他所有资源,只缺CPU资源,这种状态是一种万事俱备只欠东风的状态。
等待态指的是缺其他资源,也没CPU资源,与外设有交互,或者等待指令之类的状态。
三态转换关系
运行状态一旦缺某种资源,就进入了等待状态。
等待状态下获取到了某种资源,就会进入就绪状态。
注意,等待状态不能进入运行状态。这意味着就算你资源获取足够了,你也得乖乖去排队,去到就绪状态,等CPU资源分配。
就绪状态排队的时候,等CPU给到资源,就可以进入到运行状态。
进入运行状态不见得就能完成所有的任务,因为CPU资源相当宝贵,大家都需要获取。往往是就绪到运行只运行一个时间片的时间,等到时间片结束了,此时就会进入等待态。
但是三种状态不足以涵盖现实的各种情况,比方人为的管控进程,挂起进程。于是有了五种状态。
五态下的活跃就绪态即是三态中的就绪态。活跃阻塞态就是三态中的等待态。
五态转换关系
增加了一种,但是运行状态并且人为挂起时,就会进入到静止就绪态。
当静止就绪态恢复或激活,就重新进入到活跃就绪态。
活跃阻塞也可以挂起进入到静止阻塞。
前趋图
概念:表达要完成的一系列活动先后的约束关系,哪些是有先后关系的、哪些是并行的。

同步与互斥 (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技术
输入设备 -> 输入缓冲区 -> 输入井
输出设备 <- 输出缓冲区 <- 输出井
在磁盘上开缓冲区解决速度之间的矛盾差异。

微内核操作系统
微内核操作系统:将内核做的更小的操作系统,体现在可靠性、稳定性、安全性
用户态:在核心态之外去运行,出现故障可以用一定方式解决
核心态:微内核中内核的运行情况,出现故障情况就会比较严重
用户态和核心态之间有交互,普通东西在用户态处理,与系统内核紧密关联才在核心态处理。

