1:Linux文件系统的特点是什么?
通常有四个特点:
文件是无结构的字符流式文件
文件可以动态地增长或减少
文件数据可由文件拥有者设置相应的访问权限而受到保护
外部设备(磁盘设备,键盘,鼠标,串口等)都被看作是文件
2:简单描述一个典型的Linux系统目录结构?
典型的Linux系统目录为一个树结构,整个文件系统有一个根,每个分支上面可以任意增加下一级分支,也可以直接存放叶子,文件名由路径名给出
3:Linux的文件类型有哪几种?
通常有六种:
普通文件
目录文件
设备文件
有名管道
软链接
Unix域套接字
4:什么是VFS?
Virtual File System:是Linux内核中的一个软件层,用于给用户空间的程序提供文件系统接口
5:VFS的作用?
作用:隐藏了各种硬件的具体细节,为所有的文件系统提供了统一的接口,使得在Linux系统中可以使用多个不同的文件系统
6:VFS的通用数据模型是什么?
通用文件模型:主要由四个对象组成
超级块 super-block,存放已挂装文件系统的信息
索引节点 inode,存放关于一个具体文件的一般信息
文件 file,存放打开文件与进程之间进行交互的有关信息
目录项 dentry,保存目录项与相应文件进行链接的信息
7:VFS包括哪些系统调用?
一部分系统调用:
mount() umount() 挂装/卸载文件系统
sysfs()
statfs() fstatfs() ustat()
chroot()
chdir() fchdir() getcwd()
mkdir() rmdir()
stat() fstat() lstat() acccess()
open() close() creat() umask()
dup() dup2() fcntl()
select() poll()
read() write() readv() writev() sendfile()
readlink() symlink()
chown() fchown() lchown()
chmod() fchmod() utime() 更改文件属性
pipe()
8:简述文件系统的注册、挂装以及卸载过程。
注册:把某个具体文件系统的操作代码装入内核。
挂装:
挂装根文件系统,首先内核安装特殊的rootfs文件系统,提供一个作为初始安装点的空目录;其次在空目录上安装一个真正的目录
挂装一般文件系统,每个文件系统都必须有自己的挂装点 mount point(系统上一个现有的目录),使用mount进行安装一个文件系统
卸载:使用umount命令卸载已经安装的文件系统(在卸载之前必须进行检查)
9:ext2文件系统的数据块寻址是如何实现的?
使用索引节点ext2_inode实现。最初的12个元素(总共15个元素)包括了逻辑号,也与最初的12块对应,余下三块都是递增级别的简介索引
10:Linux系统中的设备可以分为哪几种?
两种:块设备和字符设备