-
Linux文件系统的三层抽象是什么?
如下三个- 第一层抽象:从磁盘到分区
分区可以看作磁盘或者是将磁盘看做分区 - 第二层抽象:从磁盘到序列块
块数组与字节数组 - 第三层抽象:块数组到三个区域的划分(超级块,i-node,数据区)
目录,文件属性,文件内容
1. 超级块:文件系统信息
2. i-node:文件属性——1.每一个文件都有一个i-node;i-node有固定的大小,构成一个i-node表
3. 数据区:文件内容和目录数据
一切皆文件
“一切皆是文件”是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作接口。文件是一种抽象机制,它对磁盘进行了抽象。文件就是字节序列,每个I/O设备,包括磁盘、键盘、显示器、甚至网络,都可以抽象成文件,在Unix/Linux系统中,系统中所有的输入输出都是通过调用IO系统调用来完成。文件是对IO的抽象,就像虚拟存储器是对程序存储的抽象,进程是对一个正在运行程序的抽象。这些都是操作系统重要的抽象。抽象机制最重要的特性是对管理对象的命名,所以文件有文件名,且文件名要符合一定的规范。
写出Cat userlist的过程
要详述目录文件,i-node.数据块,要画图示意
- 第一层抽象:从磁盘到分区