Linux网络文件系统(NFS)分析
PAGE 52
精编资料
上面我们看到了NFS文件系统的主要数据结构,以及实现文件系统的两部分重要构成.下面总结一下NFS中怎样实现对一个目标文件的访问.在NFS中,每次对远程文件系统上的通过一...
总结
Linux网络文件系统
(NFS)分析
浙江大学计算机系 98硕
宋鹏王靖滨余可曼
TOC \o "1-3"
1.网络文件系统概述 PAGEREF _Toc454873938 \h 4
1.1 远程文件存取 PAGEREF _Toc454873939 \h 4
1.2 网络文件系统概述 PAGEREF _Toc454873940 \h 4
1.3 网络文件系统上层实现 PAGEREF _Toc454873941 \h 5
1.3.1 Mount安装协议和NFS远程过程 PAGEREF _Toc454873942 \h 5
1.3.2 访问文件的具体流程 PAGEREF _Toc454873943 \h 5
1.4 网络文件系统下层实现——远程过程调用(RPC) PAGEREF _Toc454873944 \h 6
1.4.1 RPC的概念模型 PAGEREF _Toc454873945 \h 7
1.4.2 SUN RPC的定义 PAGEREF _Toc454873946 \h 7
1.4.3 SUN RPC的传输层实现机制 PAGEREF _Toc454873947 \h 8
1.4.3.1 通信语义 PAGEREF _Toc454873948 \h 8
1.4.3.2 动态端口映射 PAGEREF _Toc454873949 \h 9
1.4.4 一次RPC远程调用的具体流程 PAGEREF _Toc454873950 \h 9
2.Linux的NFS系统框架 PAGEREF _Toc454873951 \h 11
2.1 源码分析环境 PAGEREF _Toc454873952 \h 11
2.2 Linux下NFS的体系结构 PAGEREF _Toc454873953 \h 12
2.3 NFS的Client端 PAGEREF _Toc454873954 \h 12
2.3.1 Client端的VFS层 PAGEREF _Toc454873955 \h 13
2.3.2 Client端的RPC层 PAGEREF _Toc454873965 \h 20
2.3.3 Client端的NFS层 PAGEREF _Toc454873971 \h 27
2.3.3.1 NFS过程层 PAGEREF _Toc454873972 \h 27
2.4 NFS的Server端 PAGEREF _Toc454873975 \h 33
2.4.1 Server端的RPC层 PAGEREF _Toc454873976 \h 33
2.4.2 Server端的NFS层 PAGEREF _Toc454873977 \h 37
2.4.3 NFS Server端启动 PAGEREF _Toc454873978 \h 39
2.4.4 nfsservctl系统调用实现 PAGEREF _Toc454873985 \h 40
2.4.5 RPC鉴别机制 PAGEREF _Toc454873994 \h 46
3 Mount安装协议的具体实现 PAGEREF _Toc454873995 \h 48
3.1NFS Client端Mount协议数据结构 PAGEREF _Toc454873996 \h 48
3.2NFS Client端Mount协议实现 PAGEREF _Toc454873997 \h 50
3.2.1 Linux根文件系统的NFS Mount协议安装 PAGEREF _Toc454873998 \h 51
3.2.1.1 nfs_root_setup函数的实现 PAGEREF _Toc454873999 \h 52
3.2.1.2 nfs_root_mount函数的功能 PAGEREF _Toc454874002 \h 54
3.2.2 命令行下的动态NFS Mount协议安装 PAGEREF _Toc454874008 \h 60
3.2.2.1 nfs_read_super函数的实现 PAGEREF _Toc454874009 \h 60
4 NFS文件操作具体流程 PAGEREF _Toc454874012 \h 64
4.1NFS文件协议的数据结构 PAGEREF _Toc454874013 \h 64
4.2打开一个NFS文件的具体流程 PAGEREF _Toc4548740