浙大操作系统11课件_第1页
浙大操作系统11课件_第2页
浙大操作系统11课件_第3页
浙大操作系统11课件_第4页
浙大操作系统11课件_第5页
已阅读5页,还剩28页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

UNIX(1)UNIX磁盘文件卷结构超级块:用于存放文件卷的资源管理信息,包括整个文件卷的盘块数、磁盘索引结点的盘块数、磁盘空闲盘块号栈和空闲盘块号栈指针、空闲盘块号栈锁、空闲索引结点栈和空闲索引结点栈指针、空闲索引结点栈锁等。i节点(inodelist):存放文件说明信息,每项64字节目录文件:每个目录项16字节。文件名区分大小写。(2)UNIX目录

UNIX为了加快目录的寻找速度,UNIX将文件控制块FCB中文件名和文件说明分开。文件说明为索引节点,各文件索引节点集中存放在索引节点区,索引节点按索引节点号排序。而文件名与索引节点号构成目录,UNIXSV操作系统的文件名14个字节,索引节点2个字节,共16个字节构成目录项。同一级目录构成目录文件,在文件区存放。Linux目录文件中的目录项会变长,以保证系统支持文件名长度可变,最长达255个字符。目录项的前三项是定长的,包含以下信息:(1)索引节点号(4B);(2)目录项长度(2B);(3)文件名长度(2B)。目录项最后是文件名,目录项不能跨越二个块。UNIX目录-1

每个文件有一个存放在磁盘索引节点区的索引节点,称为磁盘索引节点,它包括以下内容:(1)文件主标识符和同组用户标识符;(2)文件类型:是普通文件、目录文件、符号连接文件或特别文件(又分块设备文件或字符设备文件);(3)文件主,同组用户和其它人对文件存取权限(读R、写W、执行X);(4)文件的物理地址,用于5.2.4UNIX直接、间接混合寻址的13个地址项di_addr[13];(5)文件长度(字节数)di_size;(6)文件链接数di_nlink;(7)文件最近存取和修改时间等。UNIX采用文件名和文件说明分离的目录结构如下图所示:

(3)UNIX树型带勾连的目录结构返8lsI=1bindevunixusrmntetctmpdey476987I=4I=6

ls10

dirdiskasterikjimbal101926305145

I=10I=26Booksmbox……9260…..I=60mbox(4)UNIX直接间接混合寻址方式

由于80%以上文件是小文件,为了解决能高速存取小文件和管理大文件的矛盾,UNIX将直接寻址、一级索引、二级索引和三级索引结合起来,形成了混合寻址方式,如下图所示。在UNIXSV的索引结点中设有13个地址项di_addr[13](Linux的ext2设有15个地址项)它们把所存的地址项分成两类,其中最后三个地址项分别是一级索引、二级索引和三级索引的指针,而前面10个(ext2为12个)为直接寻址的地址项,即存放文件逻辑块第0-9块的盘块号。如每个盘块大小为4KB时,当文件不大于40KB时,便可直接从索引结点中读出该文件全部盘块号,这样读小文件时速度快;如文件大于40KB时,系统再逐步增加一级索引、二级索引和三级索引,这样最大管理的文件为40KB+4MB+4GB+4TB,达到管理大文件的目标。UNIX直接间接混合寻址方式-1

二次间接块一次间接块

三次间接块....。。

..

..

....di_addr[0]

di_addr[1]

di_addr[2]

...

di_addr[9]

di_addr[10]一次间接di_addr[11]二次间接di_addr[12]三次间接1034#数据块0#1#2#9#10#(5)成组链接法

UNIXSV操作系统采用成组链接法管理磁盘空闲块,该方法是空闲表法和空闲块链接法的结合,具备分配回收方便,不需专用块来存放分配表等优点。成组链接法将磁盘空闲块分成若干组,如将每100个盘块作为一组,该组空闲块总数和各空闲块块号存入下一组的第一个空闲块中。最后不满100块的那组空闲块总数和各空闲块块号记入磁盘区专用管理块的空闲块管理的数据结构:s_nfree和s_free[100]中,如下图所示。

成组链接法-1

395049

.12

100150149...51100........1000499...351盘专用管理块449块350块351块251块51块12块149块49块150块50块s_nfree01s_free[100]38

99(6)文件系统安装--UNIX可装卸文件系统文件存储器硬盘各盘区和软盘都有一个象倒置的树一样的多级目录的文件系统,MS-DOS系统用“盘符”来识别它们,而UNIX系统,只有一个安装UNIX操作系统的根设备的文件系统常驻系统,而硬盘其它盘区和软盘上的文件系统直至被安装前,UNIX系统不知道它存在。系统要使用其它的文件系统,必须先用mount命令将其安装到系统。被安装的倒树形目录结构的根被安装到根设备树形目录的某一节点上,通常这个节点所对应的文件是专为安装新文件系统而创建的空文件,如UNIX根目录下的mnt子目录节点,与根设备的文件系统的树形目录结构融为一体,构成一个倒置树的多级目录结构。新文件系统通过安装表与根设备文件系统某节点联系起来,在安装时也将新文件系统盘的管理块(superblock)信息拷贝到系统缓冲区。新文件系统必须在安装后才能进行读写,而使用完毕后必须使用umount拆卸文件系统命令拆卸安装上去的文件系统,在拆卸时系统将内存系统缓冲中目录管理信息拷贝到将拆卸文件系统的盘中,以保证盘中信息的完整性。文件系统安装--UNIX可装卸文件系统-1安装表结构:structmount{intm_flags;dev_tm_dev;structinode*m_inodp;structbuf*m_bufp;structinode*m_mount;}安装表作用图见下:0#

1#superblcckI=1i-inadeFilsys子文件卷inadeI=123456m-indpm-bufpm-mount根设备内存软盘安装表缓冲池的缓冲区文件系统安装--UNIX可装卸文件系统-2在UNIX系统(linux)上读写软盘上信息操作如下:插入软盘。使用安装命令安装软盘文件系统:格式:#mount–ttypedevicemount-point例:#mount–tmsdos/dev/fd0/mnt在/mnt目录下读写MS-DOS格式软盘上文件。使用拆卸的命令卸下软盘文件系统:格式:#umountdevice例:#umount/dev/fd0or#umount/mnt取出软盘。在UNIX系统中一般将硬盘划分为几个区,即为几个文件系统,把系统文件和用户程序分开,以保护数据正确和便于维护。系统启动时,在安装根文件系统后,会根据/etc/fstab逐个安装各区文件系统,在关机前,会逐个拆卸各区文件系统,最常用的其它文件系统为/u,用于存储用户程序。(练习5)MS-DOS(1)MS-DOS层次模块结构MS-DOS采用层次模块结构,它有三个层次模块和一个引导程序组成。这三个模块是命令处理程序(COMMAND.COM)、文件系统(MS-DOS.SYS)和输入输出系统。其中基本输入输出系统又由驻在ROM中的基本输入输出系统BIOS和系统盘上的BIOS接口模块(IO.SYS)两部分组成。引导程序在盘引导区中。三个模块的层次关系如图所示。

用户程序

键盘命令命令处理程序

文件系统

输入输出系统INT10-INT1AINT21(2)MSDOS的文件系统返回磁盘文件卷结构(3)Tree-StructuredDirectories(4)Windows98VFAT目录结构Windows98长文件名的目录项由几个MS-DOS的32B目录组成。它用一个表项存放短文件名和这个文件或子目录的其它信息(包括MS-DOSFCB原有的簇号、文件大小,最后修改时间和最后修改日期,还有Windows98增加的创建时间、创建日期和最后存取日期),短文件名的属性是0×20。另外用连续若干个表项存放长文件名,每个表项存放13个字符(使用Unicode编码,不论西文和汉字,每个字符一律占用2个字节。对西文第一个字节存ASCII码,第二个字节存0×00。)长文件名的表项首字节的二进制数低5位值,分别为00001B、00010B、00011B、……,表示它们的次序,左起第2位为1(也就是在低5位基础上加40H)表示该表项是最后一项。最后项存放13个字符位置多余时,先用2个字节0表示结束,再用FFH填充。长文件名的属性是OFH。长文件名项的第13、27、28字节为0×00,第14字节为短文件名检验和。长文件名Thequickbrown.fox(短文件名为THEQUI~1.FOX)目录项格式如下:Windows98VFAT目录结构-1Windows98VFAT目录结构-2用Debug工具查根目录区找出其目录项显示如下:2171:29A04277006E002E0066-006F000F00077800Bw.n...f.o....x.2171:29B00000FFFFFFFFFFFF-FFFF0000FFFFFFFF................2171:29C00154006800650020-0071000F00077500.T.h.e..q....u.2171:29D0690063006B002000-6200000072006F00i.c.k..b...r.o.2171:29E05448455155497E31-464F5820003CC17BTHEQUI~1FOX.<.{2171:29F06E267B2700002351-6326F409006A0200n&{'..#Qc&...j..(5)MS-DOS/Windows98FAT表结构

MS-DOS文件系统的文件物理结构采用FAT表结构。该结构为了克服链接文件随机读取任一逻辑块需要化费多次盘I/O操作的不足,将各盘块中的链接指针集中存放在盘的开始部分,构成一张表,称为FAT表。FAT表每一项存放链接指针(下一个簇号),每个FAT表项占12位或16位,称为FAT12或FAT16。对于软盘因为容量小,簇数也少,采用12位FAT表,对于硬盘则采用16位FAT表。FAT表文件系统原为小硬盘的目录结构而设计,由于簇的数目最多只能用16位表示,即最多只能有64K个簇,要用FAT表管理大的磁盘分区,只能采取增大每簇所包含的扇区数,一般根据磁盘的类型和容量大小来决定簇的大小,如下表所示。当然每簇包含扇区数增加,带来内另头的浪费,这对小文件特别严重。Windows98为了减少内另头的浪费,可采取每簇的数目用32位表示,减少每簇包含扇区数,这称为FAT32。FAT16、FAT32文件系统簇和扇区关系也见下表所示。MS-DOS/Windows98FAT表结构-1MS-DOS/Windows98FAT表结构-2MS-DOS/Windows98FAT表结构-3(6)MS-DOS/Windows98文件系统磁盘的结构MS-DOS/Windows98文件系统磁盘的结构-1MS-DOS/Windows98文件系统磁盘的结构-2

FAT1和FAT2都为文件分配表,二表相同,FAT2作备份用。对软盘FAT表每表项为12位,表示簇号。对硬盘各区,FAT表项可为12位、16位和32位。根目录区是存放根目录,它有固定长度,由引导区BIOS参数块0×11H-0×12H字节决定。从表中典型数据可以看出装FAT16的C盘引导区为1个扇区,每个FAT表扇区数为256个,FAT表2个,共存256×2=512个扇区。由于每条根目录为32B,则可知根目录区大小为32×512=16KB;文件区的起始簇号为0002,起始扇区为545(221H)。对于FAT16硬盘C盘的BOOT区是1头0柱1扇区,512B大小。Windows98可采用FAT32格式,FAT32其引导区记录被扩展为包括重要数据结构的备份,根目录成为一个普通的簇链,可以放在文件区任何地方。FAT32引导区中的BIOS参数块扩充为0×0B-0×59字节。FAT32中BIOS参数块中0×0B-0×23参数同FAT16格式表,其余0×24-0×59主要参数如下表所示:MS-DOS/Windows98文件系统磁盘的结构-3MS-DOS/Windows98文件系统磁盘的结构-4

从显示可以看出参数块OE地址存放保留扇区数现为0020,即为32个扇区,而FA16时为1个扇区,说明FAT32引导区记录被扩展为包括重要数据结构的备份。从表中典型数据可以看出装FAT32的C盘引导区为32个扇区,FAT表2个,共存3997×2=7994个扇区,根目录的起始簇号为0002,起始扇区为8026(1F7AH)。

MS-DOS/Windows98文件系统磁盘的结构-5整个硬盘还有一个主引导区,它是0头0柱

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论