linux内核具体体系结构之虚拟文件系统

linux内核具体体系结构之虚拟文件系统

ID:14898086

大小:82.00 KB

页数:8页

时间:2018-07-30

linux内核具体体系结构之虚拟文件系统_第1页
linux内核具体体系结构之虚拟文件系统_第2页
linux内核具体体系结构之虚拟文件系统_第3页
linux内核具体体系结构之虚拟文件系统_第4页
linux内核具体体系结构之虚拟文件系统_第5页
资源描述:

《linux内核具体体系结构之虚拟文件系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux内核具体体系结构之虚拟文件系统收藏此文于2009-10-23被推荐到CSDN首页如何被推荐?Linux内核具体体系结构之虚拟文件系统译自:《ConcreteArchitectureoftheLinuxKernel》作者:Waterloo,OntarioN2L3G1CS746G,Winter1998刘建文略译(http://blog.csdn.net/keminlau)3.3VirtualFileSystem3.3.1GoalsLinux被设计成支持驱动多种不同物理设备的现代操作系统。注意,即便是同一种的硬件设备也可能存在多种不同的接口,比如硬盘有PATA、SATA

2、、SCSI、USB等不同接口(KEMIN:注意接口与总线的区别)。除了支持不同的物理设备接口外,Linux还支持各种不同的逻辑文件系统(logicalfilesystems),这个功能有助于Linux与其它的操作系统共存和互操作。[虚拟文件系统]泛化和囊括了[外设输入输出]和[逻辑文件系统]功能,实现以下一些“伟大”目标:·*Multiplehardwaredevices-provideaccesstomanydifferenthardwaredevices·*Multiplelogicalfilesystems-supportmanydifferentlogicalfil

3、esystems·*Multipleexecutableformats-supportseveraldifferentexecutablefileformats(likea.out,ELF,java)·*Homogeneity-presentacommoninterfacetoallofthelogicalfilesystemsandallhardwaredevices·*Performance-providehigh-speedaccesstofiles·*Safety-donotloseorcorruptdata·*Security-restrictuseraccess

4、toaccessfiles;restrictusertotalfilesizewithquotas3.3.2ExternalInterface[虚拟文件系统]为系统边界提供了两层的接口:对外的是给用户进程调用的系统调用(system-call);对内是给内核其它子系统调用的底层函数。对外系统调用函数是符合POSIX标准的,包括文件操作open/close/read/write/seek/tell,和目录操作readdir/creat/unlink/chmod/stat。对内的接口则更丰富一些,除了公开文件系统的功能函数,还会对内核其它子系统公开一些实现的数据结构。比如,in

5、ode和file。以下两个接口定义可在文件系统C头文件(/include/linux/fs.h)中找到:InodeInterface:·*create():createafileinadirectory·*lookup():findafilebynamewithinadirectory·*link()/symlink()/unlink()/readlink()/follow_link():managefilesystemlinks·*mkdir()/rmdir():createorremovesub-directories·*mknod():createadirectory

6、,specialfile,orregularfile·*readpage()/writepage():readorwriteapageofphysicalmemorytoabackingstore·*truncate():setthelengthofafiletozero·*permission():checktoseeifauserprocesshaspermissiontoexecuteanoperation·*smap():mapalogicalfileblocktoaphysicaldevicesector·*bmap():mapalogicalfileblockt

7、oaphysicaldeviceblock·*rename():renameafileordirectory注:除了以上inode的接口,其它内核子系统还可以调用namei()函数查出与inode相关联的文件或目录。FileInterface:·*open()/release():openorclosethefile·*read()/write():readorwritetothefile·*select():waituntilthefileisinaparticularstate(readableorwritea

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。