初识文件管理
廖家龙 用心听,不照做

文件就是一组有意义的信息/数据集合

  1. 计算机中存放了各种各样的文件,一个文件有哪些属性?

    • 文件名:由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件
    • 标识符:一个系统内的各文件标识符唯一,对用户来说毫无可读性,因此标识符只是操作系统用于区分各个文件的一种内部名称
    • 类型:指明文件的类型
    • 位置:文件存放的路径(让用户使用)、在外存中的地址(操作系统使用,对用户不可见)
    • 大小:指明文件大小
    • 创建时间、上次修改时间
    • 文件所有者信息
    • 保护信息:对文件进行保护的访问控制信息
  2. 文件内部的数据应该怎样组织起来?(文件的逻辑结构)

    • 无结构文件:如文本文件,由一些二进制或字符流组成,又称“流式文件”

    • 有结构文件:如数据库表,由一组相似的记录组成,又称“记录式文件”,记录是一组相关数据项的集合,数据项是文件系统中最基本的数据单位

  3. 文件之间又应该怎么组织起来?

  4. 从下往上看,OS应提供哪些功能,才能方便用户、应用程序使用文件?

    • 可以创建文件:点击新建后,图形化交互进程在背后调用了“create系统调用”
    • 可以删除文件:点了删除之后,图形化交互进程通过操作系统提供的删除文件功能,即delete系统调用,将文件数据从外存中删除
    • 可以读文件:将文件数据读入内存,才能让CPU处理,双击后,记事本应用程序通过操作系统提供的读文件功能,即read系统调用,将文件数据从外存读入内存,并显示在屏幕上
    • 可以写文件:将更改过的文件数据写回外存,我们在记事本应用程序中编辑文件内容,点击保存后,记事本应用程序通过操作系统提供的写文件功能,即write系统调用,将文件数据从内存写回外存
    • 打开文件:open系统调用
    • 关闭文件:close系统调用

    ❗️读/写文件之前,需要“打开文件”,读/写文件结束之后,需要“关闭文件”

    可用几个基本操作完成更复杂的操作,比如复制文件,先创建一个新的空文件,再把源文件读入内存,再将内存中的数据写到新文件中

  5. 从上往下看,文件数据应该怎么存放在外存(磁盘)上?(文件的物理结构)

    操作系统又应该怎么管理空闲磁盘块?

  6. 其他需要由操作系统实现的文件管理功能

    • 文件共享:使多个用户可以共享使用一个文件
    • 文件保护:如何保证不同的用户对文件有不同的操作权限