1、硬盘中的静态文件和inode(i节点)
a、文件平时存放在硬盘中,以一种固定的形式存放的,这种形式的文件叫静态文件。
块设备(存储器)分为一个一个的扇区,好多扇区组成了一个块,通常1块 = 64(可能) sector(扇区)
b、每一个文件都是一个inode 其实就是一个结构体,包括文件名,区块,大小等等需要找到文件的全部信息。
每个扇区一般是512个字节
c、联系平时经验,
快速格式化:非常快,只删除了inode,只是删除了内容管理表
(慢速)格式化:真正删除了内容
2、硬盘中被打开的文件和vnode(v节点)
一个程序的运行就是一个进程,我们打开的某个文件就是属于某个进程,每个进程都有一个数据结构来记录这个进程的信息,叫进程信息表。进程信息表中有一个内容,指针指向文件管理表,记录了当前进程打开的所有文件及相关信息,用来索引已经打开的文件文件的index就是文件描述符fd,我们最终找到的就是一个结构体,vnode,管理已经打开的一个文件
文件件管理表,用index(fd)索引,找到vnode,vnode记录了被打开文件的各种信息,只要知道该文件的fd,就很容易找到该文件的vnode,fd由open打开时得来,
3、文件与流的概念
stream:流,文件是一个大包裹,里面装了一大堆字符,读出和写入,都只能一个一个字节进行,N多个依次读出和写入时,这些字符就形成了流动的字符流,想传送带。
流是动态的,不是静态的。
编程中经常提到流的概念,一般都是和IO相关的,所以经常叫IO流。
今天讲解这个是为了后面做铺垫。