欢迎来到天天文库
浏览记录
ID:46379664
大小:2.30 MB
页数:109页
时间:2019-11-23
《嵌入式Linux操作系统第1章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式Linux操作系统嵌入式系统教研室张荣高第一章嵌入式系统基础嵌入式系统概述1嵌入式操作系统2嵌入式Linux基础3Linux目录结构和文件4Linux常用操作命令51.4Linux目录结构及文件Linux文件系统采用多级目录的树型层次结构管理文件,最上层是根目录,用/表示。在根目录之下是各层目录和文件。每个目录和文件都有由多个字符组成的目录名或文件名。系统在运行中通过使用命令或系统调用进入任何一层目录,这时系统所处的目录称为当前目录。Linux使用两种方法来表示文件或目录的位置,绝对路径和相对路径。绝对路径是从根目录开始依次指出各层目录的名字,它们之间用“/
2、”分隔,如/usr/include。相对路径是从当前目录开始,指定其下层各个文件及目录的方法,如系统当前目录为/usr,bin/cc。需要注意的是Linux文件系统区分大小写,并且Linux文件没有扩展名的概念。1.4Linux目录结构及文件Linux文件系统组件的体系结构1.4Linux目录结构及文件Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(VirtualFileSystem),为各类文件系统提供一个统一的操作界面和应
3、用编程接口。1.4Linux目录结构及文件Linux的文件系统由两层结构组成。第一层是虚拟文件系统(VFS),第二层是各种不同的具体的文件系统。VFS就是把各种具体的文件系统的公共部分抽取出来,形成一个抽象层,是系统内核的一部分。它位于用户程序和具体的文件系统之间,对用户程序提供了标准的文件系统调用接口。对具体的文件系统,它通过一系列对不同文件系统公用的函数指针来调用具体的文件系统函数,完成实际的操作。任何使用文件系统的程序必须经过这层接口来使用它。通过这样的方式,VFS就对用户屏蔽了底层文件系统实现上的细节和差异。1.4Linux目录结构及文件VFS不仅可以对具
4、体文件系统的数据结构进行抽象,以统一的方式进行管理,还可以接受用户层的系统调用,例如:write、open、stat、link等。此外,它还支持不同文件系统之间的相互访问,接受内核其他子系统的操作请求。VFS在Linux内核中的位置如图所示。进程管理内存管理进程通信网络管理VFSminixExt3msdox设备缓存设备驱动程序1.4Linux目录结构及文件VFS的主要目的在于引入了一个通用文件模型(commonfilemodel),这个模型的核心是4个对象类型,即超级块对象(superblockobject)索引节点对象(inodeobject)文件对象(file
5、object)目录项对象(dentryobject)它们都是内核空间中的数据结构,是VFS的核心,不管各种文件系统的具体格式是什么样的,都要和VFS的通用文件模型相交互。1.4Linux目录结构及文件1.4Linux目录结构及文件1.超级块对象超级块对象是用来描述整个文件系统的信息。VFS超级块是由各种具体的文件系统在安装时建立,只存在于内存中。包含以下主要信息:设备标识符。这是存储文件系统的物理块设备的设备标识符,如系统中第一个IDE磁盘/dev/hda1的标识符是0x301。索引节点指针。安装索引节点指针指向被安装的子文件系统的第一个索引节点;覆盖索引节点指针
6、指向安装文件系统目录(安装点)的索引节点。根文件系统的VFS超级块中没有覆盖索引节点指针。数据块大小。文件系统中数据块的字节数。超级块操作集。指向一组超级块操作例程的指针,VFS利用它们可以读写索引节点和超级块。文件系统类型。指向所安装的文件系统类型的指针。文件系统的特殊信息。指向文件系统所需要信息的指针1.4Linux目录结构及文件2.索引节点对象Linux继承了UINX的文件管理方法,把文件名和文件控制信息分开管理,文件控制信息单独组成一个称为i节点(inode)的结构体,即索引节点。索引节点实质上是一个由系统管理的“目录项”。每个文件对应一个inode,它们
7、有唯一的编号,称为inode号。Linux的目录项只由两部分组成:文件名和inode号1.4Linux目录结构及文件3.目录项对象在VFS中,目录也属于文件。路径中的每个组成部分都由一个索引节点对象表示。VFS经常需要执行和目录相关的操作,VFS引入了目录项的概念。每一个文件除了有一个索引节点对象外,还有一个目录项dentry结构。dentry结构描述的是逻辑意义上的文件,描述其逻辑意义上的属性,因此目录项对象在磁盘上并没有对应的映像。dentry和inode所描述的目标不同,dentry结构代表的是逻辑意义上的文件,所描述的是文件逻辑上的属性,因此,目录项对象在
8、磁盘上并没
此文档下载收益归作者所有