初始文件系统
在学习操作系统之初,大多数都是懵懵懂懂地进入系统,然后开始创建文件mkdir,进入目录cd,以及列出目录ls,就像初碰电脑不断右键,新建目录、双击进入目录的样子,欣喜之余便踏上操作系统学习之路,却不知这一系列支持用户命令操作的就是操作系统的重要组成部分——文件系统。
文件系统是什么呢?
维基百科对文件系统的描述:计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。在写入新数据之前,用户不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释放)功能由文件系统自动完成,用户只需要记住数据被写入到了哪个文件中。
如上图所示,对于整个操作系统来说,文件系统贯穿用户态和内核态,作为用户和底层物理内存设备的桥梁。用户读写文件时,流程是:系统调用接口->VFS->Ext4->Driver->Physical Disk->Driver->Ext4->VFS->用户。
使用文件系统来管理和操作内核,是一种非常好的办法,采取同一的接口文件,用户可以配置硬件驱动、读写内容到内存,以及查看内核信息,都可以通过read/write文件实现,这就是我们下面的话题。
Linux系统中,一切都是文件
Linux系统所有资源都是通过文件展现,操作系统中“文件”既是具体的事物,也是一种抽象的概念。
具体的文件:包括linux的普通文件、目录文件等,就像我们操作windows系统一样,linux中也可以创建文本,编辑内容并进行保存。这些文件或者文本都是具体的事物,有具体的内容和用途。
抽象的文件:包括linux的设备文件、链接文件、管道文件等等,这些文件往往并不是实际的文件,而是连接硬件设备、内存等的通道。比如/dev/cdrom,软驱文件,将iso加载到软驱后,通过mount /dev/cdrom /mnt即可读取iso的内容;又比如/dev/null,此文件是个虚拟文件,任何内容写入到/dev/null均消失,犹如“黑洞”般吞噬万物。
如上图,linux通过文件系统管理一切,一切呈现都是文件,所以说操作系统中,一切都是文件。
上述说了一堆概念上的东西,概况来说:
linux通过文件系统将用户、内核和底层硬件连接起来,用户可以通过操作不同文件访问linux内核或者操作某些硬件设备;
文件是linux进行统一化管理的接口,是linux重要的一部分(重要但非必须,操作系统是否可以脱离文件系统,当然可以),让linux更加方便管理资源和进行交互;
linux中具有不同的文件类型,分别具有不同的作用;
Linux系统中,一切都是文件。
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777