目录
操作系统考点分布:
一、进程-考状态、前驱图、PV操作
进程通常由程序、数据集合、进程控制块 PCB 组成。PCB是一种数据结构,是进程存在的唯一标识。
1、PCB 存储方式
链式:把相同状态的PCB通过一条连接链串行起来。
2、前驱图
前驱图是一个有向无循环图(循环可能出现死锁),由节点和有向边组成,节点代表各程序段的操作,而节点间的有向边表示两个程序段操作之间存在的前趋关系。
用于这种图可以描述多个程序或进程之间的执行顺序关系。
典型真题
前驱图标记规则:从小到大
参考答案:B、D
3、PV操作
(1)互斥问题PV操作
P操作:
①将信号量S的值减1,即S=S-1;
②如果S>=0,则该进程继续执行;否则该进程置为等待状态。
V操作:
①将信号量S的值加1,即S=S+1;
②如果S>0该进程继续执行;否则说明有等待队列中有等待进程,需要唤醒等待进程。
针对一个资源的操作,设置信号量S = 1,如图
典型真题
参考答案:B、D
(2)同步问题PV操作
典型真题
解析:按照前驱图标记规则:从小到大,设置信号量,S1——>S5
- 在P1执行结束后,需要唤醒两个信号量,S1和S2,记作V(S1)V(S2)
- 在P2执行开始时,需要对资源S1和S3进行P操作,记作P(S1)P(S3),执行完成之后,需要唤醒信号量S4,记作V(S4)
第二个选项的解题步骤如上
参考答案:C 、 A
二、地址重定位-概念
地址重定位是指将程序中的地址虚拟地址(逻辑地址)变化成内存的真实地址(物理地址)的过程。(逻辑地址——>物理地址)
1、静态重定位
绝对地址 = 相对地址 + 程序存放的内存起始地址
静态重定位,定位过程在初始的时候就已经设定好了
2、动态重定位
绝对地址 = 重定位寄存器的值(BR) + 逻辑地址寄存器的值(VR)
动态重定位,当程序执行到相应程序时,才去做地址变换
三、储存管理
1、分区管理-概念
把主存的用户划分为若干区域,每个区域分配给一个用户作业使用,并限定它们只能在自己的区域中运行。分区管理有三种形式:固定分区、可变分区、可重定位分区。
划分的都是连续的区域
(1)固定分区
固定分配空间,不考虑空间的大小是否跟程序的大小匹配(固定分配),大空间可能分配给小程序,造成空间的浪费很大。
(2)可变分区
根据程序大小选择合适分区
(3)可重定位分区
把程序占用的区域和没有占用的区域,通过地址重定位重新组合,分成已使用和未使用两大块,最大程度的节省内存空间
2、分页管理-考物理地址和逻辑地址的转换
分页:地址空间不一定是连续的,
程序的页内大小和主存的块内大小是一致的,所以页内地址和块内地址都是一样的,不同的地方是,逻辑地址页号为1的页,并不一定存储在物理地址块号为1的块中,此时,我们需要通过页表来获取对应的物理地址。
典型真题一
例题分析
逻辑地址=页号+页内地址,计算机的页面大小为4K,也就是2^12=4K,所以页内地址是由12位二进制组成的地址,
逻辑地址为十六进制的1D16H,其中一位十六进制就占用4位二进制,所以可以得出逻辑地址的组成为1(页号,高位对应页号)+D16(页内地址)
通过页面变换表,可知,页号为1对应的物理块号为3,可知,物理地址的十六进制为3D16H
参考答案:B
典型真题二
3、分段管理-求物理地址
分段管理,跟分页方式不同的是,分段可以根据程序的大小不同划分为大小不同的段,分页只能为大小相同的页。
分段式存储管理系统中,为每个段分配一个连续的分区,而进程中的各个段可以离散地分配到主存的不同分段中。
在系统中为每个进程建立一张段映射表,简称为段表。每个段在表中占有一个表项,在其中记录了该段在主存中的起始地址(又称为基址)和段的长度。进程在执行时,通过査段表来找到每个段所对应的主存区。
典型真题
4、段页式管理-了解
5、虚拟存储-了解
在前面介绍的存储管理方案中,必须为每个作业分配足够的空间,以便装入全部信息。当主存空间不能满足作业要求时,作业无法装入主存执行。
如果一个作业只部分装入主存便可开始启动运行,其余部分暂时留在磁盘上,在需要时再装入主存,这样可以有效地利用主存空间。
从用户角度看,该系统所具有的主存容量将比实际主存容量大得多,人们把这样的存储器称为虚拟存储器。