| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 操作系统之进程通信 -> 正文阅读 |
|
[系统运维]操作系统之进程通信 |
概述进程通信是指进程之间的信息交换。 在进程同步之中,也需要进程间交换一些信息,所以也可以归入进程通信中,但只能称为低级的进程通信。因为进程同步间的消息交换效率低、对用户不透明。 进程通信的类型目前,高级通信机制可归结为四大类:共享存储器系统、管道通信系统、消息传递系统以及客户机-服务器系统。 共享存储器系统在共享存储器系统中,相互通信的进程共享某些数据结构或共享存储区,进程间能够通过这些空间进行通信。因此也可以根据共享的内容划分成以下两种类型:
管道(pipe)通信系统管道:指用于连接一个读进程和一个写进程,以实现它们之间通信的一个共享文件,又名pipe文件。 向管道(共享文件)提供输入的发送过程(写进程)以字符流形式将大量的数据送入管道;而接受管道输入的接受进程(读进程)则从管道中接受数据。由于发送进程和接收进程是利用管道进行通信,故又称管道通信。 为了协调双方的通信,管道机制必须提供以下三方面的协调能力:互斥、同步、确定对方是否存在(确定存在才能通信) 消息传递系统该机制,进程不必借助任何共享存储区或数据结构,而是以格式化的消息为单位,将通信的数据封装在消息中,并利用操作系统提供的一组通信命令(原语),在进程间进行消息传递,完成进程间的数据交换。该方式属于高级通信方式。 该方式隐藏了通信细节,使通信过程对用户透明化,降低通信程序的复杂性和错误率,称为当前应用最广泛的一类进程间的通信机制。例如:计算机网络中的格式化消息为报文。 其实现方式有两种:
(2)间接通信方式:指发送和接收进程,都通过共享中间实体(邮箱)的方式进行消息的发送和接收,完成进程间的通信。
客户机-服务器系统该机制是网络环境的各种应用领域当前主流的通信实现机制,主要实现放肆有:套接字、远程过程调用和远程方法调用。 套接字一个套接字就是一个通信标识类型的数据结构,包含了通信目的地址、通信使用的端口号、通信网络的传输层协议、进程所在的网络地址,以及针对客户或服务器程序提供的不同系统调用等,是进程通信和网络通信的基本构建。 套接字是为客户/服务器模型设计的,通常包括两类:
套接字的优势在于,不仅使用与一台计算机内部的进程通信,也适用于网络环境中不同计算机间的进程通信。并且每个套接字拥有唯一的套接字号,确保了通信双方之间逻辑链路的唯一性。 远程过程调用和远程方法调用远程过程(函数)调用 RPC:是一个通信协议,用于通过网络连接的系统。该协议允许运行于一台主机(本地)系统上的进程,调用另一台主机(远程)系统上的进程(例如在公司,远程调用关闭家里的空调),而对程序员表现为常规的过程调用,无需额外地为此编程。如果涉及的软件采用面向对象编程,那么远程过程调用也可称作远程方法调用。 负责处理远程过程调用的进程有两个,一个是本地客户进程,另一个是远程服务器进程,这两个进程通常也被称为网络守护进程,主要负责在网络间的消息传递,一般情况下,这两个进程都是处于阻塞状态,等待消息。 为了实现RPC的透明性,即就像调用本地过程一样,RPC引入一个存根的概念:在本地客户端,每个能够独立运行的远程过程都拥有一个客户存根,本地进程调用远程过程实际是调用该过程关联的存根,即调用的时候将控制权转移给存根,让存根来执行。 本文为《计算机操作系统》第四版 学习笔记+个人总结 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 12:51:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |