目录

  • 1 绪论
    • 1.1 课程引入
    • 1.2 操作系统的发展过程
    • 1.3 操作系统的基本类型
    • 1.4 操作系统的特征
    • 1.5 操作系统的功能
    • 1.6 操作系统的组织结构
    • 1.7 章节测验
    • 1.8 考研真题讲解
  • 2 操作系统的关键技术
    • 2.1 操作系统的硬件环境
    • 2.2 中央处理器
    • 2.3 系统调用
    • 2.4 存储系统
    • 2.5 中断机制
    • 2.6 缓冲技术
    • 2.7 章节测验
    • 2.8 考研真题讲解
  • 3 进程的描述与控制
    • 3.1 进程概述
    • 3.2 进程状态及转换
    • 3.3 进程控制
    • 3.4 进程互斥
    • 3.5 进程同步
    • 3.6 经典互斥与同步
    • 3.7 进程通信
    • 3.8 线程
    • 3.9 章节测验
    • 3.10 考研真题讲解
  • 4 资源分配与死锁
    • 4.1 资源管理概述
    • 4.2 进程死锁
    • 4.3 死锁预防
    • 4.4 死锁避免
    • 4.5 死锁的检测和解除
    • 4.6 章节测验
    • 4.7 考研真题讲解
  • 5 处理机管理
    • 5.1 处理机的多级调度
    • 5.2 作业调度与进程调度
    • 5.3 调度算法
    • 5.4 两道批处理调度
    • 5.5 实时调度
    • 5.6 章节测验
    • 5.7 考研真题讲解
  • 6 存储管理
    • 6.1 存储管理概述
    • 6.2 分区存储管理
    • 6.3 页式存储管理
    • 6.4 页面置换算法
    • 6.5 段式存储管理
    • 6.6 段页式存储管理
    • 6.7 “抖动”与工作集
    • 6.8 章节测验
    • 6.9 考研真题讲解
  • 7 文件管理
    • 7.1 文件和文件系统
    • 7.2 文件的逻辑结构与存取方法
    • 7.3 文件的物理结构
    • 7.4 文件存储空间管理
    • 7.5 文件目录
    • 7.6 文件共享与安全
    • 7.7 磁盘调度算法
    • 7.8 章节测验
    • 7.9 考研真题讲解
  • 8 设备管理
    • 8.1 设备管理概述
    • 8.2 设备数据传输方式
    • 8.3 设备分配
    • 8.4 设备驱动程序
    • 8.5 章节测验
    • 8.6 考研真题讲解
进程通信

进程通信引入

并发进程之间的交往本质上是互相交换信息,有些情况下交换的信息量很少,例如某个状态信息。有些情况下交换大批数据,例如传送一批信息或整个文件。

进程之间互相交换信息的工作称之为进程通信。


进程通信的分类

  • 低级通信与高级通信:

    • 低级通信:只能传递状态和整数值(控制信息),包括进程互斥和同步所采用的信号量机制。缺点是:传送信息量小:效率低,若传递较多信息则需要进行多次通信;编程复杂:用户直接实现通信的细节,编程复杂,容易出错。

    • 高级通信:能够传送任意数量的数据,包括三类:共享存储区、管道、消息

  • 直接通信与间接通信:

    • 直接通信:信息直接传递给接收方,如管道。在发送时,指定接收方的地址或标识;在接收时,允许接收来自任意发送方的消息,并在读出消息的同时获取发送方的地址。

    • 间接通信:借助于收发双方进程之外的共享数据结构作为通信中转,如消息队列。


三种常见的高级通信

(1)共享存储区:内存中开辟一个共享存储区,进程通过该区实现通信,这是进程通信中最快的方法。

(2)管道:连接读写进程的一个特殊文件,允许进程按先进先出方式传送数据。发送进程以字符流形式把大量数据送入管道,接收进程从管道中接收数据。

(3)消息:在直接通信方式下,企图发送或接收消息的每个进程必须指出信件发给谁或从谁那里接收消息,可用send原语和receive原语为实现进程之间的通信。采用间接通信方式时,进程间发送或接收消息通过一个信箱来进行,消息可以被理解成信件,每个信箱有一个唯一的标识符。


本节资料