文件管理概述

文件属性

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

alt text

文件数据组织

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

有结构文件(如数据库表)———由一组相似的记录组成,又称记录式文件

文件内部数据组织

alt text

alt text

操作系统应该提供哪些功能

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

alt text

文件应该如何存放在外存

操作系统以块为单位为文件分配存储空间,因此即使一个文件大小只有10B,但它依然需要占用1KB磁盘块。从外存中的数据读入内存时同样以块为单位。

类似于内存分为一个个内存块,外存会分为一个个块、磁盘块、物理块。每个磁盘块大小是相等的,每块一般包含2的整数幂个地址。同样类似的是,文件逻辑地址可以分为(逻辑块号,块内地址),操作系统同样需要将逻辑地址转换位外存的物理地址(物理块号,块内地址)的形式。快内地址的位数取决于硬盘块大小。

与内存一样,外存也是由一个个存储单元可以存储一定量的数据。每个存储单元对于一个物理地址。

从上往下看,文件应如何存放在外存

alt text