- 1、本文档共112页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 文件系统; UNIX文件分类;7.2 文件的访问方式;7.3 文件的组织;7.3.2 文件的物理组织;顺序结构:
一个文件占有若干连续的磁盘块。
优点:速度快,节省空间
缺点:长度变化困难;链接结构:
一文件可存于不连续块中,块间以指针相连。
优点:节省空间,长度变化容易。
缺点:随机访问速度慢。;索引结构:
一文件可存于不连续块中,块号记在索引块中。
优点:速度快,长度变化容易。
缺点:索引块占空间。;Hash结构:
计算地址:
hash(key)=addr (在磁盘或文件中的存放位置)
问题:给定key1?key2
hash(key1)=addr1;
hash(key2)=addr2;
addr1=addr2 (conflict)
Conflict resolution: 顺序探查法:
如发生冲突,则在冲突位置开始顺序探查第一个空闲的存储位置。;;查找记录:;删除记录:;UNIX文件物理结构(索引+链接);7.4 文件目录;文件控制块FCB(File Control Block);单级目录(Single-Level Directory);两级目录(Two-Level Directory);;文件目录的查找;文件目录的改进;UNIX文件卷(volume)组织形式:;7.5 文件的共享;文件的共享;7.6 文件的保护、必威体育官网网址与安全;;1. 存取控制矩阵;2. 访问权限说明(UNIX)i_mode;7.6.2 文件必威体育官网网址;保存时:
用一个key启动一个随机数发生器,产生一个随机数序列,将其依此加到文件的各个字中。
读取时:
用同一个key启动同一个随机数发生器,产生相同随机数序列,将其依次由文件的各个字中减去。;7.6.3 文件系统的安全;7.6.3 文件系统的安全;7.7 文件系统的实现;7.7 文件系统的实现;7.7 文件系统的实现;外存空间的管理;空闲块管理(成组连接):
100个空闲块为一组,组之间相互链接,最前面的组记在超级块中,安装后缓冲到内存。
;空闲块管理:
申请时:
(1) s_nfree1, 分配s_free[--s_nfree]所指的块;
(2) s_nfree=1, 将s_free[0]所指的连接块读入内存缓冲区, 前202字节复制到filesys,分配s_free[0]所指的块.
释放时:
(1) s_nfree100, s_free[s_nfree++]=释放块号;
(2) s_nfree=100, 将s_nfree和s_free拷贝到释放块中,写回外存, s_free[0]=释放块号, s_nfree=1.
;7.8 文件系统的界面;7.8 文件系统的界面;7.8 文件系统的界面;7.8 文件系统的界面;7.8 文件系统的界??;7.8 文件系统的界面;7.8 文件系统的界面;7.8 文件系统的界面;UNIX文件系统的实现;
1. u_ofile (每进程一个)
struct user
{
…
int u_ofile[NOFILE];
…
}
#define NOFILE 15 ;UNIX系统的FCB;表间联系:
u_ofile ? file
(n) (1)
file ? inode
(n) (1);;UNIX外存空间管理:;Struct filesys {
int s_isize; //size in blocks of i list
int s_fsize; //size in blocks of entire volume
int s_nfree; //number of in core free blocks
int s_free[100]; //in core free blocks
int s_ninode; //number of in core I list
int s_inode[100]; //in core free I nodes
char s_flock; //free list locking
char s_ilock; //i list locking
char s_fmod; //super block modified flag
char s_ronly; //mounted read only flag
char s_time[2]; //current date of la
文档评论(0)