第07章 UNIX文件管理系统课件.ppt

上传人:牧羊曲112 文档编号:2163496 上传时间:2023-01-22 格式:PPT 页数:46 大小:1.59MB
返回 下载 相关 举报
第07章 UNIX文件管理系统课件.ppt_第1页
第1页 / 共46页
第07章 UNIX文件管理系统课件.ppt_第2页
第2页 / 共46页
第07章 UNIX文件管理系统课件.ppt_第3页
第3页 / 共46页
第07章 UNIX文件管理系统课件.ppt_第4页
第4页 / 共46页
第07章 UNIX文件管理系统课件.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《第07章 UNIX文件管理系统课件.ppt》由会员分享,可在线阅读,更多相关《第07章 UNIX文件管理系统课件.ppt(46页珍藏版)》请在三一办公上搜索。

1、第七章UNIX文件管理系统,文件系统的特点:结构简单管理规范使用灵活,UNIX的文件类型,1.普通文件以字节为单位的数据流,包括:文本文件、源码文件、数据文件、可执行文件文件属性(约40个,只列与使用有关的):文件名文件索引号字节数最后访问时间文件存取权限属主名属组名,例:通过创建一个简单文件了解文件属性.$vi testnow is the timefor all good people$ls-l test-rw-r-r-1 zhang 36 sep 27 06:11 test$od cd test(查阅文件内码表示信息),UNIX的文件命名命名规则比较随意扩展名没有硬性规定如可以指定:fi

2、lea.exe 为文档文件fileb.text为可执行文件可以使用file命令判别文件类型。,3.目录文件目录是特殊文件类型,包括了文件名和文件描述信息的关连信息。UNIX目录项包括:.目录/文件名.索引节点号,其中Inode通常为4字节,是磁盘中一个数组的索引号,该数组对应一个文件的属性信息,每个文件有唯一的索引号。目录结构是树型的且仅有一个根。目录树可以通过安装和卸载命令形成.,一个典型的文件系统目录结构,4.特殊文件将I/O设备看成文件的优点:1)文件与设备的输入输出尽量统一2)命令解释过程简单3)设备和文件在操作系统内处于同等保护机制下特殊文件又可分为:块设备文件文件类型为b 字符设备

3、文件文件类型为c,5.有名管道文件(FIFO)在IPC中进程通信有多种方式,如“管道”、“有名管道”或“sockets”。“管道”是一片核心存储区,允许两个有关进程通过它进行通信,尤其是父子进程间的通信。“有名管道”可当作文件使用,通信的两个进程在同一机器中,但可能相互无关,文件类型为p。Socket是一个核心存储中的数据结构,通信的进程可以存在于网络中。,6.Link 文件是一种文件共享的关联方式,符号连接文件是一种链接指针,它允许指向一个已存在的文件,可以共享该文件但不复制其文件内容。文件类型为l。,UNIX文件许可机制,用ls-l命令会输出:-rwxr-xr-x 1 chr seis 4

4、630 Feb 2 08:51 a.out-rw-r-r-1 chr seis 732 Feb 2 08:50 abc.c(1)(2)(3)(4)(5)(6)(7)其中(1)项表示文件许可机制:第一位判断文件类型(-,d,b,c,l,p)后9位构成u,g,o用户对文件的使用权限,用户对文件及目录拥有的权限:,可用umask命令设置缺省许可机制:777-“缺省许可机制”=“最终的权限默认值”用chomd命令修改许可机制。系统的缺省许可机制:对一般文件:rw-r-r对可执行文件及目录文件:rwxr-x r-x,UNIX文件系统设计问题,UNIX文件系统内部结构应适应UNIX的特点。1.通常文件系统

5、完成的工作对辅存空间的管理文件按名访问构建与存储介质无关的文件逻辑结构确立文件存储结构确定不同介质的物理存放执行对文件的操作读、写、打开、关闭提供文件保护和共享机制,2.一般文件管理系统结构,用户可见的文件组织结构:堆。是一种最简单的组织形式,文件中的记录具有可变长度和可变域,按照数据到达的先后顺序排列。顺序文件。是较常用的方式,文件中的记录有固定格式和固定的长度,可按固定顺序的固定域进行存放,并且每个记录有一个关键字域。索引顺序文件。是在顺序文件方式的基础上增加可随机访问关键字特征而形成的。索引文件。是一种非常便于查询的文件结构,文件中的每个可能成为检索条件的域都可以建立索引,对记录的访问都

6、通过索引完成。直接文件(或称散列文件)。可以实现对磁盘中的任何一个地址进行直接访问,使用一个散列函数,每次散列函数的计算结果直接对应一个磁盘地址。,3.UNIX文件系统的管理与维护1)系统中的一些特殊目录/dev 逻辑设备目录/bin,/usr/bin 用户命令目录/sbin,/usr/sbin 系统命令/lib,/usr/lib 用户库或系统库/etc 系统管理员命令/home 用户注册目录/tmp 临时文件目录,2)文件系统安装与拆卸安装文件系统命令mountmount option filesystem mountpoint说明:option可取:-h-输出该命令帮助信息-V-输出该命令

7、版本号-a-按fstab文件所指位置安装所有文件系统-F-为设备生成一个安装点-r-安装的只读文件-w-安装文件可读可写,filesystem:是要安装的文件系统,通常是/dev/devicemountppint:是安装点的描述信息,应已存在且不是/etc/fstab文件:是自动安装文件系统时读取的信息文件,它以下列格式列出每个要安装的文件系统:/dev/device/dir/to/mount ftype parameters fs_freq fs_passno/dev/device:需安装设备,如/dev/hda4/dir/to/mount:文件系统安装点ftype:文件系统类型,如4.2、

8、ufs、ext2、nfs等Parameters:在-o选项后使用的参数fs_freq:决定该文件系统是否使用垃圾箱fs_passno:确定引导时检查磁盘的顺序,卸载文件系统umountumountoption filesystemoption可取:-a-对所有在/etc/mtab中描述的文件卸载-h-输出帮助信息并退出-n-卸载时不写/etc/mtab-r-当卸载失败时,重装成只读文件系统-V-输出umount版本号,4.物理卷与逻辑卷定义物理卷每个独立硬盘称物理卷,使用时须分配一个特定的逻辑名,放在/dev中。例:/dev/hdisk0/dev/hdisk1物理分区物理卷中划分成同样大小的块

9、是物理分区,可以是512-4KB逻辑卷和逻辑分区逻辑卷是多个物理卷中部分物理分区的集合,逻辑卷由逻辑分区构成,且逻辑分区与物理分区相对应。卷组由物理卷和逻辑卷构成,其中物理分区相同,相互关联结构如下:,逻辑卷的管理每个卷组的物理结构:,卷组描述,卷组状态,数据存储块,每个逻辑卷的结构:,逻辑卷控制块,逻辑存储块,5.UNIX文件系统结构是分层的倒置树状结构:,/,dev,usr,sbin,etc,tmp,home,bin,team1,bin,bin,team2,man,2)文件系统构造UNIX文件系统按文件卷(volume)进行构造,通常文件卷与物理设备相对应。用%df-k 可看到:files

10、ystem kbytes used avail capacity mounted on/dev/dsk/cot3dos0 144951 89757 40706 69%/dev/dsk/cot3dos6 625262 554204 7538 99%/usr/dev/dsk/cot0dos2 195257 166310 9422 80%/home文件系统的内部结构:一个文件卷是一个文件系统,一个物理存储器中可有多个文件系统。,一个文件系统由四部分构成:,引导块=0#块,超级块=1#块,索引节点表=2-k#块,数据区=k+1-n#块,引导块(bootblock):存放操作系统引导和启动代码,只有一个

11、文件系统中具有引导代码,其余的引导块为空。超级块(superblock):存放文件系统及管理资源的描述信息:文件系统状态、索引节点信息、存储块信息。系统中有冗余备份。索引节点表(I_node table):存放本文件系统中每个文件的描述信息项,是BFD 表结构数据区(data are):包含的文件数据及目录文件数据,空闲区块。,6.UNIX中的文件标识和存储,1)文件i-node中包括:文件类型文件许可机制文件的uid,gid文件被访问时间链接数文件长度文件数据块指针,目录文件主要包括文件名和对应的文件索引节点号.传统UNIX 目录文件登记项:,2字节 14字节 修改后的登记项:4字节 255

12、字节,索引号,本记录长,文件名长,文件名,2)文件采用多重索引结构存储:用直接寻址指针和间接寻址指针构成多重索引结构,便于文件访问。设:每物理盘块=512字节 每地址指针用4个字节表示可知:一个文件占据的最大容量为:10+128+1282+1283=2113674块,3)目录中的文件如何与磁盘文件对应:,UNIX文件系统动态管理方法,UNIX通过对数据结构(如:超级块、索引节点、目录记录项等)实现对文件系统的管理,但在实现中还要建立一些动态数据结构。1.文件数据结构的动态管理内存超级块活动索引节点表用户打开文件表系统打开文件表安装表 动态数据结构与静态数据结构关联图,2.文件的检索过程以访问文

13、件“./a/b”为例,说明文件的内部检索过程.,1)检索当前目录的索引节点2)通过当前目录找到当前目录文件查出.节点3)检索.索引节点4)通过.文件找到.文件查出a的索引节点号5)检索a的索引节点号6)找到a的目录文件,查出b的索引节点号7)检索b,找到b的文件位置8)访问文件b,3.文件共享的实现及应用UNIX中有多种文件共享方式:不同用户的不同级别共享父子进程对文件的共享文件的链接共享 使用硬链接及符号链接的命令:%lnabc.c xyz.c%ln-s xyz.c def.c(查看结构)通过管道线的文件共享 管道文件的大小限定及访问特性,硬连接及符号链接原理图,返回,有关文件处理的系统调用

14、,1.文件描述符高级语言中的输入/输出库函数是对FILE类型的指针操作,c语言处理中自动打开stdin,stdout,stderr三个文件。系统调用中用一个整形数描述打开的文件,它就是文件描述符。2.Creat/link/unlink系统调用Creat 创建一个空文件或将已有文件截为空文件 调用格式:fd=creat(name,pmode),link 建立文件的连接调用格式:status=link(name1,name2)status可以为0,-1系统的全局变量errno记录着出错代码unlink 删除连接文件调用格式为:status=unlink(name)状态与上条类似。作用是:从目录文件

15、中删除一个登记项,3.open/close系统调用Open 打开文件调用格式:fd=open(name,rw-mode,pmode)正常fd=3,表示打开文件的描述符,rw-mode是读写方式:0,1,2close 关闭文件调用格式:status=close(fd)用fd指明欲关闭的文件。,4.read/write系统调用完成对文件的读写操作。调用格式:n=read(fd,buffer,size);n=write(fd,buffer,size);它们与高级语言中库函数很相似:n=fread(buffer,byte,record,fp);n=fwrite(buffer,byte,record,f

16、p);区别:1)前者是对文件描述符fd操作,后者对指针fp操作2)前者没有记录的概念,后者有3)前者是底层服务,后者是高层服务,提供缓冲机制。,系统调用举例:写一段c程序,完成下列命令的功能:%cp file1 file2无论文件是何种类型(字符可见、二进制不可见)。注意:对文件的读/写中使用不同的size值,其访问 速度会受到影响,请编写程序感受这一点。按任意键可查看源程序!,编写一个简单的cp命令程序:,main(argc,argv)intargc;char*argv;intfd1,fd2,n;charbuf512,ch=nif(argc=2)printf(“you forgot the

17、enter a filenamen”);exit(1);,fd1=open(argv1,0);fd2=creat(argv2,0644);While(n=read(fd1,buf,512)0)write(fd2,buf,n);close(fd1);close(fd2);,文件随机存取技术,1.改变文件指针位置lseek系统调用,调用格式:newpos=lseek(fd,offset,origin);fd:打开文件描述符offset:从指定位置开始的位移量Origin:是offset参数的基点。注意:origin取值可为0、1、2,也可以取符号常量:SEEK_SET、SEEK_CUR、SEEK_

18、END比较lseek返回值时不要测试其是否为负数文件指针的位移量可以大于当前文件长度,形成空洞文件,2.获取当前文件指针位置系统调用tell可报告当前文件指针位置调用格式:pos=tell(fd)pos:长整数,文件指针位置fd:文件描述符tell与lseek连用可对文件中的内容做随即访问,举例说明如下:,#include#includechar buf1=the is test text;char buf2=12345;main()intfid;if(fid=creat(Test,0644)0)printf(creatfile errorn);exit(1);elseif(write(fid

19、,buf1,16)=-1)printf(buf1 write errorn);exit(1);,post=tell(fid);printf(“file postis_1:%d”,post);if(lseek(fid,30,SEEK_SET)=-1)printf(lseekerrorn);exit(2);if(write(fid,buf2,5)!=5)printf(buf2 write errorn);exit(3);post=tell(fid);printf(“file postis_2:%d”,post);close(fid);exit(0);,文件系统的备份与恢复,两种方法:1)以文件为单位做备份2)以文件系统为单位做备份以文件系统备份时,unix提供以下处理方法:1)系统备份2)全备份3)增强式备份,系统管理员常采用的备份策略:,首先做一次系统备份,再做一次全备份,增强备份,增强备份,一段时间,固定时间,相对长时间,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号