欢迎来到天天文库
浏览记录
ID:18227814
大小:94.09 KB
页数:18页
时间:2018-09-15
《操作系统课程设计new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、虚拟文件系统和虚拟数据库管理系统【目录】一,虚拟文件系统1.1文件系统的总体结构1.2实现VFS的主要数据结构1.2.1超级块(superblock)对象1.2.2索引节点(inode)对象1.2.3目录项(dentry)对象1.2.4文件(file)对象二,虚拟数据库管理系统2.1虚拟数据库2.2,虚拟数据库管理系统的系统结构图2.3、虚拟数据库的查询处理过程2.4虚拟数据库管理系统的关键技术—模式集成三,虚拟数据库管理系统与文件管理系统的对比3.1,VFS中的物理系统及设备——VDBMS中的数据源:3.2,VFS中超级块的读译函数与索引节点——VDBMS中的包装器与抽取器3.3,VF
2、S中超级块的节点对应关系——VDBMS中的VDB服务器3.4,虚拟文件系统与虚拟数据库管理系统的区别【摘要】本文分别阐述了虚拟文件系统和虚拟数据库管理系统,并并对两者的基本思想和系统结构进行比较。【关键词】虚拟文件系统数据库管理系统【正文】在信息高速发展的今天,信息量越来越大。在计算机中,信息是以文件的形式存在的,如何处理信息对使用计算机和因特网的人来说就是如何处理文件。就现在来说,最普及的处理信息的方法是通过文件系统和数据库系统。一.虚拟文件系统1.1文件系统的总体结构文件的物理结构文件的格式文件的逻辑结构在计算机中,文件结构是文件内容的组织方式。从不同的层面上看到的文件结构有所不同。
3、文件系统负责文件的逻辑结构与物理结构之间的相互映射。文件的逻辑结构有记录式文件和流式文件。文件的物理结构有顺序文件,索引文件和链接文件。下面是linux文件系统的结构:I节点缓存目录项缓存设备驱动程序缓冲区缓存Ext2/Ext3MinixFATVFS虚拟文件系统实际文件系统Linux是近年来发展起来的一种新型的操作系统,其最重要的特征之一就是支持多种文件系统,使其更加灵活,从而与许多其它的操作系统共存。Linux支持ext,ext2,xia,minix,umsdos,msdes,fat32,ntfs,proc,stub,ncp,hpfs,affs以及ufs等多种文件系统。为了实现这一目的
4、,Linux对所有的文件系统采用统一的文件界面,用户通过文件的操作界面来实现对不同文件系统的操作。VFS只是一种存在于内存中的文件系统,在系统启动时产生,并随系统的关闭而取消。它的主要功能包括:(1)虚拟文件系统位于整个文件系统的最上层,为用户提供使用实际文件系统的接口。即虚拟文件系统对用户来说是完全透明的,用户并不知道使用的是虚拟文件系统,甚至也不知道是哪个子文件系统在管理文件。用户只需发出通用的命令操作即可。(2)虚拟文件系统负责管理系统下各子文件系统的各种缓冲区,尽最大可能为用户提供最好的文件存取速率和保证文件的完整性。(3)涉及到具体文件系统的操作时,把它们映射到与控制文件、目录
5、及inode相关的物理文件系统。(4)把设备与对应的文件系统联系起来。虽然在linux中虚拟文件系统使用C语言来编写,但是虚拟文件系统使用的是面向对象的编程方法,将一种文件系统的所有信息封装在一个结构体中。为屏蔽实际文件系统差异,虚拟文件系统采用统一的数据结构描述所有的子文件系统,给用户提供标准的文件操作数。未提供较好的系统的独立性,虚拟文件系统还提供标准文件操作数与实际子文件系统的操作之间的相互映射。1.2实现VFS的主要数据结构有:·超级块(superblock)对象:存放系统中已安装文件系统的有关信息。对于基于磁盘的文件系统,这类对象通常对应于存放在磁盘上的文件系统控制块,也就是说
6、,每个文件系统都有一个超级块对象.·索引节点(inode)对象:存放关于具体文件的一般信息。对于基于磁盘的文件系统,这类对象通常对应于存放在磁盘上的文件控制块(FCB),也就是说,每个文件都有一个索引节点对象。每个索引节点对象都有一个索引节点号,这个号唯一地标识某个文件系统中的指定文件。·目录项(dentry)对象:存放目录项与对应文件进行链接的信息。VFS把每个目录看作一个由若干子目录和文件组成的常规文件。例如,在查找路径名/tmp/test时,内核为根目录“/”创建一个目录项对象,为根目录下的tmp项创建一个第二级目录项对象,为/tmp目录下的test项创建一个第三级目录项对象。·文
7、件(file)对象:存放打开文件与进程之间进行交互的有关信息。这类信息仅当进程访问文件期间存在于内存中。1.2.1超级块很多具体文件系统中都有超级块结构,超级块是这些文件系统中最重要的数据结构,它是来描述整个文件系统信息的,可以说是一个全局的数据结构。Minix、Ext2等有超级块,VFS也有超级块,为了避免与后面介绍的Ext2超级块发生混淆,这里用VFS超级块来表示。VFS超级块是各种具体文件系统在安装时建立的,并在这些文件系统卸
此文档下载收益归作者所有