0003操作系统02

本文详细介绍了操作系统的存储管理,包括分区存储组织、页式、段式和段页式存储,重点讨论了逻辑地址到物理地址的转换、页面淘汰算法。此外,还涵盖了文件管理,如索引文件结构、树型目录、位示图法,以及数据传输控制方式和虚设备与Spooling技术的概念。
摘要由CSDN通过智能技术生成

存储管理

11分区存储组织

不同存储管理的一些分配算法。

存储区域原来是一片大的空白区域,系统把用户需要的大小分配给相应的内存。

在这里插入图片描述

作业1与作业2之间的空白区域是原来的程序执行完成后释放出来的

存储区间是动态分配的,分配的过程中考虑 在哪一个空白区域切割,有相应的算法考虑。

分配的空间尽可能在与他接近的空间去切割,这样能够让系统保留很多大块的空白区。

最佳适应算法的缺陷,运行一段时间后,系统的碎块会越来越多,碎块很小不好利用。

最差适应算法:把空白区域从小到大排列,给作业分配空间先考虑从大块中切割出来。

循环首次适应算法:把空闲区域连成环状,顺次来分配。

12页式存储、段式存储、段页式存储

页式存储组织

运行时候的空间琐碎,可能加起来足够大,但是却不能运行没因为无法一次性装入程序,因此段页式存储。

采取的机制是需要运行哪些块,哪些页,就调用哪些。这时候就需要页表来记录映射关系(用户程序的多少页对应内存多少块),可以解决超越内存容量的问题。

假设内存2G,可以运行4G程序,需要哪个程序页就调哪个.可以使内存内用率提高。

缺点,增加系统开销。页表记录程序,需要查表。

逻辑地址和物理地址的转换(常考)

页号块号需要查表才知道。

通过逻辑地址求物理地址,首先知道逻辑地址中那一部分是页号,页类地址,把页类地址的页号直接写下来,就是物理地址的页类地址。然后通过页号查找块号,把页号和页类地址拼接就是物理地址。

在这里插入图片描述

在这里插入图片描述

求物理地址

第一步,把逻辑地址中的页号和页类地址分开。

通过页面大小参数分开,页面大小4K=2^12,说明页类地址是12位,转成十六进制是3位。则页类地址A29,页号是5,对应的物理块号(页帧号)需要查表得知。

访问页面4不在内

图算法sicily例题 1000. sicily 1155. Can I Post the lette Time Limit: 1sec Memory Limit:32MB Description I am a traveler. I want to post a letter to Merlin. But because there are so many roads I can walk through, and maybe I can’t go to Merlin’s house following these roads, I must judge whether I can post the letter to Merlin before starting my travel. Suppose the cities are numbered from 0 to N-1, I am at city 0, and Merlin is at city N-1. And there are M roads I can walk through, each of which connects two cities. Please note that each road is direct, i.e. a road from A to B does not indicate a road from B to A. Please help me to find out whether I could go to Merlin’s house or not. Input There are multiple input cases. For one case, first are two lines of two integers N and M, (N<=200, M<=N*N/2), that means the number of citys and the number of roads. And Merlin stands at city N-1. After that, there are M lines. Each line contains two integers i and j, what means that there is a road from city i to city j. The input is terminated by N=0. Output For each test case, if I can post the letter print “I can post the letter” in one line, otherwise print “I can't post the letter”. Sample Input 3 2 0 1 1 2 3 1 0 1 0 Sample Output I can post the letter I can't post the letter Source Code #include #include using namespace std; int n,m; vector vout[200]; bool visited[200]; bool flood(int u) { visited[u]=1; if (u==n-1) return 1; for (int x=0; x<vout[u].size(); x++) { int &v=vout[u][x]; if (!visited[v] && flood(v)) return 1; } return 0; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廉某某

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值