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

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

《第07章-UNIX文件管理系统课件.ppt》由会员分享,可在线阅读,更多相关《第07章-UNIX文件管理系统课件.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第七章第七章UNIX文件管理系统文件系统的特点:结构简单结构简单管理规范管理规范使用灵活使用灵活UNIX的文件类型的文件类型1.1.普通文件普通文件以字节为单位的数据流以字节为单位的数据流,包括:包括:文本文件、源码文件、数据文件、可执行文本文件、源码文件、数据文件、可执行文件文件文件属性文件属性(约约4040个,只列与使用有关的):个,只列与使用有关的):文件名文件名 文件索引号文件索引号 字节数字节数 最后访问时间最后访问时间 文件存取权限文件存取权限 属主名属主名 属组名属组名例例:通过创建一个简单文件了解文件属性通过创建一个简单文件了解文件属性.$vi test$vi testnow

2、is the timenow is the timefor all good peoplefor all good people$ls-lls-l test test-rw-r-r-1-rw-r-r-1 zhangzhang 36 sep 27 06:11 test 36 sep 27 06:11 test$odod cdcd test(test(查阅文件内码表示信息查阅文件内码表示信息)UNIX的文件命名的文件命名命名规则比较随意命名规则比较随意扩展名没有硬性规定扩展名没有硬性规定如可以指定:filea.exefilea.exe 为文档文件为文档文件fileb.textfileb.text为

3、可执行文件为可执行文件可以使用file命令判别文件类型。3.3.目录文件目录文件目录是特殊文件类型,包括了文件名和文件描述信息的关连目录是特殊文件类型,包括了文件名和文件描述信息的关连信息。信息。UNIXUNIX目录项包括目录项包括:.目录目录/文件名文件名.索引节点号索引节点号其中Inode通常为4字节,是磁盘中一个数组的索引号,该数组对应一个文件的属性信息,每个文件有唯一的索引号。目录结构是树型的且仅有一个根。目录树可以通过安装和卸载命令形成.InodeInodeFile nameFile name一个典型的文件系统目录结构4.特殊文件特殊文件将将I/OI/O设备看成文件的优点设备看成文件

4、的优点:1)1)文件与设备的输入输出尽量统一文件与设备的输入输出尽量统一2)2)命令解释过程简单命令解释过程简单3)3)设备和文件在操作系统内处于同等保护机制下设备和文件在操作系统内处于同等保护机制下特殊文件又可分为特殊文件又可分为:块设备文件块设备文件文件类型为文件类型为b b 字符设备文件字符设备文件文件类型为文件类型为c c5.5.有名管道文件(有名管道文件(FIFOFIFO)在在IPCIPC中进程通信有多种方式,如中进程通信有多种方式,如“管道管道”、“有有名管道名管道”或或“sockets”sockets”。“管道管道”是一片核心存储区,允许两个有关进程通过是一片核心存储区,允许两个

5、有关进程通过它进行通信,尤其是父子进程间的通信。它进行通信,尤其是父子进程间的通信。“有名管道有名管道”可当作文件使用,通信的两个进程在同可当作文件使用,通信的两个进程在同一机器中,但可能相互无关,文件类型为一机器中,但可能相互无关,文件类型为p p。SocketSocket是一个核心存储中的数据结构,通信的进程可是一个核心存储中的数据结构,通信的进程可以存在于网络中。以存在于网络中。6.Link 6.Link 文件文件是一种文件共享的关联方式,符号连接文件是一种是一种文件共享的关联方式,符号连接文件是一种链接指针,它允许指向一个已存在的文件,可以链接指针,它允许指向一个已存在的文件,可以共享

6、该文件但不复制其文件内容。文件类型为共享该文件但不复制其文件内容。文件类型为l l。UNIX文件许可机制文件许可机制用用ls ls-l-l命令会输出命令会输出:-rwxr-xr-xrwxr-xr-x 1 1 chrchr seisseis 4630 Feb 2 08:51 4630 Feb 2 08:51 a.outa.out-rw-r-rrw-r-r-1 1 chrchr seisseis 732732 Feb 2 08:50Feb 2 08:50 abc.cabc.c (1)(2)(3)(4)(5)(6)(1)(2)(3)(4)(5)(6)(7)(7)其中其中(1)(1)项表示文件许可机制

7、项表示文件许可机制:第一位判断文件类型(第一位判断文件类型(-,d,b,c,l,p)d,b,c,l,p)后后9 9位构成位构成u,g,ou,g,o用户对文件的使用权限用户对文件的使用权限用户对文件及目录拥有的权限:用户对文件及目录拥有的权限:权限权限权限权限文件文件文件文件目录目录目录目录r r读权读权读权读权读,列出目录内容读,列出目录内容读,列出目录内容读,列出目录内容ww写权写权写权写权修改,增删改目录修改,增删改目录修改,增删改目录修改,增删改目录x x执行执行执行执行在查寻路径名中使用在查寻路径名中使用在查寻路径名中使用在查寻路径名中使用可用umask命令设置缺省许可机制:777-“

8、缺省许可机制”=“最终的权限默认值”用chomd命令修改许可机制。系统的缺省许可机制:对一般文件:rw-r-r对可执行文件及目录文件:rwxr-x r-xUNIX文件系统设计问题文件系统设计问题UNIX文件系统内部结构应适应UNIX的特点。1.通常文件系统完成的工作 对辅存空间的管理对辅存空间的管理 文件按名访问文件按名访问构建与存储介质无关的文件逻构建与存储介质无关的文件逻辑结构辑结构 确立文件存储结构确立文件存储结构确定不同介质的物理存放确定不同介质的物理存放 执行对文件的操作执行对文件的操作读、写、打开、关闭读、写、打开、关闭 提供文件保护和共享机制提供文件保护和共享机制2.2.一般文件

9、管理系统结构一般文件管理系统结构用户可见的文件组织结构:用户可见的文件组织结构:堆。是一种最简单的组织形式,文件中的记录具有可堆。是一种最简单的组织形式,文件中的记录具有可变长度和可变域,按照数据到达的先后顺序排列。变长度和可变域,按照数据到达的先后顺序排列。顺序文件。是较常用的方式,文件中的记录有固定格顺序文件。是较常用的方式,文件中的记录有固定格式和固定的长度,可按固定顺序的固定域进行存放,式和固定的长度,可按固定顺序的固定域进行存放,并且每个记录有一个关键字域。并且每个记录有一个关键字域。索引顺序文件。是在顺序文件方式的基础上增加可随索引顺序文件。是在顺序文件方式的基础上增加可随机访问关

10、键字特征而形成的。机访问关键字特征而形成的。索引文件。是一种非常便于查询的文件结构,文件中索引文件。是一种非常便于查询的文件结构,文件中的每个可能成为检索条件的域都可以建立索引,对记的每个可能成为检索条件的域都可以建立索引,对记录的访问都通过索引完成。录的访问都通过索引完成。直接文件(或称散列文件)。可以实现对磁盘中的任直接文件(或称散列文件)。可以实现对磁盘中的任何一个地址进行直接访问,使用一个散列函数,每次何一个地址进行直接访问,使用一个散列函数,每次散列函数的计算结果直接对应一个磁盘地址。散列函数的计算结果直接对应一个磁盘地址。3.UNIX3.UNIX文件系统的管理与维护文件系统的管理与

11、维护1 1)系统中的一些特殊目录)系统中的一些特殊目录/dev/dev 逻辑设备目录逻辑设备目录/bin,/bin,/usrusr/bin/bin 用户命令目录用户命令目录/sbin,/usr/sbinsbin,/usr/sbin 系统命令系统命令/lib,/lib,/usrusr/lib/lib 用户库或系统库用户库或系统库/etc/etc 系统管理员命令系统管理员命令/home/home 用户注册目录用户注册目录/tmptmp 临时文件目录临时文件目录2 2)文件系统安装与拆卸)文件系统安装与拆卸 安装文件系统命令安装文件系统命令mountmountmount option mount o

12、ption filesystemfilesystem mountpointmountpoint说明:说明:optionoption可取:可取:-h-h-输出该命令帮助信息输出该命令帮助信息-V-V-输出该命令版本号输出该命令版本号-a-a-按按fstabfstab文件所指位置安装所有文件系统文件所指位置安装所有文件系统-F-F-为设备生成一个安装点为设备生成一个安装点-r-r-安装的只读文件安装的只读文件-w-w-安装文件可读可写安装文件可读可写filesystemfilesystem:是要安装的文件系统,通常是是要安装的文件系统,通常是/dev/device/dev/devicemountp

13、pintmountppint:是安装点的描述信息,应已存在且不是是安装点的描述信息,应已存在且不是/etc/etc/fstabfstab文件:是自动安装文件系统时读取的信息文文件:是自动安装文件系统时读取的信息文件,它以下列格式列出每个要安装的文件系统:件,它以下列格式列出每个要安装的文件系统:/dev/device /dir/to/mount /dev/device /dir/to/mount ftypeftype parameters parameters fs_freqfs_freq fs_passnofs_passno/dev/device:/dev/device:需安装设备,如需安装

14、设备,如/dev/hda4/dev/hda4/dir/to/mount:/dir/to/mount:文件系统安装点文件系统安装点 ftypeftype:文件系统类型,如:文件系统类型,如4.24.2、ufsufs、ext2ext2、nfsnfs等等 ParametersParameters:在:在-o-o选项后使用的参数选项后使用的参数 fs_freqfs_freq:决定该文件系统是否使用垃圾箱:决定该文件系统是否使用垃圾箱 fs_passnofs_passno:确定引导时检查磁盘的顺序:确定引导时检查磁盘的顺序卸载文件系统卸载文件系统umountumountumountoptionumoun

15、toption filesystemfilesystemoptionoption可取:可取:-a-a-对所有在对所有在/etc/etc/mtabmtab中描述的文件卸载中描述的文件卸载-h-h-输出帮助信息并退出输出帮助信息并退出-n-n-卸载时不写卸载时不写/etc/etc/mtabmtab-r-r-当卸载失败时,重装成只读文件系统当卸载失败时,重装成只读文件系统-V-V-输出输出umountumount版本号版本号4.物理卷与逻辑卷定义 物理卷物理卷每个独立硬盘称物理卷,使用时须分配一个每个独立硬盘称物理卷,使用时须分配一个特定的逻辑名,放在特定的逻辑名,放在/dev/dev中。例:中。例

16、:/dev/hdisk0/dev/hdisk0/dev/hdisk1/dev/hdisk1 物理分区物理分区物理卷中划分成同样大小的块是物理分区,物理卷中划分成同样大小的块是物理分区,可以是可以是512-4KB512-4KB 逻辑卷和逻辑分区逻辑卷和逻辑分区逻辑卷是多个物理卷中部分物理逻辑卷是多个物理卷中部分物理分区的集合,逻辑卷由逻辑分区构成,且逻辑分区与分区的集合,逻辑卷由逻辑分区构成,且逻辑分区与物理分区相对应。物理分区相对应。卷组卷组由物理卷和逻辑卷构成,其中物理分区相同由物理卷和逻辑卷构成,其中物理分区相同相互关联结构如下:逻辑卷的管理逻辑卷的管理每个卷组的物理结构每个卷组的物理结构

17、:卷组描述卷组状态数据存储块每个逻辑卷的结构:逻辑卷控制块逻辑存储块5.UNIX5.UNIX文件系统结构文件系统结构1)是分层的倒置树状结构:是分层的倒置树状结构:/devusrsbinetctmphomebinteam1binbinteam2man2)2)文件系统构造文件系统构造UNIXUNIX文件系统按文件卷(文件系统按文件卷(volume)volume)进行构造,通常文件卷与物理进行构造,通常文件卷与物理设备相对应。设备相对应。用用%df-kdf-k 可看到:可看到:filesystemfilesystem kbyteskbytes used avail capacity used av

18、ail capacity mounted onmounted on/dev/dsk/cot3dos0 144951 89757 40706 69%/dev/dsk/cot3dos0 144951 89757 40706 69%/dev/dsk/cot3dos6 625262 554204 7538 99%/dev/dsk/cot3dos6 625262 554204 7538 99%/usrusr/dev/dsk/cot0dos2 195257 166310 9422 80%/home/dev/dsk/cot0dos2 195257 166310 9422 80%/home文件系统的内部结构:

19、文件系统的内部结构:一个文件卷是一个文件系统,一个物理存储器中可有多个文件系一个文件卷是一个文件系统,一个物理存储器中可有多个文件系统。统。一个文件系统由四部分构成:一个文件系统由四部分构成:1 12 23 34 4引导块=0#块超级块=1#块索引节点表=2-k#块数据区=k+1-n#块 引导块(引导块(bootblockbootblock):):存放操作系统引导和启动代码,只有一个文件系统中具有存放操作系统引导和启动代码,只有一个文件系统中具有引导代码,其余的引导块为空。引导代码,其余的引导块为空。超级块(超级块(superblocksuperblock):):存放文件系统及管理资源的描述信

20、息:文件系统状态、索存放文件系统及管理资源的描述信息:文件系统状态、索引节点信息、存储块信息。系统中有冗余备份。引节点信息、存储块信息。系统中有冗余备份。索引节点表(索引节点表(I_nodeI_node table):table):存放本文件系统中每个文件的描述信息项,是存放本文件系统中每个文件的描述信息项,是BFD BFD 表结构表结构 数据区(数据区(data are):data are):包含的文件数据及目录文件数据,空闲区块。包含的文件数据及目录文件数据,空闲区块。6.UNIX中的文件标识和存储1)文件文件i-node中包括中包括:文件类型文件许可机制文件的uid,gid文件被访问时间

21、链接数文件长度文件数据块指针目录文件主要包括文件名和对应的文件索引节点号.传统UNIX 目录文件登记项:索引号索引号索引号索引号文件名文件名文件名文件名 2字节 14字节 修改后的登记项:4字节 255字节 索引号索引号本记录长本记录长文件名长文件名长文件名文件名2)2)文件采用多重索引结构存储:文件采用多重索引结构存储:用直接寻址指针和间接寻址指针构成多重索引结构,便于文件用直接寻址指针和间接寻址指针构成多重索引结构,便于文件访问。访问。设设:每物理盘块每物理盘块=512=512字节字节 每地址指针用每地址指针用4 4个字节表示个字节表示可知可知:一个文件占据的最大容量为一个文件占据的最大容

22、量为:10+128+128 10+128+1282 2+128+1283 3=2113674=2113674块块 3)目录中的文件如何与磁盘文件对应:UNIX文件系统动态管理方法文件系统动态管理方法UNIXUNIX通过对数据结构通过对数据结构(如如:超级块、索引节点、目录记录项等)超级块、索引节点、目录记录项等)实现对文件系统的管理,但在实现中还要建立一些动态数实现对文件系统的管理,但在实现中还要建立一些动态数据结构。据结构。1.1.文件数据结构的动态管理文件数据结构的动态管理 内存超级块内存超级块 活动索引节点表活动索引节点表 用户打开文件表用户打开文件表 系统打开文件表系统打开文件表 安装

23、表安装表 动态数据结构与静态数据结构关联图动态数据结构与静态数据结构关联图2.2.文件的检索过程文件的检索过程以访问文件以访问文件“./a/b”./a/b”为例为例,说明文件的内部检索过程说明文件的内部检索过程.1)检索当前目录的索引节点2)通过当前目录找到当前目录文件查出.节点3)检索.索引节点4)通过.文件找到.文件查出a的索引节点号5)检索a的索引节点号6)找到a的目录文件,查出b的索引节点号7)检索b,找到b的文件位置8)访问文件b3.3.文件共享的实现及应用文件共享的实现及应用UNIXUNIX中有多种文件共享方式中有多种文件共享方式:不同用户的不同级别共享不同用户的不同级别共享 父子

24、进程对文件的共享父子进程对文件的共享 文件的链接共享文件的链接共享 使用硬链接及符号链接的命令使用硬链接及符号链接的命令:%lnabc.clnabc.c xyz.cxyz.c%ln-sln-s xyz.cxyz.c def.cdef.c (查看结构)(查看结构)通过管道线的文件共享通过管道线的文件共享 管道文件的大小限定及访问特性管道文件的大小限定及访问特性 硬连接及符号链接原理图硬连接及符号链接原理图返回有关文件处理的系统调用有关文件处理的系统调用1.1.文件描述符文件描述符高级语言中的输入高级语言中的输入/输出库函数是对输出库函数是对FILEFILE类型的指针操类型的指针操作作,c,c语言

25、处理中自动打开语言处理中自动打开stdin,stdout,stderrstdin,stdout,stderr三个文三个文件。件。系统调用中用一个整形数描述打开的文件,它就是文系统调用中用一个整形数描述打开的文件,它就是文件描述符。件描述符。2.2.CreatCreat/link/unlink/link/unlink系统调用系统调用 CreatCreat 创建一个空文件或将已有文件截为空文件创建一个空文件或将已有文件截为空文件 调用格式:调用格式:fdfd=creat(name,pmodecreat(name,pmode)link link 建立文件的连接建立文件的连接调用格式:调用格式:sta

26、tus=link(name1,name2)status=link(name1,name2)statusstatus可以为可以为0 0,-1-1系统的全局变量系统的全局变量errnoerrno记录着出错代码记录着出错代码 unlink unlink 删除连接文件删除连接文件调用格式为:调用格式为:status=status=unlink(nameunlink(name)状态与上条类似。状态与上条类似。作用是:从目录文件中删除一个登记项作用是:从目录文件中删除一个登记项3.open/close3.open/close系统调用系统调用Open Open 打开文件打开文件调用格式:调用格式:fdfd=

27、open(name,rw-mode,pmodeopen(name,rw-mode,pmode)正常正常fdfd=3=3,表示打开文件的描述符,表示打开文件的描述符,rwrw-mode-mode是读写方式:是读写方式:0 0,1 1,2 2close close 关闭文件关闭文件调用格式:调用格式:status=status=close(fdclose(fd)用用fdfd指明欲关闭的文件。指明欲关闭的文件。4.read/write4.read/write系统调用系统调用完成对文件的读写操作。完成对文件的读写操作。调用格式:调用格式:n=n=read(fd,buffer,sizeread(fd,b

28、uffer,size););n=n=write(fd,buffer,sizewrite(fd,buffer,size););它们与高级语言中库函数很相似:它们与高级语言中库函数很相似:n=n=fread(buffer,byte,record,fpfread(buffer,byte,record,fp););n=n=fwrite(buffer,byte,record,fpfwrite(buffer,byte,record,fp););区别:区别:1 1)前者是对文件描述符)前者是对文件描述符fdfd操作,后者对指针操作,后者对指针fpfp操作操作2 2)前者没有记录的概念,后者有)前者没有记录的

29、概念,后者有3 3)前者是底层服务,后者是高层服务)前者是底层服务,后者是高层服务,提供缓冲机制。提供缓冲机制。系统调用举例:系统调用举例:写一段写一段c c程序,完成下列命令的功能:程序,完成下列命令的功能:%cp file1 file2%cp file1 file2无论文件是何种类型(字符可见、二进制不可见)。无论文件是何种类型(字符可见、二进制不可见)。注意:对文件的读注意:对文件的读/写中使用不同的写中使用不同的sizesize值,其访问值,其访问 速度会受到影响,请编写程序感受这一点。速度会受到影响,请编写程序感受这一点。按任意键可查看源程序!按任意键可查看源程序!编写一个简单的编写

30、一个简单的cpcp命令程序:命令程序:main(argc,argv)intargc;char*argv;intfd1,fd2,n;charbuf512,ch=nif(argc0)write(fd2,buf,n);close(fd1);close(fd2);文件随机存取技术文件随机存取技术1.1.改变文件指针位置改变文件指针位置lseeklseek系统调用系统调用,调用格式调用格式:newposnewpos=lseek(fd,offset,originlseek(fd,offset,origin););fdfd:打开文件描述符打开文件描述符offset:offset:从指定位置开始的位移量从指定

31、位置开始的位移量OriginOrigin:是:是offsetoffset参数的基点。参数的基点。注意:注意:originorigin取值可为取值可为0 0、1 1、2,2,也可以取符号常量:也可以取符号常量:SEEK_SETSEEK_SET、SEEK_CURSEEK_CUR、SEEK_ENDSEEK_END 比较比较lseeklseek返回值时不要测试其是否为负数返回值时不要测试其是否为负数 文件指针的位移量可以大于当前文件长度,形成空洞文件文件指针的位移量可以大于当前文件长度,形成空洞文件2.2.获取当前文件指针位置获取当前文件指针位置系统调用系统调用telltell可报告当前文件指针位置可

32、报告当前文件指针位置调用格式调用格式:pos=:pos=tell(fdtell(fd)pos:pos:长整数,文件指针位置长整数,文件指针位置fdfd:文件描述符文件描述符telltell与与lseeklseek连用可对文件中的内容做随即访问,举例连用可对文件中的内容做随即访问,举例说明如下说明如下:#include#include#include#include char buf1=the is test text;char buf1=the is test text;char buf2=12345;char buf2=12345;main()main()intfidintfid;if(fi

33、dif(fid=creat(Test,0644)0)=creat(Test,0644)0)printf(creatfileprintf(creatfile errorn);errorn);exit(1);exit(1);elseelse if(write(fid,buf1,16)=-1)if(write(fid,buf1,16)=-1)printf(buf1 write errorn);printf(buf1 write errorn);exit(1);exit(1);post=tell(fid);printf(“file postis_1:%d”,post);if(lseek(fid,30,

34、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 1)以文件为单位做备份)以文件为单位做备份2 2)以文件系统为单位做备份)以文件系统为单位做备份以文件系统备份时,unix提供以下处理方法:1 1)系统备份)系统备份2 2)全备份)全备份3 3)增强式备份)增强式备份系统管理员常采用的备份策略:首先做一次系统备份首先做一次系统备份再做一次全备份再做一次全备份增强备份增强备份增强备份增强备份一段时间一段时间固定时间固定时间相对长时间相对长时间

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁