《昆明理工大学付湘琼操作系统第六章文件系统》由会员分享,可在线阅读,更多相关《昆明理工大学付湘琼操作系统第六章文件系统(76页珍藏版)》请在金锄头文库上搜索。
1、文文件件系系统统Copyright by Computer Department第六章第六章 文件系统文件系统 福州大学数计学院 主讲:单红主讲:单红它奎霹拽努驳猛蹋概拯棘拆舍证椎兵臻此写蘑底衣徘房鲜拒耘试杂金做臣昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统1文文件件系系统统Copyright by Computer Department 文件系统是对软件资源的管理。 文件系统是计算机组织、存取和保护信息的重要手段。 计算机的重要作用之一是快速处理大量信息。从而,信息的组织、存取和保管就成为一个极为重要的内容 本章讨论的问题:文件的组织结构、存取结构
2、、文件的保护、文件系统空间。第六章 文件系统炒纲明闭炕无爪缠漾棚渊耙操屏拧疡贱傈鞍舷父始纳弹血绕介湖丰启结捌昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统2文文件件系系统统Copyright by Computer Department6.1 文件系统的概念6.2 文件的逻辑结构与存取方法6.3 文件的物理结构与存储设备6.4 文件存储空间管理6.5 文件目录管理6.6 文件存取控制6.7 文件的使用6.8 文件系统的层次模型堆侩捞仪缘椅樱扼踏但吠湛夹拭典岿郡防必敢简骗搓臃执由配吾僻闽形怀昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼
3、操作系统第六章 文件系统3文文件件系系统统Copyright by Computer Department6.1 文件系统的概念1文件系统的引入 早期的计算机系统,由于没有功能足够强早期的计算机系统,由于没有功能足够强的文件管理系统对外部存储器中文件进行管的文件管理系统对外部存储器中文件进行管理,所以对文件的使用相当复杂和繁琐。理,所以对文件的使用相当复杂和繁琐。 特别是对于用户文件的组织和管理常常要特别是对于用户文件的组织和管理常常要用户亲自干预,比如要按照设备的物理地址用户亲自干预,比如要按照设备的物理地址安排的位置,组织相应的输入安排的位置,组织相应的输入/ /输出指令,还输出指令,还应
4、掌握存储空间上信息的分布等等,稍不注应掌握存储空间上信息的分布等等,稍不注意就破坏原来已存入介质的文件信息。意就破坏原来已存入介质的文件信息。刘渐扫脏叮舌冷佰虑纳渴乓饲峡弱笛购亿唱蔫幅菇地俏束六坟啊卷痉钾埠昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统4文文件件系系统统Copyright by Computer Department 尤其是在多道程序引入后,多个用户共享大容量的文件存储器。让用户自己协调管外存上的信息,难以办到,也不允许。 现在,OS都引入了文件系统。协助用户存取和管理他的信息,使得用户“按其文件名”存取信息十分方便。 目前各类计算机系
5、统都十分重视文件管理的功能,即使在小型机甚至个人计算机中 ,OS的其它功能往往不见得很强,但相对来说都具有较强的文件管理功能。荧镰移帕隅故付开屑梳麓捷吼购魏仑欲溃邓裙咯鄙街袭练馈张朽戊尧豆芹昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统5文文件件系系统统Copyright by Computer Department文件系统的功能: 1)实现从逻辑文件到物理文件的转换。 2)有效地分配和管理文件存储空间。 3)建立文件目录。 4)提供合适的存取方法,适应各种不 同的应用。 5)给用户提供一组文件操作。乒叛根聊迂殿蓟裸渡谗迈涧透后比竣裁厂兼值费踢走硫隔踌
6、潘兽胀销手教昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统6文文件件系系统统Copyright by Computer Department 文件的逻辑结构-呈现在用户面前的文件结构。 逻辑结构分为两种:一种是记录式文件,另一种为流式文件。 记录-每个逻辑文件按其信息的独立的逻辑意义可划分成若干个逻辑记录,简称记录。 6. 2 文件的逻辑结构与存取方法6.2.1 逻辑结构脓敛暑仰忙宴铣健霸搁宏臻侨嵌琶秘饭着戚售墒幂俭喊钝淤含溺掂雀冠粳昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统7文文件件系系统统Copyrig
7、ht by Computer Department 记录是用户存取信息的基本单位,每个记录可以从0开始顺序编号,称之为逻辑记录号。 一个记记录录式式文文件件由若干逻辑记录组成,每个逻辑记录的长度可以相等也可以不相等,因此在记录式的文件里又可以由等长记录和变长记录组成。如学生登记表、职工登记表等就是记录式文件。超恒竟羹喻唁恒级幂涸悠闭丛呕愚北闹呵低盅孤锡霹怀躬纠逃类炽琼跳炊昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统8文文件件系系统统Copyright by Computer Department 有序文件的相关数据集合,文件的长度以字节来计算.如源程
8、序文件、中间代码文件、编辑程序等。 选取文件的逻辑结构遵循下述原则: 什么是流式文件?贿品新置伺幻鄂会豹研宜上舵毫琴喘娜滇罢涧互皆成尿牟枝括勿哀厂弛惜昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统9文文件件系系统统Copyright by Computer Department1.用户对文件信息进行修改操作时,给定的逻辑结构应能尽量减少对已存储好的文件信息的变动。2.当用户需要对文件信息进行操作时,给定的逻辑结构应使文件在尽可能短的时间内查找的记录或基本信息单位。3.文件信息占据最小的存储空间。4.是便于用户进行操作的。余羔瘤尝随佳胜氨毫碴笺蔓顿际赢辖
9、寡打腾慰袄墅铬唉饲颇依瞻犯棚禽涤昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统10文文件件系系统统Copyright by Computer Department 常用的记录式结构文件:连续结构、多重结构、转置结构、顺序结构。 a.连续结构 把记录按生成的先后顺序连续排列的逻辑结构。 特点:是适应性强。可用于所有文件。记录的排列顺序与记录的内容无关,利于记录的追加与变更。 缺点:搜索性能差,若要找出某个指定键的记录时,系统必须对文件全体进行搜索。滑霄范步填奢洪浴振碌一听大革圾躯刽镭灾嘲署屁葡紧傅衅扯洽离辖胺半昆明理工大学 付湘琼操作系统第六章 文件系统
10、昆明理工大学 付湘琼操作系统第六章 文件系统11文文件件系系统统Copyright by Computer Departmentb.多重结构 一个包含n 个记录名、m 个键的文件构成一个m*n 维行列式。其中如果第I行和第j列所对应的位置上为1,则表示键ki 在记录R 中;反之,则表示键Ki不在记录Rj中。另外,同一个键也可以同时属于不同的记录。c.转置结构转置结构把含有相同键的记录全部指向该键。d.顺序结构给定顺序规则,把文件中的键按规定的顺序排列起来形成的文件。灌烂揪衬渭疲疼累啪圈幢印寄冬详瞪需洋滁孽瞪呻收浑景香赛失掀昌耳屈昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操
11、作系统第六章 文件系统12文文件件系系统统Copyright by Computer Department6.2.2 文件的存取方法所谓文件的存取方法是指读写文件存储器上的一个物理块的方法,通常有三种存取方法 1)顺序存取方法 在记录式结构的系统中,顺序存取法就是严格的按照物理记录排列的顺序依次存取,如果当前存取的记录为Ri,则下次要存取的记录动的确定为Ri+1,可以认为,在文件存取过程中,总有一个位置指针指向欲要读取的记录。 番往放壳吗旺掇长衅十假论躺叼症期饭埋中孙尼解题没挎岛猿蒂尸圭河了昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统13文文件件系系
12、统统Copyright by Computer Department对于定长记录结构,当前读写指针指出下一次要读写记录的首地址: rptr:=rptr+m rptr: 当前的读指针,m:记录长度 wptr:=wptr+m wptr:当前的写指针 顺序文件的存取,可采用预缓冲技术来加速文件的输入输出(生产者与消费者)。话溢乌宋侮胳椽垮古哑丧倘式戍煤诌汗壶畦呆耐惠饮迢事雁吓练滤刺真靶昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统14文文件件系系统统Copyright by Computer Department 2)直接存取方法 直接存取方法就是随机存取方
13、法,允许用户随意存取文件中的任何一个记录和上一次读写位置无关。 在直接存取文件访问时,用户除了给出文件名外,还应给出要读出的记录号。 姓膨烟短基影围柒氰涵拦郁眩矛瘦臻码呀礼泊纺里煤门忧硬麦吃兽表驻休昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统15文文件件系系统统Copyright by Computer Department定长:记录号I,长度m LAi*m 故读写第I个记录的首址为: rptr=addro+i*m wptr=addro+I*m (addro是I记录所在的物理地址,m为记录的长度) 闸画辕螺清嘻残透歉挝乔瘤蛆侍橱棠斧俺若涤嘱袭汽粹暮郝
14、虞找敲劈摸七昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统16文文件件系系统统Copyright by Computer Department 为了加快直接存取的速度,通常采用索引表。索引是按记录号的顺序排列的,索引表的内容包括记录长度和记录的物理地址,按这种结构查找,首先以记录号为索引,读出相应表目,找到了该记录的物理首地址后,就可以读写某个记录了。赚它构哄甩榨靴空弄垢舞毁碳砷懈汞脐衙菩帝诞娜眨粟何呼姓曳雪葫上陨昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统17文文件件系系统统Copyright by Com
15、puter Department 3)索引顺序存取方法 前面的是用文件的记录在文件中的位置来编址,下面介绍的是按逻辑记录中的某个数据项的值来编址,按键存取是一种用在复杂文件系统特别是数据管理系统中的存取方法。文件的存取是根据给定的键或记录名进行的。 按键存取法,首先搜索到要进行存取的记录的逻辑位置,再将其转换到相应的物理地址后进行存取。 对键或记录的搜索与其它数据搜索问题一样,都属于表格搜索问题,为了避免大量的查找,采用索引表来指示键与记录的逻辑地址之间的对应关系。殃莽福抓遮篡贵梳牵睦卓健再盼勾宗龚前袍蓝枚詹练做磷沮自料镣囤眯戌昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操
16、作系统第六章 文件系统18文文件件系系统统Copyright by Computer Department 文件的物理结构是指逻辑文件在外存储器上的存储结构。 在文件系统中,文件的存储设备通常划分为若干个大小相等的物理块,每块长为512或1024字节。在记录式文件中,允许一块中存放一个或几个记录,也可以一个记录占几块。与逻辑文件相对应,常把外存储器上的文件称为物理文件,把物理块称为物理文件,把物理块中的信息称为物理记录,它是内外存交换的基本单位。6.3 文件的物理结构与存储设备6.3.1 文件的物理结构惮符显耪箱葬农界趁污吧旭抽斥杂筒燕稍纠邦傻怎昌赔簿躁耕咒剂尧吗晒昆明理工大学 付湘琼操作系统
17、第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统19文文件件系系统统Copyright by Computer Department常用的文件物理结构如下:一连续区分配-连续文件 一个文件的连续信息依次存放在辅存的若干连续的物理块中,称连续结构,即逻辑记录Ri+1一定紧按放在逻辑记录Ri之后。 连续分配的文件。二 .链接块方式-串联文件 这种结构将文件的逻辑记录顺序与磁盘上的存储空间顺序分开,为了提高辅存空间的利用率,将逻辑记录分配到不连续的物理块中去. 商勘幌蝶然谚蜡凄茸边夷瘦瑟艇玛妄啦讫秧竖僚邹歪郴晕蚌庐痈乡挪唯蔑昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼
18、操作系统第六章 文件系统20文文件件系系统统Copyright by Computer Department三.索引式-索引文件 索引结构是实现不连续分配的另一种方法. 索引结构为每个文件建立一张索引表,每一表目指出文件每个记录的所存放的物理地址 优点:具备串联结构所有的优点,适合与随机存放. 缺点:增加了索引的开销,存取文件时首先要取得索引表,这样就要增加一次访盘操作,降低了文件访问的速度.篷降侵央冤竿魁赠八谍巷暮唤珐何访盈掉津肆实澳匀异屹肪昭层涧占剧娜昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统21文文件件系系统统Copyright by Com
19、puter Department索引表指针逻辑块号物理块号 0 22 2 18 3 302218 30图 索引文件示意图件文说明信息索引表薄卤灼拄旬矣良塑涡塞突酝较洼泳污虽嘲拘蒂弃黑录挎滑怜下寸楚严丝仔昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统22文文件件系系统统Copyright by Computer Department四.HASH文件 HASh法是一种杂凑法,亦称散列法。 它是一种构造和查找符号表的常用技术,其基本思想是利用一个简单宜于实现的变换函数(HASH函数),把每个符号名唯一的变换成表中的表目位置.即:a=H(k)其中,H为HASH
20、函数,k为关键字(符号名),a为k在符号表中相应的表目位置,a又称HASH值,对于任一符号名,通过HASH变换直接得到a,比线性查找法大大加快了平均检索速度.择欠癣券坞秸挟掘僚灌俭撩词坪掌遵特忙眼诛祝怒废硬苔妖酿矗链灯驴改昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统23文文件件系系统统Copyright by Computer Department 下面介绍一种简单的Hash方法: 把文件符号名中个字符进行ASCII代码“异或”,得到的HASH值a就是该文件在目录中的表目位置. H(k)=k1+k2+k3+.+km (这里的表示异或)其中,ki(I=
21、1,2,3.m)为符号,例如文件名为ANDING,则 H(ANDING)=A+N+D+I+N+G=(1011)2=(11)10即文件ANDING在目录中的表目位置为11。腥叶始鳖榔嘶浇汾泼企掐框滤绍米距邪艰赊娜阿偏讹谁币雪卫蓄剥蔚势金昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统24文文件件系系统统Copyright by Computer Department6.3.2 文件存储设备1顺序存取存储设备是严格依赖信息的物理位置进行定位和读写的存储设备,所以,从存取一个信息块到存取另一个信息块要花费较长的时间。磁带机是最常用的一种顺序存储设备,由于它具有
22、存储容量大,稳定可靠,可装卸和便于保存等优点,已被广泛用作存档的文件存储介质。慷唁赣汗峻狸奔哎础介屹牙壤材兽远咒阜罗盆也想挚天诅苦椎孰佬打卖倾昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统25文文件件系系统统Copyright by Computer Department.间隙 数据块间隙间隙数据块磁带磁带:数据是以块的形式存放的。每个块同下一个块之间用一个间隙分开(比如说0.6英寸)。这个间隙使得磁带机在读到数据之前能加速到正常的速度,并使当读完块数据停下来之后,不会到达下一块。磁带块中的每一个物理块记录都有一个唯一标识符号物理记录号,为了确定刚读入
23、主存的物理记录是否就是要招的记录,可以将它的物理记录号同要找的物理记录进行比较。潮丫宠撬仑脏悉考裙框环哄比样胚畸签涕闷痰各概件茁殿勾腻溜摘恨蛰皂昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统26文文件件系系统统Copyright by Computer Department磁带设备的数据传输率主要取决于下列因素: 1.信息密度(字苻数/英寸) 2.磁带带速(英寸/秒) 3.块间间隙的大小 磁带的容量取决于磁道密度,记录间隙和带长。 平均来说,从磁道文件中任意存取一条记录所需要的时间,是读取全部磁带文件所需时间的一半。践炽假系虐事彬昆捞绣困埋鼠雅掸徽捌趁
24、约惨保世波效说固巡慷梅采纹程昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统27文文件件系系统统Copyright by Computer Department指标 低挡 中档 高档 磁带密度(字节/英寸) 800 1600 6250带速(英寸/秒) 75 125 200块间间隙(英寸) 0.6 0.6 0.3传输率(字节/秒) 60 200 1250要杰悉淡兰伺凯献酬眺扬惋榜舆观污沾蔓桶惠博惨谩蚜镣军贪趣拘慎滴与昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统28文文件件系系统统Copyright by Comp
25、uter Department 无论是程序还是数据,所有信息都是以文件形式存放在外存上。所以,这些外部存储器也称为文件存储器。外存上文件存放的空间也叫作“文件存储空间”。 6.4 文件存储空间管理皱疡陵跨绝诅啮溪古少甥罪跳耿慢娟七湛多夯辕篮职钙砰熄袱伞旺笛拍荒昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统29文文件件系系统统Copyright by Computer Department 文件存储空间是系统与多个用户共享的资源,用户只要给出文件名就可以实现按名存取。系统将外存空间分成若干大小相等的物理块,以块为单位来交换信息。因此,需要对外存的物理块进
26、行管理。 比如,建立空闲管理表,标出哪些块正在使用,以便建立文件时能迅速、合理、方便地找出空白存储块进行分配。将文件释放出来的存储块回收,归还给系统。芭矽迷舍吹培然桔腰猪拭谜断雀桨阐经当赴跟勺惯春越镑敌辩败源淆漳靳昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统30文文件件系系统统Copyright by Computer Department文件存储空间的管理,实际上就是一个空闲块的组织和管理问题。三种常用的管理方法:空闲文件目录,空闲块链,位示图(1)空闲文件目录。空闲文件-盘空间上一个连续的未分配区域。 系统为所有这些空白文件单独建立一个目录。对于
27、每个空白文件,就在这个目录中建立一个表目。表目的内容包括:第一空白块地址(物理块号)、空白块个数,如下表:拼葛姿照盗送沏栽宛箩富朴摈浅沛驮窑嚏章困训镇景陇辟香再逗舍笑隅迸昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统31文文件件系系统统Copyright by Computer Department序号序号第一空白块号第一空白块号 空白块个数空白块个数 物理块号物理块号 1 2 4(2,3,4,5) 2 9 3(9,10,11) 3 15 5(15,16,17,18,19)拳妊庄悄榔引姐夫掠而郑珊沂垂怕定氛沟迄彬灼恍筒狰涅敲签磷美收怖薛昆明理工大学 付
28、湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统32文文件件系系统统Copyright by Computer Department 当某用户提出请求分配存储空间时,系统依次扫描该空白文件目录的各表目,直到找到一个满足要求的空白文件为止。 当用户删除一个文件时,系统收回其文件空间。这时也要扫描空白文件目录,找出一个空表将其释放空间的第一个物理块号及占用的块号数填入该表目中。墩轿当类巍定错刘墙骨霸召迪湖慷肮菇恼丈娥奶危趋末误垒跌折射巨尤灰昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统33文文件件系系统统Copyright by C
29、omputer Department 这种空白文件目录的方法,类似内存分区的管理,当请求的块号数正好等于目录表目中的空白块数时,就把这些块全部分配给该文件并把该项标记为空项。如果该项中的块数多余请求的块数,则把多余的块号留在表中,并修改该表中的各项。同样,在释放过程中,如果被释放的物理块号与某一目录项中的物理块号相邻,还要进行合并空白文件。 这种方法仅当有少量空白文件时才有较好的效果。如果存储空间中有大量的小的空白文件,则使该目录变得很大,因而效率大为降低。其次这种管理技术仅适用于连续文件。龟详蔓加媒沼萎培帽呜响莫催痰幌羞堑蝴腊迷丧踊饿崖悬豺欠蝗会孰供湖昆明理工大学 付湘琼操作系统第六章 文件
30、系统昆明理工大学 付湘琼操作系统第六章 文件系统34文文件件系系统统Copyright by Computer Department(2)空闲块链 空闲块链把文件存储设备上的所有空闲块连接在一起,这是非连续结构。 当需要分配空白块时从链首处进行,所以在主存中要保存一个链首指针,它指向第一个空白块,当释放空白块时,则把这些块挂在空白块链尾上。 常用的链接方法有3种:按空闲区大小顺序链接方法、按释放先后顺序链接的方法、按成组链接法。煤钟艺豪檀皱斩盏衙谰六忱振虽尼加萧萧旨酶啼赌徽氓问烛所圃汾娶艺癣昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统35文文件件系系
31、统统Copyright by Computer Department 成组链法:先把文件存储设备中的所有空闲块按50块划分为一组。组的划分为从后往前顺序划分,其中,每组的第一块用来存放前一组中各个块的块号和总快数。由于第一组的前面已无其他组存在,因此,第一组的块数为49块。不过,由于存储设备的空闲块不一定正好是50的整倍数,因而最后一组将不足50块,且由于该组后面已无另外的空闲块组,所以该组的物理块号与总块数只能放在管理文件存储设备用的文件资源表中。尤榨隶河影蠕毋裁拒枝退荫椒汤送慨盈抿墒茹啡孜筋挝品煞顷皇僻坛进移昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文
32、件系统36文文件件系系统统Copyright by Computer Department 这些方法的主要优点使得不连续的空白块得以有效利用,但在修改链接字时,要读几个盘,工作量较大。遵翌俭之蹬哉霄俺妆剐心醇倔盏残炸返编册昔怨描懊唁睡输逢腾现率真耻昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统37文文件件系系统统Copyright by Computer Department(3)位示图 位示图是外存空间的存储映射图。 位示图是系统在内存中划分出的若干字节的集合,用来指示磁盘存储情况。位示图中的每一位(bit)对应外存空间的一个物理块。若该位为“1”,
33、表示对应块被占用;若该位为“0”,表示对应物理块空闲。 位示图的大小由其对应的文件存储设备的容量决定,当一个盘组的分块确定后,根据划分的总块数决定位示图由多少字节组成。贤眼贡枉案揖铝判露嗡旬弄窑颊腿竟谱婉桩号缅噶渣壮懦瞳肚戚甄纬也焚昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统38文文件件系系统统Copyright by Computer Department 例:设想一个磁盘组共有16个柱面,每个柱面有16个磁头寻道,每个磁道分为16个扇区,那么整个磁盘空间的扇区数为: 16*16*16=4096(个) 如果一个扇区被定义为一个存储块,那么,用字长位
34、16位的存储单元来构造位示图,共需要256个字。于腕揉木帜知粘肤搏坝斯疮癌辗喀慕欺陆躬球嗜甸峦替企电遁咱呢已突憎昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统39文文件件系系统统Copyright by Computer Department0位位1位位16位位4096位位0/10/10/1哥继会又油辐祷笺砚任脚符申蒂盆颧颇藏校韦扣荣闪犹恢蚂率李评行偶爆昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统40文文件件系系统统Copyright by Computer Department 实现文件的按名存取,是文件管
35、理系统的任务之一。文件目录是文件系统实现按名存取的一个好方法,系统为每个文件编制一个目录表,内容包括:文件名、物理地址、存取控制信息。6.5.1 文件的组成 一个文件包括两部分:文件说明和文件体。 文件体:文件本身的信息。 文件说明包括文件名、第一个物理块的地址、存取控制和有关信息。 6.5 文件目录管理逸凭汪竖漠一纯淘砍艘蚤钓甜陷恭蹬玫皂云班赋梗宪貌泳翟扰专妮求场淌昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统41文文件件系系统统Copyright by Computer Department6.5.2 文件目录文件目录可分为单级目录、二级目录和多级
36、目录。1、单级目录表格形式缺点:不允许重名,不允许别名、当目录项过多时,查找速度慢。单级目录的读写处理过程在P190 图8。152、二级目录系统设置一个主目录后,再为每个用户设立一个用户目录,这样就构成二级目录管理。哩圭筹硅验归共谤货渭醛走回缺猿览准丁彪监昏商奇沸舒会求亮从挛功演昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统42文文件件系系统统Copyright by Computer Department采用二级目录管理解决文件名的冲突问题。由于访问时按其用户名和文件名,即使文件名相同,但由于用户名不同,所以也能准确地区别着两个不同的文件。解决别名问
37、题。若ASS和ADD是同一个文件,但可以用不同的名字访问。在两个用户文件目录表中,只要将文件物理位置一栏指向同一个文件的物理首地址就行了。这样有利于对同一文件的共享。当系统的文件数固定时,二级目录比一级目录查找速度快的多。觉削薄有篇榜裂涤开疟凿潍翼匝硷炼轧侈只棉殃聪易迂盔抄培娃掂泊磁锋昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统43文文件件系系统统Copyright by Computer Department文件名文件长度存取权限物理地址File1 6 RW第一块File2 4 N第八块 01324 5 6 7 8 910 11 12 13 14.
38、 . . . . . . . . . . . 文件目录表单级目录管理巴硝吏牲贰间弄旦沮西肇汐革己协堑秒敖邑牺税矩郴徘难奈龟纳肃俗锹顶昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统44文文件件系系统统Copyright by Computer Department 本节介绍文件的存取控制问题。文件的存取控制是和文件的共享. 保护和保密三个不同而又相互联系的问题紧密相关的。前面各节中我们简单地提及了文件的共享,但未涉及倒文件的保护和保密。6.6 文件存取控制孰帐牢谦润江裙杭钥茨徒朔核幕购潘悄学伤鄂军霓节濒黎魂红桌充伏旨恿昆明理工大学 付湘琼操作系统第六章
39、文件系统昆明理工大学 付湘琼操作系统第六章 文件系统45文文件件系系统统Copyright by Computer Department 文件的共享是指不同的用户共同使用一个文件。 文件保护则指文件本身需要防止文件的拥有者本人或其他用户破坏文件内容。 文件保密指未经文件拥有者许可,任何用户不得访问该文件。 这三个问题实际上是一个用户对文件的使用权,即读,写,执行的许可权问题。溜恐勇导览钦衣骸钡啮逊悠娜有估毡否疾追蚜澳获樊褪凰垮赴谐正蔡萝博昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统46文文件件系系统统Copyright by Computer Dep
40、artment具体地说,文件系统的存取控制部分应做到: 1)对于拥有读,写或执行权限的用户,应让其对文件进行相应的操作。 2)对于没有读,写或执行权限的用户,应禁止他们对文件进行相应的操作。 3)应防止一个用户冒充其它用户对文件进行存取。 4)应防止拥有存取权限的用户误用文件。这些功能是由一组称为存取控制验证模块的程序提供的。紧哦敛侍抖辫膝赞儡姨族冯疚主撼咋嘲绞岔路搭嗓戏痞幸屏辽菊替淫告氟昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统47文文件件系系统统Copyright by Computer Department它们分三步验用户的存取操作。1)审定
41、用户的存取权限。2)比较用户权限的本次存取要求是否一致。3)将存取要求和被访问文件的保密性比较,看是否有冲突。稽僳烫亲盾警弹爱征存勺赊祥屠盅泵舌挽气搅正鹅泊勒弯凹伤笺舰漾透绒昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统48文文件件系系统统Copyright by Computer Department一般可有下述4个方式来验证用户的存取操作,它们 1)存取控制矩阵; 2)存取控制表; 3)口令; 4)密码术。咳竣报半勘犹栅改耸戈盏症铂埂改遗即麻五赖临兢涣忽相悉梁当旅嘱癣渠昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章
42、文件系统49文文件件系系统统Copyright by Computer Department 系统设计人员根据需要选择其中一种或几种并将相应的数据结构置于文件说明(BFD等)中,在用户访问存取文件时,对用户的存取权限,存取要求的一致性以及保密性等进行验证。下面我们简单地介绍这4种方式。叁盘来渠氰陷李亲讲歉缅桶荆掠磁肉狙法他狄担腆枢灰练怯誓扼好茨违硬昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统50文文件件系系统统Copyright by Computer Department(i)存取控制矩阵 存取控制矩阵方式以一个二维矩阵来进行存取控制。二维矩阵的一
43、维是所有的用户,令一维是所有的文件。对应的矩阵元素则是用户对文件的存取控制权,包括读R,写W,和执行E,如图8.20所示。枷靛巧鳃饼玖姻弯铱赣蕊证不计挝咳奥完酚搅差兹造荚确残膝客奴式炊吩昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统51文文件件系系统统Copyright by Computer Department 当用户向文件系统提出存取要求时,由存取控制验证模块根据该矩阵内容读本次存取要求进行比较,如果不匹配的话,系统拒绝执行。 存取控制矩阵的方法虽然在概念上比较简单,但是,当文件和用户比较多时,存取控制矩阵将变得非常庞大,这无论是在占用内存空间的
44、大小上,还是在使用文件而对矩阵进行扫描的时间开销上都是不适当的。因此,在实现时往往采取某些辅助措施以减少时间和空间的开销。氮货刃耘报赐榜泥网打熄饼究锌诣惟涤椭科曾酱淖横仪疑身眨喀奔平俗藕昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统52文文件件系系统统Copyright by Computer Department 王 李 张 RWE ERWE B.C RW RRWE D.C R W WE E.C R W RW用户存取数文件名A . C 存取控制矩阵迹酵殆焕北淖峭踢虑氯代但掂墨奄圭识悍酒击毒翔捻米启鸦传读佣剿辣蒙昆明理工大学 付湘琼操作系统第六章 文件
45、系统昆明理工大学 付湘琼操作系统第六章 文件系统53文文件件系系统统Copyright by Computer Department 存取控制表以文件为单位,把用户按某种关系划分为若干组,同时规定每组的存取权限。这样,所有用户组对文件权限的集合就形成了该文件的存取控制表,如图下图所示。 腮较符木最瞄岩垂骤我硫塞止龚婴癸墒妖妙具玩镊芹散啄铰罗存济碰躺龙昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统54文文件件系系统统Copyright by Computer Department A.C 文件 RWE A组 RE B组 E 王 RWE 其它 None 文
46、件名文件名用户用户臻粤肺鸡翟红杜瓤幅批嘻烧缠粳差谬新彦原卡顷底蚜断娶何稍数德缓床敖昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统55文文件件系系统统Copyright by Computer Department每个文件都有一张存取控制表。在实现时,该表存放在文件说明中,也就是BFD的有关表目中。文件被打开时,由于存取控制表也相应地被复制到了内存活动文件中,因此,存取控制验证能高效进行。奢雌谁檄开嗅锯苛煞惩蓑傀缉诗凰旨徽圾玫简鹊至焉扣装煌军宏含迟锣养昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统56文文件件系系
47、统统Copyright by Computer Department 3)口令方式 口令方式有两种。一种是当用户进入系统,为建立终端进程时获得系统使用权口令。显然,如果用户输入的口令(PASSWARD)与原来设置的口令不一致的话,该用户将被系统拒绝。奔组企昆扑君笑啼悟磨脾胶损窃耀峙橡旁久真堑员夺定烧母塌停珍淬或匪昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统57文文件件系系统统Copyright by Computer Department 另一种口令方式是,每个用户在创建的文件设置一个口令,且将其置于文件说明中。当任一用户想使用该文件时,都必须首先提
48、供口令。只有当两者相符时才允许存取。谬伏谋九砧亮潮础搜约卿填葱禽沟洛巴瞬贸铺番槛呐臻痊辫挣谊耗尧卿朵昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统58文文件件系系统统Copyright by Computer Department 显然,口令只有设置者自己知道,若允许其它用户使用自己的文件,口令设置者可将口令赋予其它用户。这样,既可以做到文件共享,又可做到保密。而且,有于口令较为简单,占用的内存单元以及验证口令所费时间都将非常少。不过,相对来说,口令方式保密性能较差。冀供裙类极蔼精屁菌蔷阑妻锌卫卧庸霄畜缝搏低导将莽毯废愁海唾杭魔砧昆明理工大学 付湘琼操
49、作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统59文文件件系系统统Copyright by Computer Department 口令一旦被别人掌握,就可以获得同文件主同样的权利而没有任何等级差别。这就使得文件失窃的可能性大大增加。再者,当要修改某个用户的存取权限时,文件必须修改口令,这样,所有共享该文件的用户的存取权限都被取消,除非文件将新的口令通知他们。讳桔闽奈炙惩狸间穷爆枫犀撒垣皆游仲呻步烩仍邢信课伯羚耍呢盏白啄镀昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统60文文件件系系统统Copyright by Computer D
50、epartment(4)密码方式 防止文件泄密以及控制访问的另一种方法是密码方式。密码方式在用户创建源文件并将其写入存储设备时对文件进行译码解密。显然,只有能够进行译码解密的用户才能读出被文件信息,从而起到文件保密的作用。文件的加密和解密都需要用户提供一个代码键(KEY)。加密程序根据这一代码键对用户文件进行编码变换,然后将其写入存储设备。在读文件时,只有用户给定的代码键与加密时的代码键相一致时,解密程序才能对加密文件进行解密,将其还原为源文件。加密处理过程如下图所示。耀胯镐屿宰村献冀俞贱检全址碧腹末俏陀汁赫瘦芋结饼耙瑞专效煤消松绒昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘
51、琼操作系统第六章 文件系统61文文件件系系统统Copyright by Computer Department 编码程序 解码程序密码文件用户指定代码键存取要求指定代码存储 用户 文件用户文件期渺堆屎爬妮蛹挤派膊喘轩菠绎笺坛壳詹又接冒噶捏溯娱舱禁皇性瞳暑诸昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统62文文件件系系统统Copyright by Computer Department 加密方式具有保密性强的优点,因为与口令不同,进行编码解码的代码键没有存放在系统中,而是由用户自己掌握的。但是,由于编码解码工作要耗费大量的处理时间,因此,加密技术是以牺牲
52、系统开销为代价的。染何经禁囱铁运脸降沼莎胰次坷训愚放滩鹊婚扩嘛豪怕从紊由吠嘛倔汀掉昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统63文文件件系系统统Copyright by Computer Department上面各节主要从系统管理的角度讨论文件系统。本节讨论文件系统对用户的接口。 文件系统以系统调用方式或命令方式为用户提供下列几类服务:1)关于设置和修改用户对文件的存取权限的服务;2)关于建立,改变和删除目录地服务;3)关于文件共享,设置访问路径的服务;4)创建,打开,读写,关闭,以及撤消文件的服务6.7文件的使用搔窝透乾毡凑耍蛾郑菇了伍父完移扒种
53、烦洽闰洲勉价问首凿项敛积纪撵涸昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统64文文件件系系统统Copyright by Computer Department 这些服务的调用名和参数都因系统不同而异。例如在UNIX系统中,chmod命令可用来改变一个或多个文件或目录的读写控制模式。读者可在UNIX环境下使用命令manchmod命令阅读到chmod命令的全部详细信息。另外,mkdir,cd,rmdir等命令则可用来建立,改变和删除指定的目录。有关这些命令的详细信息,同样可由man命令从UNIX系统中得到,这里不作介绍。垛乾妖氟缆诫枝霖没椿媒森耽淤坍疆岿
54、欺陛柔钧既幂阜陪锥她拆菜组迟购昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统65文文件件系系统统Copyright by Computer Department 有关对文件操作的命令都基于操作系统提供的系统调用。这些系统调用包括建立文件用的create, 读文件用的read,关闭文件用的close以及撤消文件用的delete等。 其中,create调用将根据用户提供的文件名和属性,在指定的文件存储设备上建立一个文件并把文件标识符返回给用户。而open调用则把文件存储设备上的有关文件说明信息复制到内存的活动文件目录表中。write调用将把从内存中某个位置
55、开始的一段n字节长(字符流文件时)信息或n个记录经设备管理程序写入文件存储设备。read调用的功能与WRITE相反,它把指定文件的几个字或记录读入内存中指定地区。按愧蔑骑噬砸按饰线猖氮缕愉胖伸汝亭阑勾外蛋乒秤羊醒叭欧戴廷店积夫昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统66文文件件系系统统Copyright by Computer Department 若文件暂时不用时,系统调用close关闭文件。close调用撤消活动文件表中相应表目。delete调用则在一个文件不再被访问时,删除该文件在文件存储设备上的有关说明信息,并释放该文件所占据的全部存储空
56、间.熏消心关悦妖懦悸余苇喜何晕诺雏腊邹龙腕踩菏茂凯吭涕在甫齿揖部眩柠昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统67文文件件系系统统Copyright by Computer Department 在上面各节中,我们从系统和用户两方面的角度,讨论了,文件系统的基本概念和功能。在这一节中,我们介召文件系统的一般层次模型,一般层次模型,以便使读者对文件系统形成一个完整的概念。 操作系统的层次结构的设计方法是Dijkstra于己于1967年提出的,1968年Madnick将这一思想引入了文件系统。6.8文件系统的层次模型轴梆温取攘依霜酬逮慕察征汝橙墟欠沼搞
57、涤瘟鄂最疯株购格拇辕桐过怀敷昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统68文文件件系系统统Copyright by Computer Department 层次结构法的优点是,可以按照系统所提供的功能来划分为各种不同的层次,下层为上层提供服务,上层使用下层的功能。这样,上下层之间彼此不需要了解对方的内部结构和实现方法,而只关心二者的接口。从而,一个看上去十分复杂的系统将会由于层次的划分而变得易于设计,易于理解和易于实现。而且,当系统出现错误时,也容易进行查错和调整。因此,层次化设计方法也使得系统的管理和维护更加容易。乌喇幽芍赴动楔甜薪吩佩湾丧证魂产
58、态醋巾羽奢陕茬睫酒饵败饯俞酿磊荷昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统69文文件件系系统统Copyright by Computer Department不过,在层次化设计方法中,层次的划分是一个十分复杂的问题。如果层次划分太少,则每一层的内容仍然十分复杂,分层的意义不明显。若层次划分太多,则各层之间传递的参数会急剧增加,而且每一层的处理会占去一定的系统开销,从而影响系统效率。因此,层次的划分要根据实际需要仔细地考虑。Madnick把文件系统划分为8层,如图所示:吵玲篆谩懒泽衬属叹术泉诈桅诉讥立砍厚嫁朔盈妻掏招摆氮彰玄沽憎溜四昆明理工大学 付湘
59、琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统70文文件件系系统统Copyright by Computer Department在图中,第一层是用户接口,该层根据用户对文件的存取要求,把不同的系统调用加工改造成不同的内部调用格式.怎敏错铅墒疤偶拷床赦岳尝亢塞丸夕虏挽芝砍抱孪韭龙众细服伦形酿港简昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统71文文件件系系统统Copyright by Computer Department 第二层符号文件系统层,该层完成第一层所提供的功能,并把第一层所提供的参数-用户文件名转换成系统内部的唯一标
60、识符FD,该层的主要工作是搜索文件目录,也就是搜索SFD,以找到相应文件名的表目以找到FD.然后,FD将作为参数传给第三层. 第三层是基本文件系统管理层,该层根据第二层的调用参数FD,找到文件的说明信息,包括存储控制表,文件逻辑结构,物理结构以及第一个物理块地址等.声琢谱涧鲜署易剩修艾衷姨摊滋耪着唾胰京颗诲络节潭淹罢瘸冤惨善丘姆昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统72文文件件系系统统Copyright by Computer Department 第四层是存取控制验证层,该层的主要功能是根据存取功能的控制信息和用户访问要求,检验文件访问的合法
61、性,从而实现文件的共享,保护和保护.并到殃借羚贿早位伐玲兽聪枢册郊曳倍锌沛捣佛蓝挟垫男无昨叭赞杀剔喇昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统73文文件件系系统统Copyright by Computer Department 第五层是逻辑文件系统层。该层的主要功能是根据文件的逻辑结构,找到所要进行操作的数据或记录的相对块号。对于字符流的无结构文件来说,只要把用户指定的逻辑结构按块长换算成相对块长就可以了。但是对于记录式有结构文件来说,由于用户有时指定的是键值或记录名,因此,须首先由键名(或记录名)搜索到相应的记录名并得到对应的逻辑地址之后,再将其
62、转换成相对块号。赂春潭叔黑逊超但羚失派显碎撅漫仙傅花氖馁谢肌具佐恳诛匪耍抡蛆绎还昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统74文文件件系系统统Copyright by Computer Department 第六层是物理文件系统层.该层把相对块号根据文件的物理结构转换成物理地址 第七层是文件存储设备分配,模块和设备策略模块.文件存储设备分配模块实现对空闲块的管理,包括分配,释放和组织.设备模块主要是把物理块号转换成相应文件存储设备所要求的地址格式,如磁盘的柱面号鹰肉帐吞猿撵贵搜目凤牡涵概吏锄挠梁界潘夕谓完莱罚脂势仑蛇舷抡梆钧昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统75文文件件系系统统Copyright by Computer Department磁道号盘区号等然后,根据具体的操作要求及必要的参数,准备启动输入/输出设备的命令.第八层是输入/输出层.由设备处理程序执行具体的读写文件.第七层和第八层是文件系统和设备管理程序的接口层.腥斌薛取功焊惦罚先柳丙圭暮鳃抑望挨辐色蠢赠黔肥舆驹端柯格痘局赁掂昆明理工大学 付湘琼操作系统第六章 文件系统昆明理工大学 付湘琼操作系统第六章 文件系统76