操作系统教学课件:Chapter 4 Processes进程.pptVIP

操作系统教学课件:Chapter 4 Processes进程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
缓冲 通信线路用消息队列来保存消息,有以下三种实现方式 零容量:队列中的最大长度为0。这种情况发送者必须阻塞,直到接收者接收消息 有限容量:队列的长度为有限的n;因此,最多只能有n个消息驻留其中。 无限容量:队列长度可以无限;因此,不管多少消息都可在其中等待。发送者不阻塞 * Linux进程间通信 多种I P C 的方法: 半双工U n i x 管道,把一个进程的标准输出与另一个进程的标准输入相连接的方法,单向通信的方法。 FIFO(命名管道) SystemV 形式的消息队列,内核地址空间中的内部链表 SystemV 形式的信号量集合,它是一种计数器,用来控制对多个进程共享的资源所进行的访问。它们常常被用作一个锁机制,在某个进程正在对特定资源进行操作时,信号量可以防止另一个进程去访问它 SystemV 形式的共享内存段,对将要在多个进程间映射和共享的内存区域(段)所作的映射,这是I P C 最快捷的方式,因为这里没有什么中介(例如管道、消息队列等等)。相反,消息直接从某内存段映射,并映射到调用进程的寻址空间。内存段可被某进程创建,并接着写到任意数量的进程中去,或者是从任意数量的进程中读数据。 网络套接字( B e r k e l e y 形式) 全双工管道( S T R E A M S 管道) 客户机-服务器系统通信 Sockets 套接字 Remote Procedure Calls 远端过程调用 Java远程方法调用RMI Sockets A socket is defined as an endpoint for communication. 套接字定义成通讯中的端 Concatenation of IP address and port 与ip地址和端口相关 The socket :1625 refers to port 1625 on host Communication consists between a pair of sockets. Socket的引入 Unix系统的I/O命令集是以打开-读/写-关闭为模式的。 80年代早期,远景规划局(ARPA)资助了UCB的一个研究组,让他们将TCP/IP协议集成到UNIX系统内核中,相当于在UNIX系统中引入了一种新型的I/O操作。UNIX用户进程与网络协议的交互作用比用户进程与传统的I/O设备相互作用复杂得多。 进行网络操作的进程在不同机器上,如何建立它们之间的联系? 存在很多网络协议,如何建立一种通用机制以支持多种协议? Socket的引入(2) 该研究组成功地解决了这些问题,他们设计了一个接口,应用程序进程使用这个接口可以方便地进行通信。该接口就是著名的Berkeley套接字(Berkeley Socket)。相应的这个UNIX系统也被称为Berkeley UNIX或BSD UNIX (TCP/IP首先出现在BSD4.1版本中,既Release 4.1 of Berkeley Software Distribution)。 什么是socket socket是一种文件描述符。Socket数据传输是一种特殊的I/O。 socket是使用 Unix 文件描述符 (file descriptor) 和其他程序通讯的方式。 socket 是进行程序间通讯(IPC)的 BSD 方法。这意味着 socket 用来让一个进程和其他的进程互通信息,就象我们用电话来和其他的人交流一样。 Socket接口示意图 应用程序1 应用程序2 网络编程界面,如Berkeley Socket 网络通信服务界面,如TCP/IP 操作系统内核 物理介质,如双绞线 Socket的基本概念 端口和端口号 网络中可以被命名和寻址的通信端口是操作系统可分配的一种资源,它用于标识通信的进程。在TCP/IP协议的实现中,端口操作类似于一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写原语实现。 类似于文件描述符,每一个端口都拥有一个端口号(整形标示符)用于区别不同的端口。 端口号可全局分配或本地分配。 Socket的基本概念(2) 地址 网络通信中的通信的两个进程位于不同的机器上,两台机器可能位于不同的网络,因此需要三级寻址: 如一个主机与多个网络相连,必须指定一特定网络地址。 网络上每一台主机都有其唯一的地址。 每一主机上的每一进程应有在该主机上的唯一标识符。 通常主机地址由网络ID和主机ID组成,在TCP/IP协议中用32位整数值表示,TCP和UDP均使用16位端口号。 网络字节顺序 计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先,如Intel的是低位字节优先。但是Internet上的数据则是以高位字节优先顺序在网络上传输的。 为保证数据

文档评论(0)

学习让人进步 + 关注
实名认证
文档贡献者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档