第6章Unix管理

上传人:沈*** 文档编号:244307441 上传时间:2024-10-03 格式:PPT 页数:29 大小:406KB
返回 下载 相关 举报
第6章Unix管理_第1页
第1页 / 共29页
第6章Unix管理_第2页
第2页 / 共29页
第6章Unix管理_第3页
第3页 / 共29页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,操作系统教程,西安电子科技大学计算机学院,UNIX,的文件系统,5.9.3 UNIX,的文件系统,改进的多级文件目录,,可以建立,文件别名,(索引结点方式和符号链接方式),有,用户访问权限控制,(文件的读,R,、写,W,和执行,X,,,相应于目录的检索文件、增删文件和进入目录),注意:如果对文件具有写权限,而对文件所在目录没有写权限,仍然可以改变该文件的长度(如添加数据),因为除文件名外的其他文件目录内容都存放在索引结点而不是在目录文件。,文件类型,:常规文件,(ordinary file),、,目录文件,(directory),、,特殊文件,(special file),如外设、先进先出文件,(FIFO),如命名管道;,返回,1.,概述,2.,磁盘文件卷结构,超级块,:描述文件系统的状态,包括磁盘空闲块栈,空闲,i,结点栈,i,节点,(,inode,list,):,存放文件说明信息,每项,64,字节,目录文件,:每个目录项,16,字节。文件名区分大小写。,文件分配,:直接索引,一级、二级、三级间接索引,3.,空闲,i,结点的分配和释放,每次从磁盘上寻找一批空闲,i,结点,把它们的编号记录在,内存的空闲,i,结点栈,中。其中,“铭记”,i,结点,(remembered,inode,),是栈中编号最大的,i,结点。,i,结点分配,时,移出栈顶的,i,结点。若到达,铭记,i,结点则表示栈已空,需要从磁盘上重新寻找。,(,铭记,i,结点在栈底,),struct,inode,struct,inode,*,i_forw,;/*,内存,I,节点的散列队列双向循环勾连指针*,/,struct,inode,*,i_back,;,char,i_flag,;/*,状态标志*,/,cnt_t,i_count,;/*,引用计数,表示该文件打开了几次*,/,dev_t,i_dev,;/*,文件所在设备号*,/,int,i_number,;/*,对应外存,i,节点号*,/,struct,union,daddr_t,i_a13;/*,文件索引表,存放文件的物理盘块号*,/,short i_f26;/*,管道文件的地址索引表*,/,i_p,;,daddr_t,i_l,;/*,最近一次读入的文件逻辑块,用于预读*,/,i_blk,;,inodeNINODE,;,内存,I,节点数,NINODE,一般为,100,。,3.,内存文件控制块,外索引节点,每个文件有一个存放在磁盘索引节点区的索引节点,称为磁盘索引节点,它包括以下内容:,struct,inode,ushort,di_mode,;/*,文件控制模式*,/,short,di_nlink,;/*,文件的链接数*,/,ushort,di_uid,;/*,文件主用户标识*,/,ushort,di_gid,;/*,文件主用户标识*,/,off_t,di_size,;/*,文件长度,以字节为单位*,/,char di_addr40;/*,地址索引表,存放文件的盘块号*,/,time_t,di_atime,;/*,文件最近一次访问时间*,/,time_t,di_mtime,;/*,文件最近一次修改时间*,/,time_t,di_ctime,;/*,文件最近一次创建时间*,/,;,2,系统打开文件表,一个文件可以被同一进程或不同进程,用同一或不同路径名,相同或不同的打开方式(读、写)同时打开。,系统打开文件表,struct,file,unsigned short,f_flags,;/*,文件操作标志*,/,unsigned short,f_count,;/*,共享该结构体的计数值*,/,struct,inode,*,f_inode,;/*,指向文件对应的内存,inode,*/,loff_t,f_pos,;/*,文件的当前读写位置*,/,;,3.,空闲,i,结点的分配和释放,4.,磁盘空闲块的分配和释放,采用成组链接法,,把链表和索引相结合。每一组,50,块,用,索引表,表示;各组间通过链表指针串在一起,构成,链表,。链表的开头是超级块中的磁盘空闲块栈,在运行时被读入到内存中。,栈计数,count,是栈中的空闲块数目,栈中的元素是空闲块编号。链表中的每一块都存放一个类似的空闲块栈,分配过程,:查看超级块中是否,count=1,;,若不是,则弹出栈顶元素,N,,,-count,;,若是,则弹出栈顶元素,N,,,把空闲块,N,中的栈(包括栈计数)读入到超级块中;返回空闲块编号,N,释放过程,:被释放空闲块为编号,N,。查看超级块中是否栈已满(如,count=50,);若不是,则,N,入栈,,+count,;若是,则将超级块中的栈(包括栈计数)写入到空闲块,N,,然后把,N,放入超级块中的栈顶并置,count,为,1,。,4.,磁盘空闲块的分配和释放,成组链接,4.,磁盘空闲块的分配和释放,成组链接法,Unix,对空闲块的管理借助卷资源表,在卷资源表中用于空闲块管理的项目是:,s_nfree,(,相当于前面的,count):,登记空闲盘块的数目,最多,100,个。,s_free100,:,登记空闲盘块的物理块号,假定某个磁盘开始使用时,,盘块共有,449,块,(,不包括,0,块,),,索引结点表,inode_list,区占用,10,块,专用块占用,1,块,实际上文件所占用的空间是,449-10-1,438,块,这,438,块是可以这样分组的:,第一组,3 51,449,共,99,块,第二组,251,350,共,100,块,第三组,151,250,共,100,块,苇四组,51,150,共,l00,块,第五组,12,50,共,39,块,即从后面块向前分组,每组,100,块,但第一组为,9 9,块,最后的第五组不足,100,块,也成一组。第一组的空闲盘块的物理块号及块数登记在第二组的第一块中,第二组的空闲盘块物号及块数登记在第三组的第一块,成组链接法,成组链接法,中;,;第四组的物理块号及块数登记在第五组的第一块中。最后一组,即第五组的空闲盘块物理块号及块数登记在卷资源表中,如下图,1,所示。要特别注意的是第二组的第一块,(350,),中的,s_free,=100,,而,s_free0=0,,它作为一个标志,标识整个存储空间再也没有空闲块了,即,449,作为最后一个空闲块。,成组链接法,成组链接法,(2),空闲盘块的分配。,开始的卷资源表如下图,(a),所示。,如果某一个文件要求申请一个空闲块,,将,s_nfree-1=38,s_free38,即,12,号块分配给申请者。,如果还要申请,则继续。,经过若干次申请后,s_nfree,=2,,如图,(b),所示。,如果此时一个文件要申请,4,块,则首先可以得到,s_free0(,即,50,),分配给申请者,而是先将,50,块中的内容读出,把,50,#,块中的总块数,成组链接法,100,赋给卷资源表的,s_nfree,,而把对应的,100,个物理块号复制到数组,s_free,中,如图,(c),所示,然后再把,50,块分配给申请者,最后再将,51,、,52,块分配给申请者。如下图,(d),所示。,成组链接法,成组链接法,(3),空闲盘块的释放。,假定有一个文件占用了三个物理块,块号吻别是,180,,,181,,,182,。如果当时的卷资源表的状态如下图,(a),所示。,首先填写,182,到,s_nfree65,中,然后,s_nfree+1=66,,同理释放,181,,,180,块,最后卷资源表的状况如图,(b),所示。,成组链接法,成组链接法,卷资源表的状况如下图,(a),所示。,如果有一个文件释放所要占用的,4,块,块号分别为,190,,,185,,,184,,,170,,则首先有,2,块的块号,170,,,184,登记在卷资源表中,其状态如下图,(b),所示。此时,s_free,=100,表示内存中登记的空闲块已经满。下面还要释放,185,、,190,,则系统把当前卷资源表中的空闲块数,100,连同,100,个登记项,写到,1853,块中,然后将,s_nfree,清,0,,再将,185,、,190#,填入到卷资源表中,如图,(c),所示。,成组链接法,6.,打开文件管理,内存,i,结点表,:空闲的内存,i,结点,组织成链表;占用的内存,i,结点,哈希表(对冲突采用链表方式解决),进程所进入的目录,:包括各个打开文件的目录路径,以及进程的当前目录,进入一个目录,如果该目录文件的内存,i,结点已经存在,则只需把内存,i,结点的引用计数加,1,,否则读入该目录文件的磁盘,i,结点并建立内存,i,结点。,系统起动之后,进入根目录并建立相应内存,i,结点,直到系统关闭,退出目录:如关闭文件或修改当前目录,6.,打开文件管理,7.,文件共享,多用户基于索引节点的共享,或利用符号链接共享同一个文件。,1,基于索引节点的共享方式,(,1,)静态共享,通过索引节点(,inode,)来实现文件共享链接的,并且只允许链接到文件,不允许链接到目录。文件链接的系统调用形式如下:,link(oldnamep,newnamep,);,例,6-9,:若系统中进程,A,、进程,B,打开同一个文件,其中,进程,A,以“读”的方式打开文件的描述符为,fp1,,进程,B,以“写”的方式打开文件的描述符为,fp3,。,7.,文件共享,7.,文件共享,例,6-10,:若系统中进程,A,以“读”的方式打开了一个文件,文件的描述符为,fp1,;然后进程,A,创建了子进程,B,,子进程,B,继承了进程,A,有关属性。,link(/usr/wangyp/myfile1.c,/usr/quanyinin/myfile1.c);,link(/usr/wangyp/myfile1.c,/usr/fangmin/testfile.c);,link(/usr/wangyp/myfile1.c,/usr/wangchs/yourfile.c);,执行上述命令后路径名,/usr/wangyp/myfile1.c,、,/usr/quanyinin/myfile1.c,、,/,usr/fangmin/testfile.c,和,/,usr/wangchs/yourfile.c,指向的是同一个文件,7.,文件共享,7.,文件共享,例,6-11,:,P1,进程执行如下代码:,fd1=open(/etc/,test,o_RDONLY,);/*,以只读方式打开,*/,fd2=,open(pocal,o_WRONLY,);/*,以写方式打开,*/,P1,进程创建的子进程,P2,执行如下代码:,fd3=open(/etc/,testexa,o_RDONLY,);/*,只读方式打开,*/,P3,进程执行如下代码:,fd1=open(/etc/,test,o_RDWR,);/*,以读写方式打开,*/,7.,文件共享,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!