操作系统 习题参考答案
E15:UNIX V6++文件系统
参考答案与说明
1. A B B B AC A BC
2. 【参考答案】UNIX 文件系统涉及的主要数据结构及相互关系如下所示:
引导
0
内核映像
1 ~ 199
Super block
200 ~ 201
DiskInode区
202 ~ s_isize +201
数据块区
1024 ~ s_fsize -1
全局数据对象g_spb
系统初启时
读入
DiskInode[0]
DiskInode[1]
DiskInode[2]
...
...
内存inode表
Inode InodeTable::m_Inode[100]
文件打开时
复制
i_dev; i_number;
i_addr[10];
i_mode; i_size;
i_nlink; i_uid;
i_gid; i_count;
i_flag; i_lastr;
混合索引
指向
...
系统打开文件表
File OpenFileTable::m_File[100]
unsigned int f_flag;
int f_count;
Inode* f_inode;
int f_offset;
文件系统
存储介质
内存
...
进程打开文件表
File* Openfiles::ProcessOpenFileTable[15]
进程的user对象
u_ofiles
内存或盘
交换区
fd(文件句柄)
3. 【参考答案】文件外存索引节点 DiskInode 用于记录文件的静态信息,包括文件的地址
索引结构等。DiskInode 是驻留在外存而不能直接访问的,对它们进行的查询、修改要通
过内存进行,按一般方式,可将其临时调入内存,但是这样非常麻烦、费时。UNIX V6++
文件系统可能是相当庞大的,当用户需要使用某一文件时,对 DiskInode 的访问往往是
非常频繁的,按上述方式进行很不经济。文件系统的工作效率一定是十分低下的。所以,
从提高系统工作效率出发,需要在内存设置一个非常精炼的文件管理机构。这一机构不
应当是外存上文件管理机构的全部拷贝,而应适应于管理最近正在使用的一些文件。而
且,为了系统管理和用户使用的方便,对这些文件进行存访、处理是也不再使用符号文
件名,而只要求使用整型编号数。这就是设置内存 Inode 节点的目的和意义。
4. 【参考答案】
评论0
最新资源