操做系统中最重要的三个抽象概念:进程(线程)、地址空间、文件;并发
任何计算机程序都须要存储和检索信息;优化
首先想到的是使用使用其自身的地址空间存储信息;spa
可是有一些问题:虚拟地址空间大小有限、信息没法持久化、信息的共享不方便;操作系统
总而言之,信息依附于进程存在是不方便的;线程
更好的方法是利用长期存储性质的介质存储信息——这里介绍的是磁盘。设计
磁盘只要支持读写操做,就能够解决长期存储的问题,并且只要磁盘够大,空间大小的限制也不是问题。同时也可以支持不一样的进程(线程)并发存取的需求。进程
可是还有一些问题须要解决:程序
1)如何找到想要的信息;方法
2)如何防止一个用户读取另外一个用户的数据;链表
3)如何知道那个空间是空闲的;
这里对磁盘使用一种新的抽象来解决这个问题——文件;
=====================================================
文件是一个抽象概念,是逻辑概念。是进程建立的信息逻辑单元。
文件能够存在一些操做:打开、关闭、新增、删除、修改等;
文件受操做系统管理,以上操做的实现都是操做系统设计的重要内容。
操做系统处理文件的部分称为文件系统。
从用户角度来看:文件在用户眼中的表现形式,由什么组成,如何给文件命名,如何保护文件,能够对文件进行哪些操做;
从设计人员角度看:如何记录空闲存储区(位图、链表)、一个逻辑磁盘块中有多少个扇区等等
====================================================
用户层面的内容——文件、目录
====================================================
设计人员层面的内容——文件系统的实现、文件系统的管理和优化
====================================================