档案的基本作用是存储信息。当使用档案时,必须将档案的信息读入计算机记忆体中。档案存取法,也可以称之为档案的存取方法,是指读写档案存储器上的一个物理块的方法。通常由三种档案存取方法:顺序存取法、直接存取法和按键存取法(索引存取法)。档案存取法与档案的物理结构有关。
基本介绍
- 中文名:档案存取法
- 外文名:File access method
- 学科:计算机
- 定义:读写档案存储器上的物理块的方法
- 方法:顺序存取法、直接存取法
- 领域:档案系统、作业系统
简介
档案是指由创建者所定义的、具有档案名称的一组相关元素的集合,可分为有结构档案和无结构档案两种。档案的基本作用是存储信息。档案存取法即读写档案存储器上的一个物理块的方法。主要与档案的物理结构有关,档案物理结构即档案在外存物理存储介质上的结构,它可分为顺序结构(连续档案)、连结结构(连结档案)和索引结构(索引档案)三种。
存取方法
顺序存取
顺序存取是按照档案的逻辑地址顺序存取。
固定长记录的顺序存取是十分简单的。读操作总是读出上一次读出的档案的下一个记录,同时,自动让档案记录读指针推进,以指向下一次要读出的记录位置。如果档案是可读可写的。再设定一个档案记录指针,它总指向下一次要写入记录的存放位置,执行写操作时,将一个记录写到档案 末端。允许对这种档案进行前跳或后退N(整数)个记录的操作。顺序存取主要用于磁带档案,但也适用于磁碟上的顺序档案。
可变长记录的顺序档案,每个记录的长度信息存放于记录前面一个单元中,它的存取操作分两步进行。读出时,根据读指针值先读出存放记录长度的单元 。然后,得到当前记录长后再把当前记录一起写到指针指向的记录位置,同时,调整写指针值 。
由于顺序档案是顺序存取的,可採用成组和分解操作来加速档案的输入输出。
直接存取(随机存取法)
很多套用场合要求以任意次序直接读写某个记录。例如,航空订票系统,把特定航班的所有信息用航班号作标识,存放在某物理块中,用户预订某航班时,需要直接将该航班的信息取出。直接存取方法便适合于这类套用,它通常用于磁碟档案。
为了实现直接存取,一个档案可以看作由顺序编号的物理块组成的,这些块常常划成等长,作为定位和存取的一个最小单位,如一块为1024位元组、4096位元组,视系统和套用而定。于是用户可以请求读块22、然后,写块48,再读块9等等。直接存取档案对读或写块的次序没有限制。用户提供给作业系统的是相对块号,它是相对于档案开始位置的一个位移量,而绝对块号则由系统换算得到。
索引存取
第三种类型的存取是基于索引档案的索引存取方法。由于档案中的记录不按它在档案中的位置,而按它的记录键来编址,所以,用户提供给作业系统记录键后就可查找到所需记录。通常记录按记录键的某种顺序存放,例如,按代表健的字母先后次序来排序。对于这种档案,除可採用按键存取外,也可以採用顺序存取或直接存取的方法。信息块的地址都可以通过查找记录键而换算出。实际的系统中,大都採用多级索引,以加速记录查找过程。
档案的物理结构
连续档案
定义:将一个档案中逻辑上连续的信息存放到存储介质的依次相邻的块上便形成顺序结构,这类档案叫连续档案,又称顺序档案。
优点:简单; 支持顺序存取和随机存取;顺序存取速度快;所需的磁碟寻道次数和寻道时间最少。
缺点:建立档案前需要能预先确定档案长度,以便分配存储空间;修改、插入和增生档案记录有困难;对直接存储器作连续分配,会造成少量空闲块的浪费。
连结档案
定义:一个档案的信息存放在若干不连续的物理块中,各块之间通过指针连线,前一个物理块指向下一个物理块。
优点:提高了磁碟空间利用率,不存在外部碎片问题。有利于档案插入和删除。有利于档案动态扩充。
缺点:存取速度慢,不适于随机存取。可靠性问题,如指针出错。更多的寻道次数和寻道时间。连结指针占用一定的空间。
索引档案
定义:一个档案的信息存放在若干不连续物理块中,系统为每个档案建立一个专用数据结构----索引表,表中每一栏目指出档案信息所在的逻辑块号和与之对应的物理块号。索引表的物理地址则由档案说明信息项给出。
索引项的组织:
稠密索引:每个逻辑纪录设定一个索引项。
稀疏索引:一组逻辑纪录设定一个索引项。
优点:保持了连结结构的优点,又解决了其缺点:即能顺序存取,又能随机存取。满足了档案动态增长、插入删除的要求。也能充分利用外存空间。
缺点:较多的寻道次数和寻道时间。索引表本身带来了系统开销 如:内外存空间,存取时间。