软考之操作系统知识
Posted 最小的帆也能远航
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软考之操作系统知识相关的知识,希望对你有一定的参考价值。
目录
1.进程管理-进程的概念
- 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
- 它由程序块,进程控制块(PCB)和数据块三部分组成
- 进程与程序的区别:进程是程序的一次执行过程,没有程序就没有进程
- 程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,它就永远存在
- 程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡
- 进程是系统进行资源分配和调度的独立单位,而程序不是
2.进程的三态图和五态图
- CPU/其他资源I/O(运行)
- CPU调度就绪队列中的进程
- 运行状态时,CPU时间片用完返回就绪状态
- 运行状态时,其他资源被占用返回等待(阻塞)状态
- 其他被占用的资源释放,等待(阻塞)状态,到达就绪状态
- 五态图是在三态图的基础上,提出了挂起的概念,增加了静止和活跃的转化
3.进程的同步与互斥
- 直接制约关系
- 间接制约关系
- 临界资源
4.PV操作应用
购书收银员案例
- 我们可以很容易从图中看出 a1是由上面购书状态转移后的,其实此处看成选书会更好,还没有付款嘛,选完书应该释放进程,所以a1为V操作
- 但是呢,你只是选书完,你还没有付款呢,这时候,肯定不能拿着书就跑了吧?
- 所以a2为P操作,目的是为了阻塞当前进程,不让该进程结束,阻塞之后,调用收银员进程
- 所以b1为P操作,b2为V操作,执行完b2就代表你付完款,而收银员也处理完,接受到你的钱了,所以再唤醒阻塞的购书者进程
- 因此 我们很容易看出 a1:V a2:P b1:P b2:V 至于具体是多少,我们要根据题目去看
- 而在本题,Sn是空间大小,就可以直接获取答案a1:V1 a2:P2 b1:P1 b2:V2
前趋图PV操作应用
- A B C完后时候,会执行V操作,唤醒D操作,执行完之后V操作,唤醒E操作
5.死锁问题
- 进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题
- 如果一个进程在等待一件不可能发生的事,则进程就死锁了
- 而如果一个或多个进程产生产生死锁,就会造成系统死锁
- 例:系统有5个进程:A,B,C,D,E,这5个进程都需要4个系统资源,如果系统至少有多少个资源,则不可能发生死锁
- 就直接算最坏情况,也不死锁就行了呀
- (进程数量)*(需要的资源数-1)+ 1
- 本题:5*(4-1)+1 = 16个资源就行了
死锁关系图
6.银行家算法
银行家算法:分配资源的原则
- 当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程
- 进程可以分期请求资源,但请求的总数不能超过最大需求量
- 当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源
7.存储管理
页式存储管理
- 页式储存:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存
- 程序:逻辑地址(逻辑页)
- 内存:物理地址(物理块)
- 页表中页号就是逻辑页的页号
- 页表中块号就是物理块的块号(页帧号)
- 页内地址都是一样的
- 4KB的页->4×210=212,说明需要12位二进制来表示页内地址
- 剩下的就是页号/页帧号
- 上图所示:页号10->十进制2 对应十进制6->页帧号110
- 加上页内地址就是逻辑地址/物理地址
- 优点:利用率高,碎片小,分配及管理简单
- 缺点:增加了系统开销;可能产生抖动现象
将页面从内存淘汰算法
淘汰原则
- 访问位为0
- 修改位为0
8.段式存储组织
段式存储
- 按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样
- 我们在进行页式存储时,由于页内地址都是一样的,所以我们只需要去需要页号和页帧号就行了
- 但是我们段氏存储时,由于分段的大小不一,所以我们必须了解段的起始位置,和整个段的长度,并且标注好段号
- 这样才能找到相应的内存地址
- 由于段的大小不一致,所以会存在一些碎片
段地址:(段号,不能超过段长)-> 合法地址和不合法地址的考察
优点:多道程序共享内容,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大
9.段页式存储组织
段页式存储
- 段氏与页式的综合体
- 先分段,再分页
- 1个程序有若干个段,每个段可以有若干页,每个页的大小相同,但每个段的大小不同
- 优点:空间浪费小,资源共享容易,存储保护容易,能动态连接
- 缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,能使执行速度大大下降
10.页面置换算法
- 最优(Optimal,OPT)算法:理想算法
- 随机(RAND)算法
- 先进先出(FIFO)算法:有可能产生“抖动”。例如:432143543215序列,用3个页面,比4个缺页要少
- 最近最少使用(LRU)算法:不会“抖动”,LRU的理论依据是局部性原理
时间局限性:刚被访问的内容,立即又被访问
空间局部性:刚被访问的内容,临近的空间很快被访问
11.磁盘管理
- 存取时间=寻道时间+等待时间
- 寻道时间是指磁头移动到磁道所需的时间
- 等待时间为等待读写的扇区转到磁头下方所有的时间
磁盘调度算法
- 先来先服务(FCFS)
- 最短寻道时间优先(SSTF)
- 扫描算法(SCAN):又称电梯算法(上下回来扫描,由内向外,又外向内)
- 循环扫描(CSCAN)算法:又称单向扫描算法(哪里有问题,就去处理哪里)
读取磁盘数据时间计算
读取磁盘数据的时间应包括以下三个部分
- 找磁道的时间
- 找块(扇区)的时间,即旋转延迟时间
- 传输时间
某磁盘从一个磁道移至另一个磁道需要10ms
文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和2ms,则读取一个100块的文件需要20200 ms的时间
解析:(移动的时间×移动的距离+延迟时间+传输时间)×文件块数
(100×100+100+2)×100 = 20200
12.作业管理
作业状态与作业管理
- 主要了解作业管理的过程
- 作业调度在作业执行的过程中,其实就是进程的五态图
- 作业调用——进程五态图——作业终止
作业调度算法
- 先来先服务法
- 时间片轮转法
- 短作业优先法
- 最高优先权优先法
- 高响应比优先法
13.索引文件结构
- 以索引形式链接文件
- 13个索引节点(0-12)
- 0-9 -> 10个直接索引,表示索引节点对应的物理盘快存储的是逻辑页
- 10号索引节点。对应的是一级间接索引,指向的是地指项,指向的具体的物理盘快,才是存储逻辑页
- 11号索引节点。对应的是二级间接索引,指向一个物理盘块,里面存了N个地址项,每个地址项又指向一个物理盘块,每个物理盘快又存N个地址项,一个地址项指向最后一个物理盘快(才是逻辑页的内容)
- 对于0-11号索引节点,一共有10+n+n2个逻辑页
- 对于12号索引节点,n3个逻辑页
- 虽然只有13个索引节点,但是最终表示的逻辑页大小有0+n+n2+n3个
实例解析
- 假设有0-12的索引节点
- 0号索引节点对应的物理盘块号是108
- 也就是说物理盘块号108存储的是0号逻辑页
- 依次类推到第9号索引节点
- 10号索引节点对应93号物理盘块,93号物理盘块存了N个地址,第一个是141,所以10逻辑页对应着141物理盘快
求解N 和存储总大小
- 假设物理块的大小是1KB
- 假设一个地址项的大小是4B
- 那么一个一个物理盘块,可以存放的256个地址项*
- 直接索引:10个 × 1KB的大小
- 一级间接索引:N个地址项 × 1KB 但是呢这里的N ,就是一个物理块1KB/4B ,也就是256 KB
- 二级间接索引:(1KB/4)2 × 1KB
- 所以0-11号索引节点:一共有10KB+256KB+2562
- 如果求N的时候,除不尽,向下取整
14.树型目录结构
- 计算机常见目录结构
- 有些操作系统 root写法
- 在不同的子目录下可以有相同的名
- 绝对路径:是从根目录出发到当前目录的路劲值
- eg:F2 /D1/W2/F2
- 相对路径:是相对于当前位置的路径
- eg: 当前D1 F2 W2/F2
- 文件名
15.空闲存储空间管理
- 1表示占用
- 0表示空闲
- 一个内存划分多个块,一个块用一个二进制来表示
- 假设有528个物理块
- 一个物理块需要1个bit 那么一共需要528bit
- 528/32 = 16…… 16,所以需要17个字(0-15)
- 每个字又是0-31(32位)
16.数据传输控制方式
- 数据传输控制方式----->I/O设备管理
- I/O----->cpu------>内存
控制方式
程序控制(查询)方式:分为无条件传递和程序查询方式两种
- 方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率
程序中断方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度
- 中断的时候,会从当前程序停止,然后将中断的位置以栈的方式存储,叫做“保存现场”
- 中断处理完成之后,会回到之前的断点,接着执行
DMA方法:DMA方式是为了在主存与外设之间实现高速,批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效
- CPU只做初始化,不参与传输
- 实现的是,高速批量的数据交换,相对于上面两种,速度更高
通道方式(专用)
I/O处理机(专用)
效率从高到低依次增加
17.虚设备与SPOOLING技术
- SPOOLing是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱发技术‘’
- SPOOLing技术通过磁盘实现
对于多个输入设备
- 将输入的任务放到输入缓冲区当中
- 以输入进程,输入到输入井
- 再从输入井,依次的输出
- 也就是说我们不需要以PV操作检查进程有没有开始,有没有做完
- 我们都将输入任务放到输入井中,然后从输入井依次输出任务
以上是关于软考之操作系统知识的主要内容,如果未能解决你的问题,请参考以下文章
软考之高级系统分析师(包含历年真题详解+课本教程+论文范文+视频教程)