由于内存太小,并不足够永久的去保存所有的数据和程序,所以计算机系统必须提供外存以备份内存,现在主要是通过采用磁盘作为主要在线存储以保存信息(程序与数据)
文件系统为存储与访问磁盘上的数据与程序提供机制,文件是一组由创建者所定义的相关信息的集合,操作系统将文件映射到物理设备上。文件通常按目录来组织,以便于使用
计算机设备在很多方面都有不同,有的设备一次传输一个或者一块字符。有的按顺序访问,有的随机访问。有的同步传输,有的异步传输。有的专用,有的共享。有的只读,有的可读写。它们速度差异很大,在许多方面,外设是计算机当中最慢的部分
由于设备差异很大,所以操作系统需要提供一组功能以便于应用程序控制这些设备,操作系统的I/O子系统的重要目的之一是为系统其它部分提供最简单的接口。由于设备通常是性能瓶颈,所以另一个重要的目的就是优化I/O以使程序并发运行
文件系统由两个不同的部分组成:一组文件(文件用于存储相关数据)和目录结构(目录用于组织系统内的文件并提供有关文件的信息)
文件是记录在外存上的相关信息的具有名称的集合,从用户角度上看其实文件是逻辑外存的最小分配单元,也就是说数据除非在文件当中,否则就不能写到外存
通常文件表示程序(源形式和目标形式)和数据,文件信息是由其创建者定义的,文件可存储许多不同的类型的信息:源程序、目标程序、可执行程序、数字数据、文本、工资记录、图像、声音记录等
文件通常包含以下属性:名称、标识符、类型、位置、大小、保护信息、时间、日期和用户标识
所有文件的信息都保存在目录结构中,而目录结构也保存在外存上,通常来说,目录条目包括文件名称以及其唯一标识符,而标识符又定位文件其他属性信息,一个文件的这些信息可能需要1KB左右的空间来记录
在许多的文件的系统当中,目录大小可能本身就有数兆字节,因为目录如同文件一样也必须是非易失性的,所以它们必须存放在设备上,并在需要的时候分若干次调入内存