课件三文件系统_第1页
课件三文件系统_第2页
课件三文件系统_第3页
课件三文件系统_第4页
课件三文件系统_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

,第三章 UNIX文件系统,UNIX文件系统,3.1 相关概念 3.2 目录结构 3.3 文件系统结构 3.4 UNIX文件的表示与存储 3.5 标准文件与文件描述符,3.1 相关概念,文件 UNIX显著特征之一 UNIX中,文件就是一个字节序列 所有的输入输出设备,如网卡、磁盘、打印机、普通文件及目录都被看作是文件,文件类型,UNIX支持6种文件类型 普通文件 目录 文件链接 特殊(设备)文件 块特殊文件 字符特殊文件 命名管道 套接字,1. 普通文件,存储在磁盘、磁带或光盘上的普通意义的文件。普通文件中的源程序文件、Shell程序和文本文件等可以使用编辑器输入或修改,这类文件也常称为正规文件(regular files )。其它的文件为二进制文件,典型的有可执行码文件和二进制数据文件。,2. 目录文件,目录文件的存储介质与普通文件相同,但目录是指向其它文件的文件,用于组织、管理和访问其它文件的特殊文件。目录文件不能用普通编辑器编辑。 目录条目 由索引节点号和文件名组成 索引节点号四个字节,是磁盘上一个数组的下标值,该数组的元素称为索引节点 索引节点包含文件基本信息,例如大小、属性等,3. 文件的链接ln,允许多个文件名与一个文件实体建立链接(硬链接),一个文件可以取多个名。 ln 文件名 新文件名 硬链接文件有两个限制 1、不允许给目录创建硬链接; 2、只有在同一文件系统中的文件可以建立硬链接 默认情况下,ln产生硬链接.,符号链接 ln -s,UNIX允许产生一个不存储实际内容的文件,该文件仅仅指向一个已经存在的文件,这种文件称为链接文件 链接文件提供了重命名一个文件而不复制其内容情况下共享该文件的一个机制 链接文件是BSD UNIX的产物,但现在已经广泛被支持,Symbolic Links,ln s 命令建立新的文件或目录与原来文件或目录的路径名映射。当你访问一个符号链接时,UNIX靠这个映射找到原文件的路径,并对其进行访问。这种链接方法又称为软链接。通过软链接访问文件的速度比硬链接稍慢一些。 %ls -l test -rw-r-r- 1 darin csua test %ln s test test.link lrwxr-xr-x 1 darin csua test.link - test 第一个字符 “l” 就说明这是一个符号链接.,4. 特殊(设备)文件,特殊文件并不是信息的存储体。它们只不过是为了I/O设备的读写提供了方便的通道,并提供用户与文件操作相同的存取界面。特别文件又称为设备文件,分为块设备文件和字符设备文件。 字符特殊文件:字符设备,如键盘 块特殊文件:块设备,如磁盘,特殊(设备)文件,特殊文件 一般放在/dev目录下,如 /dev/tty是终端的特别文件,/dev/pty是伪终端主设备。 由于UNIX操作系统使I/O硬件接口与普通文件的接口一致,用户就不必知道任何有关I/O设备的细节。,5. 命名管道,进程间通信(IPC) 管道:核心内存的一块区域,用于两个或多个相关进程通信 命名管道:一个文件,存储于磁盘,作用与管道相同 套接字,6. 套接字,不同主机上的进程间通信 可以属于不同的地址族,每个套接字指定一个用于进程间通信的协议 AF_INET地址族TCP/IP协议族因特网套接字 UNIX中,套接字也是一种文件,UNIX文件系统,3.1 相关概念 3.2 目录结构 3.3 文件系统结构 3.4 UNIX文件的表示与存储 3.5 标准文件与文件描述符,一、 目录结构,UNIX目录系统具有无限层次的树状结构。其根目录是root,并用符号 / 指代。 一个完整的文件名包括文件的路径名(path name)和文件的基名(base name)。 路径名中以/ 开头的是绝对路径名,不以/ 开头的是相对路径名。例如 /home/you/source/test.c是一个完整的文件名。 使用完整的路径名非常麻烦,系统查找文件耗时也多。UNIX允许用户设定一个目录作为工作目录(working directory),也称为当前目录。 如当前工作目录为/home/you,那么可用相对路径名source/test.c存取同一个test.c文件。,文件和目录:,二、 路径名,在一个目录中允许用“”向根目录方向攀登一级,表示父目录,/表示父目录的父目录。 .表示当前目录的绝对路径名,如当前目录是/home/you,那么访问test.c时可以使用相对路径名source/test.c,也可以使用简单的绝对路径名 ./source/test.c。 在某些必须指定绝对路径名的场合,可使用.代指工作目录。 (波浪号)表示你的HOME目录(主目录) ls /bin 就列出了你主目录下bin目录中的文件。,绝对地址 Absolute Addressing,相对地址 Addressing relative to your home dir,Addressing relative to your current dir.,示例,在/home/david主目录下创建memos和important: $cd _ $mkdir memos $pwd _ $cd memos $pwd _ $cd $mkdir _ $cd memos/important $pwd _,当前,UNIX文件系统,3.1 相关概念 3.2 目录结构 3.3 文件系统结构 3.4 UNIX文件的表示与存储 3.5 标准文件与文件描述符,文件系统组织结构,root(/),bin,dev,etc,Lost+found,tmp,home,usr,unix,fd,hd,tty,group,passwd,li,wu,liu,bin,lib,local,UNIX文件系统结构图,文件系统组织结构,根目录(/):UNIX文件系统的入口和起点 /bin目录 又称二进制目录,该目录下的文件要么是可执行文件,要么是其他目录可执行文件的符号链接 包含绝大多数UNIX命令的二进制(可执行)镜像 在不少UNIX版本中,/bin实际连接到/usr/bin中。此目录是/usr/bin的符号链接 /dev目录 又称设备目录,包含大部分与计算机相连的设备的相关文件,文件系统组织结构,/etc目录 包含一些系统管理所用的命令文件和配置文件 例如:inetd.conf, login, passwd, profile, services /lib目录 库目录,包含与开发语言相关的库文件 如C/C+库,FORTRAN库,java库等 该目录通常还是/usr/lib的符号链接,文件系统组织结构,/tmp目录:临时文件夹,系统启动时一般会将该目录中的所有文件都清除掉。 /home目录 有些系统是/users,用来组织用户起始目录 /usr目录 存放应用程序、工具、语言库和相关文档手册等 两个重要子目录bin和lib /opt目录 用于安装用户应用程序,文件系统组织结构,/dev/null 目录 当程序向该文件写数据时,输出结果无声无息地永远地消失了,就象掉进了无底洞。用户可以将不需要看的输出信息送至/dev/null文件。 /usr/bin目录 已将根文件系统/bin目录中的所有程序移到了本目录,但从/bin到/usr/bin仍有一个“符号连接”,以方便用户在原位置上访问这些文件。 /usr/include 目录 包含UNIX系统中的标准头文件。,文件系统组织结构,/usr/lib目录 程序员使用的程序和数据库。已将/lib目录中的内容移到本目录,同时从/lib到/usr/lib有一个符号连接。 /usr/man 目录 UNIX联机手册所使用的目录和文件。 /usr/spool 目录 用于打印文件、发送邮件等使用的数据的中转站。在system V(从R4开始),将该目录中文件移到了/var目录下。,UNIX文件系统,3.1 相关概念 3.2 目录结构 3.3 文件系统结构 3.4 UNIX文件的表示与存储 3.5 标准文件与文件描述符,一、 文件系统的存储结构,UNIX 系统可以把一个能随机存取的存储介质 (如硬盘、软盘和光盘等)上的存储空间划分成一 个至多个区域,每个区域都可以像独立的物理设备 一样单独进行管理和数据存取,这样的存储区域, 即是逻辑设备。在逻辑设备上按照一定的格式进行 划分,就构成了逻辑文件系统,简称文件系统。,逻辑文件系统的存储结构,引导块: 系统上电启动时, 其中的引导程序读入和装载操作系统, 它不是文件系统的必要组成部分。 超级块: 存放文件系统的标题信息, 包括文件系统大小、i节点表大小、数据区的使用状况等。 i节点表:其中的每一个表项存放一个文件的静态信息:大小、类型、属主、索引表、访问权限和修改日期等. 数据存储区: 实际存放数据的地方, 以块为单位存取,文件的表示与存储,索引节点(i节点) 存储文件属性 每个文件对应一个唯一的索引节点 所有索引节点在磁盘上组成索引节点列表 内核在内存中为打开的文件维护一个索引节点表 文件在磁盘上的位置 指向包含文件数据的磁盘块的直接或间接指针,链接数 文件模式 用户ID 创建时间 最近修改时间 访问权限 文件在磁盘上的位置,索引节点的构成,文件的表示与存储,链接数 文件模式 用户ID 创建时间 最近修改时间 访问权限 文件在磁盘上的位置,lab1.c文件内容,inode表,文件lab1.c的inode,磁盘驱动器,目录/course/unix/lab1.c的内容,UNIX文件系统,3.1 相关概念 3.2 目录结构 3.3 文件系统结构 3.4 UNIX文件的表示与存储 3.5 标准文件与文件描述符,一、标准文件,标准文件 UNIX为每个命令自动打开三个文件,这三个文件称为标准文件 标准输入文件(stdin) 标准输出文件(stdout) 标准错误文件(stderr) 重定向操作符 可以将标准文件转变成别的文件 “”:输出与错误重定向,标准文件,rootauthsvr # ls anaconda-ks.cfg Desktop install.log install.log.syslog rootauthsvr # cat install.log 下列软件包在本版中已被提供却没有被安装: glibc-2.3.4-2.13.i386.rpm kernel-hugemem-2.6.9-22.EL.i686.rpm nptl-devel-2.3.4-2.13.i386.rpm openssl-0.9.7a-43.2.i386.rpm rootauthsvr # cat test.log install.log rootauthsvr # cat test.log ?,二、文件描述符,文件描述符 系统用来索引每个打开文件的一个整数 文件描述符表 一个进程所有打开的文件的描述符集合 每一项表示一个打开的文件,包含:(a) 文件描述符标志;(b) 指向一个文件表项的指针 文件表 系统为所有打开的文件维持的一张表 每个文件表项包含:(a) 文件状态标志(读、写、增写、同步、非阻塞等);(b) 当前文件位移量;(c) 指向该文件索引节点的指针,文

温馨提示

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

评论

0/150

提交评论