《FILE INTEGRITY IN A DISC-BASED MULTI-ACCESS SYSTEM》研读(一)

来源:互联网 发布:国内代购知乎 编辑:程序博客网 时间:2024/05/16 07:22

许松原创,中科大软件学院,转载请注明出处。

正在修读的《Linux内核分析》课程要求从《操作系统进化史》里面挑选一个主题进行研修,于是便选了其中的 Titan File System(Page 14,Part 9),并寻到了该部分提到的《File integrity in a disc-based multi-access system》By A.G.Fraser(1972)这篇论文。由于论文篇幅较长以及自身原因,不能一次性研读完毕,故而决定分批次将其啃完,今次带来的是该篇论文的纲领部分。鉴于英文渣水平,诸位如果觉得有碍理解,请自行下载论文研读。

剑桥的TitanSystem包含了对文件进行组织和维护的一个管理系统,A.G.Fraser(1972)的论文就这个系统中的文件管理进行了详尽的描述。这里首先列出论文的References:

  1. Barron et al., “File Handling at Cambridge University”. AFIPS Conf: Proc. 30 (SJCC 1967), 163.
  2. “An introduction to the Cambridge multiple-access system” . University Mathematical Laboratory, Cambridge (1968).
  3. “Cambridge multiaccess system manual”. University Mathematical Laboratory,Cambridge (1968).

对于该系统的总览可以参考文献1,后续(相对于当时的时间而言)发展可以参考文献2、3。

文件管理方面,有以下四项基本内容:文件识别、文件权限、空间分配以及文件完整性。对于文件管理系统来讲,它并不关心文件是具体怎样保存的——一个文件可能是一连串排好序的数据也可能是其他组织形式。在实践当中,文件通常被组织成为一系列磁盘块的集合(一个块可以容纳4096个字符);由数据处理例程给用户提供便利的方法来对文件进行操作。

文件管理系统包含了一系列在supervisor控制之下的能够保证不同用户对文件进行正确访问的程序。这些程序中的File Master,包含了5个主要的功能:

  • 处理由管理者请求的服务;
  • 处理由用户程序直接提出的请求;
  • 处理由文件管理系统中其他程序提出的请求;
  • 处够处理文件管理系统崩溃带来的问题;
  • 根据用户的权限完成对应的请求。

单独提及File Master是为了凸显它的重要性,这是基于以下两个原因的:

  • supervisor必须依赖于File Master来为用户提供正确服务;
  • File Master根据保存在磁盘中信息来决定哪种类型的磁盘请求会最终被supervisor所允许,并且决定对某一个文件的访问究竟需要哪一块磁盘。

因此File Master应当在所有的其他程序运行之前就应当跑起来,并且除非操作系统down掉,否则它会一直工作。supervisor通过请求队列的方式来让File Master处理这些请求。在所有的程序中,File Master是唯一个拥有直接访问磁盘权限的程序,并且File Master会对其他程序提出的特殊请求予以确认,以便它们可以与supervisor进行交互以完成一些特殊服务。

一个完整的文件管理系统中包含的程序可以分为以下5大类:

  1. 使用磁带来作为附加存储空间或者作为应对数据丢失的方法的程序;
  2. 向用户提供一些便利的文件管理方面的操作(例如将文件名作为一个列表打印出来)的程序;
  3. 为Installation Management提供必要的统计资料,并允许它在不同的文件资源和系统功能上进行必要的控制工作的程序;
  4. 为基于磁盘或者磁带的文件系统数据库进行检查和维护的程序;
  5. 能够为测试新版本的文件系统提供一个模拟环境的程序。

第2~5类的程序虽然组成了文件管理系统的很大一部分,但是它们的作用范围通常比较小,故而论文重点集中在File Master以及第一类程序上。

纵观论文全文,主要有文件目录结构、用户权限、文件归档、文件完整性以及增量转储5大块,以后陆续会对这5个方面进行探讨说明。

0 0