操作系统知识
进程管理
(一)进程的组成和状态
进程的组成:
经典三态图:
解析:就绪态和运行态之间差一个cpu,如果有cpu来处理就是运行态,
反之就是就绪态,而等待态还得需要一个事件来触发
(二)前驱图
概念:
例如:
(三)进程资源图(重点*)
概念:
例如:
解析:如果R指向一个P,那么说明分配给该P一个资源,如果P指向另一个R,那么说明该p需要该R的一个资源
阻塞节点
P2需要R1的一个资源,但是R1两个资源都分配出去了,没有余量了,所以P2是阻塞节点
非阻塞节点
真题
答案:C B
解析:第一个空:P1还需要R2的一个资源,但是R2一共就三个已经分配给 P1,P2,P3,所以为阻塞节点
P2需要R1一个资源,但是R1已经分配给P1,P3了所以也是阻塞节点
P3需要R3一个资源,R3分配给P2一个,还有一个,所以是非阻塞节点
第二个空:做法,先看看哪些节点不是阻塞节点,先执行完后,释放,这样进程的资源就会回收
图中只有P3不是阻塞节点,所以先执行,释放,这样R1 R2各自回收一个资源
之后P1,P2都变成了非阻塞节点,这两个顺序就无所谓了,由于选择只有先P1后P2所以选B
(四)同步与互斥
先了解
s就是资源数量,如果执行p就是申请资源,那么可用资源就会减少,
如果s是负数说明负几就说明还需要几个资源,但是因为资源用完了,所以在等待状态。
如果执行V就是释放资源,那么可用的资源就会变多
经典问题:生产者和消费者问题(便于理解操作)
前提:生产者和消费者无法同时使用仓库使用权
先看生产者
首先需要申请s0的使用权
然后对s1进行申请,申请仓库个数
讲商品放进去
释放s2
然后规划s0即仓库使用权
消费者同理
真题(几乎是必考的)
答案:C B B
解析:题目设置的5个信号,没说是谁的,所以就按着顺序来
根据左右图,p1没有什么约束并且先执行,执行完后,就会释放两个信号,按顺序来就是s1和s2,所以a为V(s1)和v(s2)
再看右边第二张图,执行前需要先申请s1(所以也可以反向证明P1->P2这条线是s1),执行完后,释放一个信号,所以b是V(s3)
右边第三张图,执行前应该申请资源,所以申请s2,即c是p(s2),之后执行完后,释放一个信号,所以d是V(s4)
右边第四张图,同理e是V(s5)
右边第五张图:看左图p5执行前需要申请两个资源,而p4—>P5 和 P3->p5这两条信号线为s4和s5,所以d是P(s4)P(s5)
所以:个人理解,左边那些线,这些线既是线的前面那个进程做完后可以释放的信号(资源)的个数,又是后面的那个进程做前需要申请的信号个数
2.
答案:C B D
解析:和上面的题差不多,唯一注意的点是信号s3和信号s4不是按顺序来的,不算太影响
3.
答案:D B C
解析:因为优先级相同,所以按顺序来
首先执行P1程序段:前两句执行完后,a为3,V(S1)是释放一个S1的资源,现在S1为1,不影响程序执行
第四句后,c为4,P(S2)是申请一个S2的资源,因为S2为0,所以阻塞,现在执行P2
P2程序段:前两句执行完后,b为3,P(S1)申请一个S1资源,因为现在S1为1,有资源,所以申请成功继续执
第四句后,b为6,V(S2),现在S2为1,P1申请成功,但是因为顺序执行所以执行完P2后,才回去P1
第五句后,c为10
回到P1程序段:执行最后一句,a为14
(五)死锁
概念(了解):
大白话:进程申请资源,但资源被别人占用了,所有进程都差资源的时候
死锁计算问题
解析:先明白为什么最大是n*(R-1),因为当这n个进程每个进程都有R-1个资源,都差一个的时候,程序就死锁了,要是再多一个,那么就可以先执行一个进程,执行完后,就会释放资源,就不会有死锁现象,这也为什么系统不发生死锁的最小资源为n*(R-1)+ 1的原因
真题
答案:B
原因看“死锁计算问题”就明白了
答案:D B
解析:1.分别将每个资源已分配的资源数加起来,再减去R1,R2,R3每个拥有的数量,
所以分别剩余:10-8=2,5-5=0,3-2=1
2.这个题可以根据选项来挨个判断,思想就是资源得够分配,
先看A,P1现在还需要R1,R2,R3分别4,2,0个(就是最大需求量-已分配资源数),现有资源数不够,所以A不对
B:P5需要R1,R2,R3分别1,0,1个,现有的可以满足,执行完后,将已分配的资源释放,
现在就有3,1,1个资源了,
P2需要1,1,0,够分,执行完后,现在有5,2,1,一次次这样判断,最后答案就选B了
(六)进程
知道这一点就行
存储管理
(一)页式存储管理
概念(只需理解运行时需要把逻辑页转完成物理块):
真题
答案:B
解析:页面大小为4K(2的12次方),则页内偏移地址为12位(就是低12位不用管了),即D16H不用动(一个十六进制代表4个二进制),
剩下的高4位1位逻辑页号(需要将逻辑页转换为物理块),根据题目给出的表,可知为3
所以物理地址为3D16H
(二)页面置换算法
(了解):
常用的算法是:
LRU(最近最少使用算法):在最近的过去,进程执行过程中。过去最少使用的页面被置换淘汰
真题
答案:D
解析:优先淘汰在内存中且没有被访问过的,如果都被访问过,再看修改位,找最近未被修改过的,
看本题页面一不在内存中,在内存中的都被访问过了,所以看修改位,修改为中3没有被修改,所以淘汰3
(三)段式存储管理
真题
答案:B
解析:()中左边是段号,右边是需要的段长
这种题就看选项中需要的段长是否小于右边图真实的段长长度
如果小于说明就合法,大于就代表不合法
(四)文件结构
概念:
个人理解:就是最开始的索引节点存放内容,后面的就存在内容的地址,有点像指针和而二级索引差不多就是二级指针
真题
答案:C D
解析:这个题先看最后一问
根据题目,前五个为直接地址,5*1=5KB
六七为一级间接地址,因为每个地址占四个字节,所以六七一共有1KB/4B个地址,每个地址中存放的数据块大小为1kB,所以是1KB/4B*1KB*2个长度
八为二级地址,式子应该为:1KB/4B*1KB/4B*1K,第一个1KB/4B表示有八有这么多个一级地址,第二个1KB/4B,表示一个一级地址有的长度
所以结果为66053
第一问:注意逻辑块号是从0开始的,所以5应该是一级间接地址
一级地址的范围:5~516
所以518在二级间接地址
(五)树形文件目录
真题
答案:D B
解析:全文件名的意思就绝对路径+文件名,绝对路径是从根目录开始的所以开头要有/
相对目录就是在swshare目录中了,要查找这里面的文件,就直接从这一层开始写目录就行
另外的一个真题:
答案:C D
解析:这题一位字长就是一号物理块,16385号代表第16386个物理块
16384/32 = 512...2 所以是第513个字中,又因为字是从0开始的,所以选C
1000/4=250*1024个物理块,所以250*1024/32 = 8000
(六)设备管理
知道从上到下的层次
(七)输入输出技术
只需知道占用cpu多少就行
真题
答案:D
(八)磁盘结构
概念:
真题
答案:C
解析:磁盘读取时间=寻道时间+等待时间,这个题
平均寻道时间:10*6=60ms
等待时间:100+20=120ms
所以一次文件的读取时间为180ms
100个刺刀就是18000ms
(九)嵌入式操作系统
嵌入式系统初始化过程按照自底向上,从硬件到软件的次序依次为