PART V 操作系统层 Chapter 11 文件系统

Chapter 11 文件系统

11.1 文件系统

    文件(file):   数据的有名集合,用于组织二级存储设备
    文件系统(file system):  操作系统为它管理的文件提供的逻辑视图
    目录(directory):  文件的有名分组

        A.  文本文件和二进制文件

            所有文件都可以被归类为文本文件或二进制文件
            文本文件(text file):    包含字符的文件,数据字节是ASCII 或 Unicode字符集中的字符
            二进制文件(binary file): 包含特定格式的数据的文件,要求给位串一个特定的解释   -- 位图\GIF\JPEG ..

            注! 它们都是以二进制数据形式存储,只是格式化位数的方式不同。

            高级语言编写的程序被存储为文本文件,称为源文件
            要查看或修改一种特定类型的二进制文件,必须编写专用的程序。


        B.  文件类型

            文件类型(file type):    文件(如Java程序或Microsoft文档)中存放的关于类型的信息
            文件扩展名(file extension):  文件名中说明文件类型的那部分
            图形用户界面(GUI)

            *如何将文件扩展名和应用程序关联起来是由所采用的操作系统决定

        C.  文件操作

            创建/删除文件:
            操作系统用两种方式跟踪二级存储设备。它维护一个表以说明哪些内存块是空的,还为每个目录维护一个表,
            以记录下该目录下文件的信息。要创建一个文件,操作系统需要先在文件系统中为文件内容找到一块可用空间
            然后把该文件的条目加入正确的目录表中,记录文件的名字和位置。要删除一个文件,操作系统要声明该文件
            使用的空间现在是空的,并要删除目录表中相应条目

            打开/关闭文件:
            大多数操作系统要求,在对文件执行读写操作前先打开该文件。操作系统维护一个记录当前打开的文件的小表,
            以避免每次执行一项操作都在大的文件系统中检索文件。当文件不在使用的时候,要关闭它,操作系统删除打开
            的文件表中的相应条目。

            从文件中读取数据/把数据附加到文件结尾:
            无论何时,一个打开的文件都有一个当前文件指针(一个地址),说明下一次读写操作要发生在什么位置.
            有些系统还为文件分别设置读指针和写指针.所谓读文件,是操作系统提交文件中从当前文件指针开始的信息的副本
            发生读操作后,文件指针将被更新.写信息是把指定的信息记录到由当前文件指针所指的文件空间中,
            然后更新文件指针.通常,操作系统允许用户打开文件以便进行写操作或读操作,但不允许同时进行这两项操作

            重定位文件中的当前文件指针/把数据附加到文件结尾:
            打开的文件的当前指针可以被重定位到文件中的其他位置,以备下一次读或写操作.在文件结尾附加信息要求把
            文件指针重定位到文件的结尾,然后再写入相应的数据

            删除文件的内容:
            有时删除文件中的信息是很有用的.所谓删除文件,是删除文件的内容,但不删除文件表中的管理条目.
            提供这项操作是为了避免删除一个文件,然后又重新创建它.有时,删减操作非常复杂,可以删除从当前
            文件指针到文件结尾的文件内容.

            重命名文件:
            操作系统还提供了更改文件名的操作,叫做重命名文件.此外,操作系统还提供了创建一个文件内容的完整副本
            并给该副本一个新名字的功能

        D.  文件访问

            顺序文件访问法(sequential file access):    以线性方式访问文件的数据的方法
            直接文件访问法(direct file access):        通过指定记录编号直接访问文件中的数据的方法

        E.  文件保护

            对于多系统,文件保护重要性首要。无论哪种情况,文件保护机制都决定了谁可以使用文件,以及为
            什么目的的而使用文件

            UNIX操作系统中的文件保护设置有三类,即Owner、Gruop、World

11.2 目录

    目录是文件的有名集合,是一种按逻辑方式对文件分组的方法。
    大多数操作系统都用文件表示目录。目录文件存放的是关于目录中的其他文件的数据。
    对于任何指定的文件,目录中存放的有文件名、文件类型、文件存储在硬盘上的地址和文件当前的大小
    此外,目录还存放文件的保护设置的信息,以及文件是何时创建的,何时被最后修改的。

    A.  目录树

        一个目录可以包含另一个目录。构成父子关系。于是文件系统形成一种分级结构,因此文件系统常常被看作
        目录树,展示每个目录中的目录和文件。最高层的目录叫做根目录。

        目录树(directory tree):    展示文件系统的嵌套目录组织结构
        根目录(root directory):    包含其他所有目录的最高层目录

        无论何时,都可以认为自己在在文件系统的某个特定位置(即特定的子目录)工作。
        这个子目录叫做工作目录。只要在文件系统中移动,当前工作目录就会改变。
        工作目录(working directory):    当前活动的子目录


    B.  路径名

        要用文本指定一个特定的文件,必须说明该文件的路径,即找到这个文件必须经历的一系列目录。
        路径可以是绝对的,也可以是相对的。
        绝对路径(absolute path):    从根目录开始,包括所有后继子目录的路径
        相对路径(relative path):    从当前工作目录开始的路径

11.3 磁盘调度

    实践表明,把数据传入传出二级存储设备是一般的计算机系统的首要瓶颈

    在计算机同时处理多个进程的时候,将建立一个访问磁盘的请求列表。操作系统用于决定先满足
    哪个请求的方法叫做磁盘调度。
    磁盘调度(disk scheduling):  决定先满足哪个磁盘I/O的请求

    A.  先到先服务磁盘调度法

            FCFS算法按照请求到达的顺序处理它们,而不考虑读写头的当前位置

    B.  最短寻道时间优先磁盘调度法

            SSTF算法将通过尽可能少的读写头移动满足所有未解决的请求。
            这种方法可能会在满足一个请求后改变读写头的移动方向

            会出现"饿死",早期的请求可能一直未被响应 -- 柱面离当前较远

    C.  SCAN磁盘调度法

            SCAN在磁盘调度时,读写头想轴心移动,然后在向盘片边缘移动,就这样在
            轴心和盘片边缘来回移动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值