软件设计师(二):操作系统基本原理(二)

简介: 软件设计师(二):操作系统基本原理(二)

3、存储管理


3.1 分区存储组织


88ab0588abdcc5a5bf437da9fa408c2a_e8a8e913e9cec2f29d405b75dce5b12b.png


①首次适应算法:空闲分区以地址递增的次序链接。对于上面这个题,作业4申请内存9k,按照地址递增的情况,此时作业4会被分配到25k的空闲分区,占用9k,剩余25-9=16k。

②循环首次适应算法:与首次适应算法的区别是:不是每次都从链首开始查找,而是从上一次找到的空闲分区的下一个空闲分区开始查找。所以作业4申请9k,而作业2和作业3所在的空闲分区的下一个空闲分区为28k,即作业4被分配到了28k这个空闲分区,占用9k,剩余28-9=19k。

③最佳适应算法:空闲分区按其容量从小到大的顺序链接。作业4申请9k,而当前空闲分区的容量从小到大依次为:10k、25k、28k,所以作业4被分配到10k这个空闲分区,占用9k,剩余10-9=1k。

④最差适应算法:空闲分区按其容量从大到小的顺序链接(与最佳适应算法相反)。作业4被分配到容量最大的空闲分区28k中,占用9k,剩余28-9=19k。


3.2 页式存储


026538a0839e44b972a913417ae57f60_image-20221016205526557.png


b2d40dc3b63c0908b098a5a55eee67d4_image-20221016211628408.png


我们来看上面这道例题,首先页面大小为4K=2^12,表示页内地址为12位,所以在对逻辑地址变换的时候,就要保留它的低12位作为物理地址,因为逻辑地址是16进制数5A29H,它的低12为是A29,那么只需要对前面的页号进行变换就可以了,由页表可知,页号5对应的物理块号(页帧号)为6,所以经变换后的物理地址为:6A29H。

第二空,进程P要访问的页面4不在内存,应该淘汰哪个页面?这里我们考虑的是:只能淘汰在内存中的页面,因为如果一个页面压根就不在内存,那你是无法淘汰它的(换句话说,你淘汰它有何意义呢?),所以我们看到状态位是1表示在内存(有页面0、1、2、5),而对于淘汰而言,我们不能淘汰刚刚被访问过的页面,只能淘汰没有被访问过的页面(即访问位为0),查表得,页面1的访问位为0,所以将其淘汰。即第一空选D,第二空选B。


3.3 段式存储


a0c3932f9b11b1d043664f85000b240e_a216737a0226bbfce6f80535ecba3533.png


3.4 段页式存储


759e88ad6a57c9eee860d26da5883746_d8719c994d9ea55d5926847a2834d427.png


3.5 快表


2fb0d741d3ceed77adc08d38b31f1de7_ab208620576b74e139e7300068fc26d2.png


3.6 页面置换算法


最优(Optimal OPT)算法

随机(RAND)算法

先进先出(FIFO)算法:有可能产生“抖动”。例如,432143543215序列,用3个页面,比4个缺页要少

最近最少使用(LRU)算法:不会抖动


bf9d9b77bfc6f92f1fe2ff0efc8eeebe_image-20221017112907851.png


6c5031f546fe1fe2706ff43476d18b6c_462a56788328f627a6fc5011ae94550d.png


练习题:


ae50a1c7993f67d95132d140dea5625b_a6c8181afe24642cc4512744c1922588.png


4、文件管理


4.1 索引文件结构


98ec833ce7b5b95e2b293009fcbcea4b_image-20221017211633323.png


练习题



这道题中,物理块号50对应逻辑块号0,物理块号67对应逻辑块号1,物理块号68对应逻辑块号2,物理块号78对应逻辑块号3,物理块号89对应逻辑块号4,这五个采取的是直接地址索引;而物理块号90和91采取的是一级间接地址索引,90→58对应的是逻辑块号5,所以逻辑块号5对应的物理块号为58。

因为题目中说每个地址项的大小为4字节,而对于一级和二级间接地址索引,每个物理块可以存1024字节的内容,所以在每个一级、二级间接地址索引中,有1024/4=256个地址项。所以在物理块号90中,存放的是从5260(5+256-1);在物理块号91中,存放的就是从261516(261+256-1),所以逻辑块号261对应的物理块号为187。

观察上图可知,101号物理块显然采取的是二级间接地址索引的方式,所以其中存放的是二级地址索引表。


4.2 文件和树型目录结构


4993ed8dd757d7be8475d79651c2e3be_image-20221017213518252.png


4.3 空闲存储空间的管理


ad9eba8bdb787438477366b6b0ebada7_image-20221017214320986.png


ebb67f6ed55620b943a8c0969c174d35_image-20221018104557706.png


0007dcc856c904d1b74ab297fd785fb5_image-20221018105352804.png

 

这道例题,首先物理块是从0开始编号的,系统中字长为32位(相当于一个字中包含了32个物理块),那么对于4195号物理块,实际上是第4196个物理块,那么,每个字的长度均为32位,所以4196/32=131.125,表示的是超过第131个字了,要将前131个字都填满,而当前物理块是在第132个字中描述,第一空选D。

第二空问系统应该怎么样?既然要将物理块分配给某文件,必须取值为1(1表示占用),所以排除A和C;我们再来看,前131个字所表示的物理块范围是0131×31:04191,所以第132个字中,第0位置表示4192,第1位置表示4193,第2位置表示4194,第3位置表示4195,所以在第132个字的第3位置对应上了4195号物理块。所以第二空选B。


5、设备管理


5.1 数据传输控制方式


fd6517c85705d2cf8963b6f030d583e6_image-20221018105547223.png


5.2 虚设备与Spooling技术


4a3d55c324bb5d909d792e9f4b8ec8a1_d3d43662c1c02a1a01feb98cf7aa9d9a.png



6、微内核操作系统


f3d8043e59a8cd06d64c467640895c19_bb9fa03c1a2720ca7e08c14e0bc1028e.png

相关文章
|
3月前
|
存储 安全 Shell
深入浅出操作系统:从原理到实践
【9月更文挑战第21天】在数字时代的浪潮中,操作系统扮演着至关重要的角色。本文将深入探究操作系统的奥秘,从其基本概念和核心原理出发,逐步引导读者理解操作系统的工作机制。我们将通过生动的例子和实用的代码片段,揭示操作系统如何管理计算机硬件资源、提供用户接口以及确保系统安全与性能优化。无论你是初学者还是有一定基础的开发者,这篇文章都将为你打开一扇通往操作系统深层世界的大门。准备好跟随我们的脚步,一起探索这个让计算机变得生动起来的神奇软件吧!
77 8
|
5月前
|
存储 算法 调度
深入理解操作系统:从原理到实践
【7月更文挑战第24天】本文将深入探讨操作系统的基本原理和实践应用,包括进程管理、内存管理、文件系统和设备管理等方面。通过理论与实践相结合的方式,帮助读者更好地理解和掌握操作系统的相关知识。
|
3月前
|
Unix Linux Windows
操作系统的演变与基本原理
本文旨在深入探讨操作系统的历史演变过程及其背后的设计原理。通过对不同时期典型操作系统的分析,本文揭示了它们如何响应技术挑战和社会需求的变化。此外,文章还将阐述操作系统的核心功能和关键技术,如进程管理、内存管理和文件系统,并探讨这些技术如何影响计算机系统的性能和可靠性。通过综合历史案例和技术分析,本文希望为读者提供一个全面而深入的理解,为什么操作系统是现代计算不可或缺的基石。
52 1
|
3月前
|
存储 安全 Linux
探索操作系统:从原理到实践
【9月更文挑战第14天】本文深入探讨了操作系统的核心概念,通过分析其设计原则和功能,揭示了操作系统如何管理计算机硬件资源、提供用户接口并确保系统安全。文章不仅阐述了操作系统的基本原理,还通过实际代码示例展示了如何在操作系统上进行编程,旨在帮助读者更好地理解并应用操作系统知识。
43 1
|
4月前
|
存储 算法 安全
【第二章】软件设计师 之 操作系统基本原理
这篇文章是软件设计师备考资料的第二章,讲解了操作系统的基本原理,包括操作系统概述、进程状态转换、同步与互斥问题、PV操作、死锁问题与银行家算法、存储管理、文件系统和设备管理等关键知识点。
【第二章】软件设计师 之 操作系统基本原理
|
3月前
|
算法 调度 UED
操作系统中的进程管理:原理与实践
在数字世界的心脏跳动着无数进程,它们如同细胞一般构成了操作系统的生命体。本文将深入探讨进程管理的奥秘,从进程的诞生到成长,再到最终的消亡,揭示操作系统如何协调这些看似杂乱无章却又井然有序的活动。通过浅显易懂的语言和直观的比喻,我们将一起探索进程调度的策略、同步机制的重要性以及死锁问题的解决之道。准备好跟随我们的脚步,一起走进操作系统的微观世界,解锁进程管理的秘密吧!
72 6
|
4月前
|
存储 缓存 Linux
深度探索Linux操作系统 —— Linux图形原理探讨3
深度探索Linux操作系统 —— Linux图形原理探讨
63 9
|
4月前
|
存储 Linux 图形学
深度探索Linux操作系统 —— Linux图形原理探讨1
深度探索Linux操作系统 —— Linux图形原理探讨
69 7
|
4月前
|
存储 算法 网络协议
了解操作系统的基本原理和常见操作,提高计算机使用效率
了解操作系统的基本原理和常见操作,提高计算机使用效率
52 4
|
4月前
|
Linux API 图形学
深度探索Linux操作系统 —— Linux图形原理探讨2
深度探索Linux操作系统 —— Linux图形原理探讨
56 3