存储管理-分区存储组织
问:计算机系统内存大小为128k,当前系统分配情况如图,那么作业4再次申请内存9k,用不同存储分配算法,会产生什么结果呢?
由图可知,分配前作业一33k,作业二22k,作业三10k,那么中间为啥空了25k。
原来对应的位子有33k程序,然后有个25k,然后22k,但后来中间那个25k的程序作业被释放,所以空闲在那里。
首次适用法则分配在第一个空闲位子。
最佳则会选择能分配成功且最小的空闲区。
最差则直接选择最大的空闲区。
循环首次适应法则是把空闲区循环连接在一起,然后依次分配。
页式存储组织
高级程序语言使用逻辑地址,运行状态,内存中使用物理地址。
重点是、逻辑地址与物理地址之间的转换。
优点是 内存利用率高,碎片小,分配及管理简单。
缺点是 增加了系统开销,可能产生抖动现象。
页面置换算法(淘汰算法):
最优算法(opt算法):理论存在的算法,知道访问序列什么样子,然后在什么时间点淘汰什么页面,来达到最高性能。
随机算法(RAND算法):性能不稳定。
先进先出算法(FIFO):有可能产生抖动,淘汰页面的时候,就看谁最先进入,就先淘汰谁。
最少使用算法(LRU):不会抖动。(意味着给他分配的性能越多,表现越好)
产生抖动:意思是给你分配更多的资源,不但没有正面效果,反而效率降低。
如图很好展示了为何FIFO为何产生抖动,因为给三个内存空间是9次缺页,而给四个内存空间是10次缺页,所以并不会因为资源越多,而效果越好。(缺页是内存里没数据,需要去外存取出数据,并且把内存里的数据淘汰出去)
因为题中说没有使用块表,所以每次需要从外存加载,这时候就是6*2=12次内存。
其中指令 虽然在0和1 中间,但是他值表示 1次缺页中断。(指令无论在几个块都只能算1次)
A在2和3中间,有2次缺页中断。
B在4和5中间,也有2次缺页中断。
所以一共5次缺页中断。
索引文件结构:
一般索引结构有13个节点,0到12。
0~9直接访问物理盘快。
假设一个物理盘块是4k大小,假设13块都是直接索引,这时候就是4*13 = 52k。
所以 间接索引为了扩展索引大小而诞生。
所以前10个就是4k*10等于40k大小。
从第10个节点,指向地址,假设每个地址占4个字节,而一个物理盘快是4k
所以4k除以4=1024。
所以10号索引存1024个物理盘快地址。
所以一级间接索引可以存 4k*1024
二级间接索引 可以存 4k*1024*1024
位示图:
因为物理块从0开始计算,所以4195号则是4196块
4196除以32 = 131.125 所以位示图中第 132个字中描述。
首先1代表占用,所以2问题的A和C是0排除。
131 * 32 = 4192
4192从0位置开始
4193就是1位置
4194就是2位置
4195就是3位置
注意上面的解析物理块的号 和 位置都是从0开始计算。
设备管理 的 数据的传输控制:
主要指内存 和 外设之间数据传输控制问题。
有 程序控制方式、程序中断方式、DMA方式、通道、输入输出处理机。
程序控制方式:又叫程序查询方式,最低级,需要CPU介入,导致外设非常被动,不会主动反馈信息。
程序中断方式:与程序控制方式相同,但是主动性更强,外设完成了会主动反馈,发出中断信号。
DMA方式:直接存取控制方式,专门的DMA控制器,外设内存的交换,直接在DMA控制器来完成。CPU只需要在开头和结尾介入。
SPOOLING技术应该非常广泛,打印机都有SPOOLING技术:
打印的时候会把需要打印的内容放到磁盘缓冲区,然后放入一个输出井队列,打印机会把队列里的数据依次打印出来,这样就不会打印在其他人用的时候提示 打印机被占用,而是放在磁盘缓冲区。(使用过程变得非常友好)
微内核操作系统:
分为 用户态 和 核心态。
用户态:客户进程、进程服务器、终端服务器...文件服务器、存储服务器。
核心态:就在进程服务器到文件服务器中间都是 核心态。(不包含文件系统)
这样好处就是 核心的出故障重启就好,这样文件系统出故障不影响核心态。
缺点就是用户态 和 核心态转换,从而导致系统效率不如单体内核。
优点系统可靠性稳定性提高,可用于分布式系统。
单体内核的优缺点则与之相反。