预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第24卷第7期计算机应用研究Vo.l24No.7 2007年7月ApplicationResearchofComputersJuly2007 FreeBSD中I/O系统的研究与分析* 潘学俭1,梁洪亮1,吕洪利2 (1.中国科学院软件研究所,北京100080;2.北京信息技术应用研究所,北京100091) 摘要:FreeBSD操作系统提供了一个性能突出、便于扩展、灵活性高的经典I/O子系统。通过分析FreeBSD内 核源代码对I/O子系统进行了深入研究,并以一个读请求的实例清晰地展示了其输入/输出操作的整个流程。 关键词:输入/输出系统;FreeBSD;虚拟文件系统层 中图分类号:TP316.81文献标志码:A文章编号:10013695(2007)07007504 DesignandImplementationofInput/OutputSubsystemofFreeBSD PANXuejian1,LIANGHongliang1,LVHongli2 (1.InstituteofSoftware,ChineseAcademyofSciences,Beijing100080,China;2.BeijingInstituteofInformationTechnologyAppication,Bei jing100091,China) Abstract:FreeBSDsI/Osystemissuchanefficien,textensibleandflexibleone.Thispaperstudiedthedesignandmiple mentationoftheI/OsubsystemofFreeBSD.Andtoshowtheinteriortruthclearly,itprovidedtheprocessofareadingI/Ore ques.t Keywords:input/outputsystem;FreeBSD;virtualfilesystem FreeBSD是一类稳定、高效、可靠的操作系统,它既可以用11虚拟文件系统层(VFS) 于大型服务器上也可以应用在个人计算机上从而使得个人 ,,现代操作系统大都支持多种文件系统。要实现这个目的, 也能拥有高性能的工作站。在研发国产的过程中 UNIXOS,就要将对各种不同文件系统的操作和管理纳入到一个统一的 笔者对FreeBSD内核进行了深入研究和分析。本文描述了在 框架中,让内核中的文件系统界面成为一条文件系统总线,而 FreeBSDI/O子系统上的研究工作。具体文件系统成为连接在其上的插槽。用户程序可以通过同 一个文件系统操作界面,即一组系统调用,对各种不同的文件 1I/O系统的整体架构 系统(以及文件)进行操作。因此,虚拟文件系统为用户程序 FreeBSDI/O系统的层次划分非常明确。用户程序发出的提供统一、抽象、虚拟的文件系统界面,隐去了各种不同文件系 I/O请求通过系统调用进入内核后,先后要经过虚拟文件系统统的实现细节[1]。对于具体文件系统来说,VFS是一个管理 层、具体文件系统层、GEOM层、ATA/CAM层,才能最终被硬件者,而对内核其他子系统来说,VFS是它们与具体文件系统的 接收并处理(图1)。I/O操作的执行过程,实际就是I/O请求一个接口。 从上到下层层发送的过程。在不同层次I/O请求的数据结构VFS的作用主要有: 分别为uio->buf->bio->ata_request。(1)对具体文件系统的数据结构进行抽象,以一种统一的 数据结构进行管理; (2)接收用户层的系统调用,如write、open、stat、link等; (3)支持多种具体文件系统之间的相互访问; (4)接收内核其他子系统,特别是内存管理子系统的操作 请求。 每个文件在虚拟文件系统层由一个vnode数据结构代表, 它是文件系统的最高层抽象。Vnode向具体的文件系统提供 统一接口,在FreeBSD中实际上就是一个函数指针的数组(由 具体文件系统提供的相应函数)。一个具体文件系统想要被 FreeBSD支持,必须按照这个接口编写自己的操作函数,将自 己的细节对内核其他子系统隐藏起来。实际上,要支持一个新 的文件系统,主要任务就是编写这些接口函数。 收稿日期:20060301;修返日期:20060517基金项目:国家科技部攻关计划资助项目(2005BA113A02);国家发改委资助项目 作者简介:潘学俭,硕士研究生,主要研究方向为系统软件和信息安全(xuejian03@ios.cn);梁洪亮,副研究员,博士,主要研究方向为计算机安 全与系统软件;吕洪利(1974),女,博士,主要研究方向为信息安全. 76计