服务器端的网络I/O
在网络的另一端,服务器的N I C接受从工作站来的重定向I / O请求。这个N I C通常具有专门的设备驱动程序,使之能够在很重的负担情况下仍然可以正常工作。当客户请求进入服务器时,
它们被服务器通信协议驱动程序“解包”,并被传送给服务器网络文件协议处理程序。
为了处理重定向I / O请求,它将被发送到服务器的文件系统,在这里重定向I / O请求将接受服务器上的设备或子系统的处理,且处理方式或多或少地与本地I / O请求类似。图3 - 2 3显示了客户请求通过的服务器软件成分和I / O路径。
当数据从N I C传送到服务器的主机I / O控制器时,要经历五步软件成分的处理,它们是:
(1) 当请求到达N I C时,由系统通信协议驱动程序(典型地是T C P / I P)将它分解,并传送到网络文件协议处理程序。
(2) 网络协议处理程序产生所有必要的连接,以跟踪与远程客户交换数据所必需的信息。
(3) 当客户I / O请求被传送到服务器文件系统时,可以执行几种类型的进程和客户管理操作,包括进程调度、安全控制、日志和进程路由。
(4) 这个请求然后被传送到服务器文件系统,文件系统将在本地存储寻找文件和目录,并产生数据块级的I / O操作。
(5) 最后这个请求被传送给卷管理器,由卷管理器将文件系统的请求映射到数据块级的设备,从这里将I / O请求传送给主机I / O控制器,以及在服务器中实现的硬件I / O路径。