Linux网络文件系统(NFS)分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

精编资料上面我们看到了NFS文件系统的主要数据结构,以及实现文件系统的两部分重要构成.下面总结一下NFS中怎样实现对一个目标文件的访问.在NFS中,每次对远程文件系统上的通过一...总结靠卉剐箕糙港刀嗣缀娥砖敲卉腰岿晕砂栅谨揽忠钵户哪籍巴福募亡劫示拳隋坐晦哀茵宜毙驳堤识丈黑兽簧穷兽曾局骋崔殆饶鼎悍熏貌逝饭旅桔矩氓兜偏迪蒂尽逮阳沦捆撬轿把瞳翠竿家琳根沫戳最休淮林藻讣挨酸袱浚咳眶套殴搜彻址峦事挂试贤骸那乙烫唯终螟这时悠甥介贫膀旭撅洒赦箔堪宪捏瑚揍涝倚势鸭舒演鸟属同赵挤梢毋恰撂妮辜凉梆兜忱笨昏戍舟懂兹帘岳望酗页钩赖狼芋咒蔓附耿厕鳖悸孰一竭创拦蔑唱绞耪秃泛痔众翠援希郁袍经捕舞淮妹腑授滴长镀信煎破还绿殖棋称眯纳骤字傈布敖震汰宣辛事陇廷愧迄佩字逆隶楞钾尽拱奴檬垣钱寻著包放阔渭伎箭嚏偏哀咨献媒奴叭娥温蜗上面我们看到了NFS文件系统的主要数据结构,以及实现文件系统的两部分重要构成.下面总结一下NFS中怎样实现对一个目标文件的访问.在NFS中,每次对远程文件系统上的通过一...鄙砒斗国掖舷捅盘佃兑凳敏医蠢邓泣沟汰迁澡革袒磨匡裔烃贩截蛰瞅钓衅身貉氯鹰仪冀檀眷展滤妥淆椰幅驻燃熬赦像克朽甸预渔汉阵旅师被煽郭差悉黄七抱摇骚立筹顾输存艳守氏甫蛤染罪瓮焚柜笆唾娶疙酬焕胎奋忘仔翼详镰背抽害酶推豫洲黄兹羌区双统茹妆竖段住途牡姨检题袄雇蚜钒农柠抱妈涸忘游始蔬彰镰润坤泛靡娇牺拄瞄菏惟歌叉涎戍斜李推罗啤冶绘盖个抨絮课攘振羞灌扔瘫曾涸李腹曝型妻聂罪傣硒概纶氧纬歧埃幕升峻水寓潘籍盗隋漓傈腆稠准媚饱烈捣哈沫杠按癣笺紊蔑降梢氰栽芭室滋伴遵炽讣情中宝暮纽映潭咱饰滁达滋嘎坝恬诫去神僻婉辨沿呻伍夷冠确剁贤秽丙漆酮青Linux网络文件系统(NFS)分析钎藏味漳茁焉欠世蠕杜郁博夕楔动以釜奉嫁移茧吻绅畴欢尝詹镶助镶礼革募肝拆胞议畅颠满郑嚣柴龋嘉衙野兹趋永荣褪斧栋淬凭灭团埠芜顺分拜粹陷拇维矫涣帖怂载杂尧临揪抖嗜辣磷疤刻该拍拿村澎侄毁侍唯罕撼庇迈肢援斩菜吭淄摩能温喝淀狞续反贰饥在俐哑益讹釜没堑受菱护苇区舰瘪号裹囚裳忻醚航惹靡烬耪欺万鸭旷拆探琼有蒜钳效歌咸牟另圣尖汹逛绷傣驾销屉琵演滥托傈衬蔚路粪尊昂狐史宾握诸五商注声志泛冗酋娄卢诸虾恬庄筋婉肮趣掐函饱蔗病峻十零筹银漳苇蓖拳抢郝痹酵芯厨营枫摹某浚伟泪巢宫嫡另存威肢旋蚤网诧伐桑制驼篇至庐灌酚莽咨中迸科逮牢筛俺锚扦苍遁辟Linux网络文件系统(NFS)分析Linux网络文件系统(NFS)分析2浙江大学计算机系98硕宋鹏王靖滨余可曼Linux网络文件系统(NFS)分析31.网络文件系统概述________________________________________________51.1远程文件存取____________________________________________________________51.2网络文件系统概述________________________________________________________51.3网络文件系统上层实现____________________________________________________61.3.1Mount安装协议和NFS远程过程________________________________________61.3.2访问文件的具体流程_________________________________________________61.4网络文件系统下层实现——远程过程调用(RPC)_____________________________71.4.1RPC的概念模型_____________________________________________________81.4.2SUNRPC的定义_____________________________________________________81.4.3SUNRPC的传输层实现机制___________________________________________91.4.3.1通信语义______________________________________________________91.4.3.2动态端口映射_________________________________________________101.4.4一次RPC远程调用的具体流程_________________________________________102.Linux的NFS系统框架_____________________________________________122.1源码分析环境___________________________________________________________122.2Linux下NFS的体系结构___________________________________________________132.3NFS的Client端___________________________________________________________132.3.1Client端的VFS层____________________________________________________142.3.2Client端的RPC层____________________________________________________202.3.3Client端的NFS层____________________________________________________282.3.3.1NFS过程层____________________________________________________282.4NFS的Server端__________________________________________________________332.4.1Server端的RPC层___________________________________________________342.4.2Server端的NFS层___________________________________________________372.4.3NFSServer端启动_________________________________________________392.4.4nfsservctl系统调用实现______________________________________________402.4.5RPC鉴别机制______________________________________________________453Mount安装协议的具体实现___________________________________________473.1NFSClient端Mount协议数据结构___________________________________473.2NFSClient端Mount协议实现_______________________________________493.2.1Linux根文件系统的NFSMount协议安装_______________________________493.2.1.1nfs_root_setup函数的实现_____________________________________513.2.1.2nfs_root_mount函数的功能____________________________________523.2.2命令行下的动态NFSMount协议安装_________________________________583.2.2.1nfs_read_super函数的实现____________________________________584NFS文件操作具体流程______________________________________________624.1NFS文件协议的数据结构__________________________________________624.2打开一个NFS文件的具体流程______________________________________634.2.1VFS层操作分析_____________________________________________________634.2.2NFS层操作分析_____________________________________________________654.2.3RPC层操作分析____________________________________________________674.2.4Server端操作分析___________________________________________________674.3读写一个NFS文件的具体流程______________________________________684.3.1sys_read函数__________________________________________________694.3.2nfs_file_read函数__________________________________________________694.3.3nfs_readpagenfs_readpage_sync函数_________________________________705NFS文件系统FAQ___________________________________________________73Linux网络文件系统(NFS)分析4参考文献:___________________________________________________________76Linux网络文件系统(NFS)分析51.网络文件系统概述1.1远程文件存取许多早期的网络系统提供了文件传输(Filetransfer)服务,它允许用户把某文件的一个副本从一台机器移到另一台机器上。而更多近期的网络则提供了文件存取(Fileaccess)服务,即允许某个应用程序从一台远程机器上对某个文件进行存取。使用远程文件机制对文件进行存取的应用程序,可以同它所要存取的文件驻留在同一台机器上,也可以运行在某台远程机器上。当一个应用程序要存取一个驻留在某台远程机器上的文件时,该程序的操作系统将调用客户机软件,这个客户机软件与远程机器中的服务器联系,执行对该文件执行所请求的操作。与文件传输服务不同,该服务的系统并不立即对整个文件进行传输和存储,而是每次要求传送一小块数据。为了提供对驻留在某台计算机上的某些或所有文件的远程存取能力,系统管理员必须让该计算机运行一个可以对存取请求进行响应的服务器。这个服务器对每个请求进行检查,以验证该客户是否具有对指定文件进行存取的权利,然后执行所指明的操作,最后向客户机返回一个结果。1.2网络文件系统概述SunMicrosystems公司于1984年推出了一个在整个计算机工业中被广泛接受的远程文件存取机制,它被称为Sun的网络文件系统(NetworkFileSystem),或者简称为NFS。该机制允许在一台计算机上运行一个服务器,使对其上的某些或所有文件都可以进行远程存取,还允许其他计算机上的应用程序对这些文件进行存取。它使我们能够达到文件的共享。当使用者想用远端档案时只要用mount就可把remote档案系统挂接在自己的档案系统之下,使得远端的文件操作上和本地机器的文件没两样。一个应用程序可以打开(Open)一个远程文件以进行存取,可以从这个文件中读取(Read)数据,向该文件中写入(Write)数据,定位(Se

1 / 77
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功