linux0.12文件系统的设计结构,简析fs目录下各文件的功能。
文件系统的系统调用
- 存取已存在文件:
open、read、write、lseek、close - 创建新文件:
creat、mkmod - 管理索引节点和文件系统:
chdir、chroot、chmod、stat、fstat - 管道相关:
pipe、dup - 挂载文件系统:
mount、umount - 修改文件层次:
link、unlink
与文件系统相关的目录

- buffer.c 高速缓冲区的相关操作
get_hash_table在高速缓冲区中寻找指定的缓冲块getblk取高速缓冲中指定的缓冲块brelse释放指定缓冲块bread、breada、bread_page从设备上读取指定数据块(一块、多块或一页)到高速缓冲区
- bitmap.c i节点位图和逻辑块位图的相关操作
free_block释放设备dev上数据区中的block号逻辑块new_block向设备dev申请一个逻辑块free_inode释放指定的i节点new_inode在设备dev上创建一个新i节点
- super.c 超级块的相关操作
get_super取指定设备dev的超级块结构体指针put_super释放指定设备dev的超级块- 系统调用:
umount、mount
- truncate.c 文件截断
truncate截断文件,即释放文件占用的空间
- inode.c
bmap取文件数据块block在设备上对应的逻辑块号iput放回一个i节点iget取得一个i节点
- namei.c
_namei根据指定路径名寻找对应的i节点- 系统调用:
mknod、mkdir、rmdir、link、unlink、symlink
- read_write.c 为不同文件类型的读写操作提供统一的接口
- 系统调用:
read、write、lseek
- 系统调用:
- open.c
- 系统调用:
ustat、utime、access、chdir、chroot、chmod、chown、open、creat、close
- 系统调用:
- fcntl.c
- 系统调用:
dup、dup2、fcntl
- 系统调用:
- select.c
- 系统调用:
select
- 系统调用:
- stat.c
- 系统调用:
stat、lstat、fstat、readlink
- 系统调用:
-ioctl.c
- 系统调用:ioctl
- exec.c
- 系统调用:
exec簇
- 系统调用: