文件的相关概念
文件的基本概念:
文件的属性:文件名(同一目录下不允许有重复文件),标识符(一个系统的各个文件标识符唯一,对用户来说毫无可读性,因此标识符只是操作系统用于区分各个文件的一种内部名称),类型,位置,大小,创建时间,上次修改时间,文件所有者信息,保护信息(对文件进行保护的访问控制信息)。
具体可以自己打开文件属性去进行查看。
文件内部的数据应该怎么样组织起来?
文件分成无结构文件和有结构文件。
无结构文件:例如文本文件,有一些二进制或者字符流组成,又称为“流式文件”。
有结构文件:(数据库表那样的),由一组相似的记录组成,又称为“记录式文件”。其中记录是一组相关数据项的集合,数据项是文件系统中最基本的数据单位。
具体的可以参考这个图:
下面是集中常见的组织形式:
操作系统应该向上提供哪些功能?
可以用多个基本操作完成更复杂的操作,比如:“复制文件”:先创建一个新的空文件,再把源文件读入内存,再将内存中的数据写到新文件中。
个人理解就是将复杂的工作进行拆解,化成更简单的,容易的。
文件如何存放在外存?
操作系统以“块”为单位为文件分配存储空间,因此即使一个文件大小只有10B,但是它依然需要占用1KB的磁盘块。外存中的数据读入内存同样以块为单位。
类似于内存分为一个个的 “内存块”,外存会分为一个个 “块/磁盘块/物理块”。每个磁盘块的大小是相等的,每块一般包含2的整数幂个地址(例如,一块包含2^10个地址,也就是1KB,同样类似的是,文件的逻辑地址也可以分为(逻辑块号,块内地址),操作系统同样需要将逻辑地址转换为外存的物理地址(物理块号,块内地址)的形式。块内地址的位数,取决于磁盘块的大小。与内存一样,外存也是由于一个个存储单元组成的,每个存储单元可以存储一定量的数据(1B)。每个存储单元对应一个物理地址。
那么问题来了,既然是以块为单位为文件分配存储空间,那么是连续块还是离散块呢?
补充:
文件共享:使多个用户可以共享使用一个文件。
文件保护:如何保证不同的用户对文件有不同的操作权限。(也是操作系统实现的文件管理功能)