太晚了 明天要继续理解和归纳下。

为什么linux能使用不同的文件系统

因为linux使用VFS 在用户和文件系统之间提供了一个交换层



文件系统文件管理


数据分为两类即元数据和数据

元数据-文件的属性信息(文件名、大小、文件路径等。)


每一个文件的标识信息叫 inode(index node)

包含:inode号 权限 属组 属组 时间戳 大小 磁盘块的指针


为了加速查找引入位图(bitmap)

inode bitmap

 

block bitmap



将磁盘划分逻辑区域(逻辑容器) 块组 block group

每个块组 都有自己的inode表,块位图,inode位图


super block 超级块  (保存块组信息 整个分区中的全局信息1、块组个数 2、每个块组有多少块 3、块大小 4、空闲磁盘块 空闲inode 已


用inode)保存在元数据区。可以有多个备份。


块组描述符表 gdt:块组名,块组中起始块,结束块。 保存在元数据区。可以有多个备份。


磁盘空间 分区(MBR 不属于任何分区 ):

第0个块 boot block 引导块。

block group0

block group1

block group2

....

block groupn


superblock gdt blockbitmap inodebitmap inodetable datablocks



目录就是完成文件路径映射

目录中是一张表 存储inode号和名称的对应关系




块(block) 文件系统管理磁盘空间所划分的逻辑结构

块大小 2^ 字节 block size 1024byte(1k) 2048(2k) 4096(4K)


通常占用磁盘块的文件:

普通文件 

目录文件:存储文件名称 和inode对应关系

硬链接:同一个磁盘块可以属于多个文件,路径不同但内容相同。



知识点梳理 参考http://blog.youkuaiyun.com/hguisu/article/details/6122513

linux系统一般有四个主要部分

内核  shell 文件系统和应用程序

内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。

一、linux内核

内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动、文件、网络系统、决定系统的性能和稳定性。

内核由如下几部分组成:内存管理、进程管理、设备管理、文件系统、和网络管理等

二、shell

三、linux 文件系统

文件类型:

普通文件 目录文件 链接文件 设备文件 管道文件 套接字文件

linux目录

Linux磁盘分区

linux文件系统

四、应用程序