linux分区:
一般情况下一块硬盘,最多能分成四个分区是 3P+E,4P,或者P+E等等,每个分区都有自己的文件系统,比如ext2,ext3。也就是说每个分区的文件系统是独立的。
操作系统把分区里面内容分成固定的块,因为一个扇区是512B,一个文件很大的话,需要很多io操作,影响效率。
设定好合适的块大小,一次读取4K或者8K的内容,减少了io操作,但存储的文件过小的话 加入0.1K,操作系统是按块的大小操作的,剩下的3.9K就浪费了。
操作系统读取数据流程,先有主引导分区记录 分区数和分区属性(从几柱面到几柱面等)。
然后 分区里有超级块记录inode数量,未使用,已使用数等等,然后操作系统从inode表找到该inode然后找出该文件或目录的属性和该inode指向块内容的指针,进而找出存储块的内容(文件的内容,文件名等),如果存储块是文件那操作系统就把读出到内存中去了,如果是存储块是目录 它会存储他包含 目录或文件的 inode,然后找到对应的inode 读取该属性,在通过指向内功的指针读取内容。
基本这个流程
总结: inode 存储属性(atime,ctime,mtime,set uid flag 等) ,块存储内容 (文件名,文件内容,指向下个文件或目录的指针)