在了解文件系统前,我们应该知道关于关于操作系统的存在意义?首先从使用者的角度来说(当然也可以认为是自上而下的角度)操作系统是为用户或者程序员提供了一层抽象概念,我们只需要了解熟悉操作系统的抽象即可完美了控制和使用整个电脑,所以使用者是不用完全的关心GPU处理器丶储存器和各种其他硬件设施的细节。这样你将成为一个无情的接口调用者,当然你还可以在他提供的抽象之上再搞一个更合理的抽象,比如Java虚拟机的可移植性依赖于在不同的操作系统上有不同的JVM,这是一个有意思的想法,或者说有没有这样一种可能,我们的大脑也是同样的构建方式的,根据达尔文的进化论和著名的大脑三层的假说,这是一个清晰的结构关于最下层是维持我们生命活动的部分,比如呼吸,中间层是关于我们的情绪,最上层是抽象思维逻辑和想象力等,我们只能调用最上层接口,人类尝试过最伟大的实验就是憋气自杀,但是只能证明我们的意识不能完全控制最底层的部分,我们并不能精准控制我们大脑,我们所使用的仅仅是大脑前额叶提供给我们一小部分的接口,调用死记硬背接口,将一串数字记在我们脑子里(我认为一般会放在内存里,因为这样容易将忘记和缺页中断对应起来),一旦我们没有长时间再次回顾,脑中的页面置换算法(比如老化算法)会将其从内存中的页表(这是虚拟地址空间对应物理地址空间的关键)里删除,这是再去回忆会发生缺页中断,如何需要去磁盘中读取所需要的页表项,这个过程很慢。
操作系统的第二个作用就是管理资源的分配,比如即使是单处理器系统也能运行多进程,当然这得依赖于其纳秒级别的上下文切换,进程作为操作系统对提取处理器的抽象,虚拟地址空间作为操作系统提取内存中物理地址空间的抽象,但是内存中的地址空间并不支持持久与大量的数据存储,内存中的地址空间只支持进程执行过程中必要的部分。所以在设计存储器的硬件部分时,磁盘的存在就是为了应对持久与大量的存储数据,对于磁盘的抽象就是文件系统,当然文件系统还得解决多个进程同时访问,如何访问,并且了解那一块磁盘空间是空闲的等问题
为什么操作系统需要文件系统?
于 2022-03-09 17:29:27 首次发布