首页 昆明信息港 下载客户端 关于彩龙 论坛须知

分页、分段、段页式寻址与常用的文件存储管理方法

寻址方式

分页寻址

简单来说,分页寻址就是将内存按照固定的大小进行分页。应用程序自己的页表中存储了自己的逻辑页号到物理页号的映射表。

分页寻址的基本原理图

按照图中所示,一个逻辑地址的构成为:页号,页内地址。

用户程序拥的逻辑页号是连续的,但是物理块号却是不连续的,所以通常的考点会设置为,给出页号映射表(图中中间部分所示),给出一种地址(逻辑或者物理)计算另一种地址,或者是给出页偏移和页表,另外给出逻辑页号或者物理页号,让用户来分别计算对应的地址;

相应的逻辑地址和物理地址的转换需要用如下步骤来实现(此处假设已知逻辑地址来求解物理地址):

  1. 计算逻辑地址对应的逻辑页号:逻辑地址除以页面大小得到页号和页偏移(页号有余则进一,例如1025/1024=2。这里假设页大小为1024,逻辑地址为1025。那么相应的页号为2,页偏移为1);

  2. 得到逻辑页号和页偏移之后,通过查询页表,得到逻辑页和物理页的映射关系之后,就可以用来计算逻辑地址或者物理地址。这里我们假设逻辑页2对应的物理页为10,那么相应的物理地址就为:物理页号页大小+页偏移,即,101024+1=10241;

分段寻址

分段寻址的基本原理和分页类似,但是可以理解为页大小不固定的分页寻址。只不过寻址的时候,我们需要确定三个信息,第一是,段起始地址,即这个段放在哪里,第二是,段的长度,第三,地址的段内偏移(段内逻辑地址)。同样的,会有一个段表:

段寻址原理图

如图中所示,一个逻辑地址的构成为:段号,段内地址。
故不难得出段内逻辑地址和物理地址的转换关系:
物理地址=段基址+段内地址
实际过程中,可能还会涉及到如图中所示的段表,段表本身存在起始地址,而且虚拟地址由段号和段内地址构成,这时候就要查询段表,找到对应段号的基地址,再进行相应的运算。

段页式寻址

顾名思义,即在段式存储的方式中,将段中的内容均匀的划分成若干页。这样就很好的集合段式存储和页式存储的优势。
段页式示意图
如图所示,一个逻辑地址会有三个部分表示:段号S,页号P,页内地址d
组合前两种寻址方式,可以清楚的获得相应的物理地址。

文件存储及存储设备管理

文件的物理结构

文件的物理结构,值得是文件在存储过程中使用的组块策略和文件分配策略。

  1. 顺序分配

  2. 链接分配

  3. 索引分配

索引分配,及所谓的索引节点法。每隔一两年系统架构师试题就会考察一次。对于文件索引法,会存在多级索引,如一级索引,二级索引,甚至是三级索引以及更多。通常的命题会描述一个系统是用文件节点索引法,例如然后给定索引块和数据块的大小分别为1k和2k(可能会说两个大小一样,都为1k),然后给出索引块中地址项的长度为4。然后说每个文件的索引节点共有8个地址项,其中地址0~5为直接索引,6为一级索引,7为二级索引,然后给出某些逻辑块号,让用户来说明某些号块是直接索引还是间接索引,以及最大的文件长度是什么。

针对上面饮用中的问题,做简单的分析。针对系统的文件索引表,我们通过索引块大小S,以及单个索引节点(地址项)的长度L。就可以得出单个索引块最多有S/L个地址项(索引节点)。然后由题目给出有直接索引N位,间接索引M位(这里可能会有一级索引,二级索引等多种索引)。在计算间接索引能访问的最大逻辑号块的时候,可以使用当前索引可以使用的最大逻辑号块数登录低一级最大索引数乘以当前索引级的位数,例如假设一级索引的位数为Q,直接索引的最大地址项数目为LL,那么一级索引的最大文件长度等于:
LL^QLLQ

(S/L)^Q(S/L)Q
上面引用中的,假设块长我1k,地址项长度为4,然后直接索引有6位,一级索引占一位,二级索引也为1位。那么直接索引最大文件长度为256,一级索引能访问的最大的长度256,最大逻辑号块位256+6-1,二级索引则为256^22562为65796,相应的就有了所需数据。

文件存储设备管理

索引法

索引法和上面的索引存储原理基本一致,这里不做赘述

链接法

具体的原理可以参考链表及其他相关知识。

位示图法

又称位图法。磁盘区块可用性的可视化描述,使用0和1来表示相应的使用情况。


网友评论

0条评论

发表

网友评论

0条评论

发表

最新评论

推荐文章

彩龙

Copyright © 2008-2022 彩龙社区 版权所有 All Rights Reserved.

免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。

经营许可证编号:滇B2-20090009-7

下载我家昆明APP 下载彩龙社区APP