您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 操作系统(东南大学滕至阳ppt)chapter(9)
第十一章网络操作系统11.1概述网络拓扑结构通信与协议NOS的功能NOS的实现策略图11-34.2BSDUNIX网络操作系统结构标准网络服务器或用户应用程序核外部分NFS接口4.2BSD的socket接口虚拟结点接口本地VFS远地VFSRPC/XDR内核部分UDPTCP其他ISO第4层IP其他ISO第3层硬盘LINK驱动器其他连接驱动器驱动器ETHERNET控制器其他网络控制器磁盘网络收发器其他网络收发器第十一章网络操作系统11.2基本通信技术11.2.1send/receive原语◆带有检查应答信号的send/receive原语图11-4带检查应答信号的send原语执行流程图send(┅)命令在没有应答信号时重新执行send(┅)命令T(等待回答时间)┇┇第十一章网络操作系统11.2.1send/receive原语◆带锁的sendw/receivew原语◆带缓冲区的sendb/receiveb原语第十一章网络操作系统11.2.2远程过程调用图11-5主机A调用远地主机B上的过程ProgramAA()┇procedurelocal()begin┇过程体代码end;本过程体结束begin本程序开始┇local(x1,y);调用本地程序┇remote(y);调用远地过程┇end本程序结束ProgramAA()┇procedurelocal()begin┇过程体代码end;本过程体结束┇┇┇end本程序结束结点A(主机A)结点B(主机B)第十一章网络操作系统11.2.2远程过程调用◆RPC机制的实质是实现网络七层协议中会话层的功能图11-6RPC的实现概况clientremote(x)user代码stubremote(x);packarguments;send(msg,ans)unpackargumentsreturnstubRPCruntimesend();Tx(packet);Rx(packet);serverprocedureremote(P1)end;{ofremote}user代码receive(msg);unpackargs;remote(x)packargsreplay(ans);stubRPCruntimereceive()Rx(packet);replay();Tx(packet);callLocalcallLocalcallreturn(返回)根据程序名Pi建立约束整理调用参数(组装参数成信息)发送调用信息接收应答信息(应答结果buf)返回(buf)等应答接收调用信息获取过程参数(拆卸成参数形式)callpi(参数)(调用结果buf)返回应答信息(buf)等服务请求client’sstubserver’sstubmain()┆remotecallPi(参数)┆┆procedurePi(参数)┆┆end{pi}在站点A上在站点B上控制部分传输部分控制部分传输部分通信网络图11-7RPC执行时各部分的关系图第十一章网络操作系统11.2.3SOCKET系统调用◆socket利用客户/服务器模式巧妙地解决了进程之间建立通信连接的问题11.2.3.1socket的功能◆创建socketsockid=socket(af,type,protocol)第十一章网络操作系统11.2.3.1socket的功能◆指定本地地址bind(sockid,localaddr,addrlen)◆建立socket连接connect(sockid,destaddr,addrlen)accept()用于面向连接的服务器,其调用格式为:newsock=accept(sockid,clientaddr,paddrlen)第十一章网络操作系统11.2.3.1socket的功能◆listen()调用listen()在accept()之前使用,其格式为:listen(sockid,quelen)第十一章网络操作系统11.2.3.1socket的功能◆发送数据──write()、writev()、send()、sendto()、sendmsg()3个面向连接调用的格式大致相同:write(sockid,buff,bufflen);缓冲发送writev(sockid,iovector,vectorlen);集中发送send(sockid,buff,bufflen,flags);可控缓冲发送◆接收数据——read()、readv()、recvfrom()、recvmsg()第十一章网络操作系统11.2.3.2客户/服务器模型的socket实现框架◆客户/服务器模型时序图图11-12面向连接客户/服务器模型时序图客户服务器时间socket()bind()listen()accept()阻塞,等客户连接请求read()write()处理服务请求write()read()connect()socket()服务响应服务请求建立连接图11-13无连接客户/服务器模型时序图socket()bind()readfrom()sendto()服务器阻塞,等客户数据处理服务请求sendto()服务请求readfrom()bind()socket()服务应答客户第十一章网络操作系统11.2.3.2客户/服务器模型的socket实现框架◆服务器框架服务器为重复服务器和并发服务器图11-14利用accept()建立并发服务器主服务器从服务器客户listen()accept()listen()accept()listen()accept()fork()新socket连接建立连接请求原公认socket本地socket第十一章网络操作系统11.2.3.2客户/服务器模型的socket实现框架◆服务器socket地址的确定port=getservbyname(servtype,proto)hp=gethostbyname(host)gethostname(localhost,namelen)gethostbyname(localhost)第十一章网络操作系统11.3网络资源共享技术11.3.1硬盘共享图11-15服务器硬盘共享D┆A卷B卷C卷┆分区1分区2分区3硬盘逻辑驱动器EFCD工作站1工作站2ABCAB软盘软盘硬盘软盘软盘图11-16SPC网络配置表0261014字节(b)SPC授权项02371115字节(a)SPC配置表结构(c)UPC授权项SPC名字(14字节)SPC授权项(14字节)UPC授权项1(15字节)┆UPC授权项32(15字节)SPC驱动器名1(14字节)驱动器号1(1字节)┆SPC驱动器名20(14字节)驱动器号20(1字节)可写控制可读控制可访控制SPC站点地址可访控制可写控制可读控制远程字节=00不允许远程操作01允许远程操作UPC站点地址图11-17UPC网络配置表共享驱动器数(1字节)SPC驱动器1SPC驱动器1┇0~1H:----对应于UPC的共享盘号1~2H:----对应于UPC盘号0~1H:----空0~1H:----SPC的驱动器名0~1H:----磁盘区段的大小(a)UPC配置表结构(b)SPC驱动器说明信息第十一章网络操作系统11.3.2打印机共享◆目前采用两种方式实现共享打印:顾客/服务器方式和对等方式第十一章网络操作系统11.3.3数据和软件资源共享◆数据迁移(datamigration)◆计算迁移(computationmigration)更多的情况下是利用远程过程调用(RPC)方式或请求代理方式实现计算迁移第十一章网络操作系统11.4网络文件系统11.4.1什么是NFS◆NFS是一种运行机制,它通过网络给不同操作平台上的用户共享同一个文件系统◆NFS给上层提供统一的文件操作平台,在下层有不同的接口与具体的文件系统交互第十一章网络操作系统11.4.2NFS实现技术◆VFS(VirtualFileSystem)/VNODE(VirtualFileNode)接口就是它的一个具体实现,VFS/VNODE的结构图11-18图11-18VFS/VNODE体系结构UserInterfaceKernelInterfaceFileSystemVNODERemoteFileMSDOSFileUNIXFileUNIXDeviceVFSVFSVFSVFSrnodespcnodesinodesRPCXDRUDPDiskDriverNetworkDisk
本文标题:操作系统(东南大学滕至阳ppt)chapter(9)
链接地址:https://www.777doc.com/doc-3619245 .html