操作系统(2.1)进程的基本概念

进程的定义、组成、组织方式、特征

  • 定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。严格来说,进程和进程实体并不一样,进程是动态的,而进程实体是静态的。
  • 组成:进程由程序段、数据段和进程控制块(PCB)组成。
    • PCB:进程的管理者(操作系统)所需的数据都在PCB中
    • PCB包含:进程描述信息、进程控制和管理信息、资源分配清单、处理机相关信息
      • 进程描述信息:进程标识符PID、用户标识符UID
      • 进程控制和管理信息:进程当前状态、进程优先级
      • 资源分配清单:程序段指针、数据段指针、键盘、鼠标
      • 处理机相关信息:各种寄存器值
  • 组织方式:链接方式、索引方式
  • 特征:动态性、并发性、独立性、异步性、结构性
    • 独立性:进程是资源分配、接受调度的基本单位
    • 异步性:异步性会导致并发程序执行结果的不确定性

进程的状态与转换

  • 进程的状态:创建态、就绪态、运行态、阻塞态(等待态)、终止态
状态 CPU 其他所需资源
运行态
就绪态 ×
阻塞态 × ×

在这里插入图片描述注:重点就是运行态、阻塞态和就绪态的转换

进程控制

  • 进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。
    简而言之:就是要实现进程状态的转换
  • 原语(具有原子性,即不可中断)的部分功能:
    • 更新PCB中的信息(修改进程状态标志、将运行环境保存到PCB、从PCB恢复运行环境)
    • 将PCB插入合适的队列
    • 分配 / 回收资源
  • 进程控制的相关原语:进程的创建、进程的终止、进程的阻塞、进程的唤醒、进程的切换。其中进程的阻塞和进程的唤醒必须成对出现。

注:原子性由开 / 关中断来实现

进程通信

  • 共享存储:设置一个共享空间,然后互斥的访问共享空间
    • 共享的两种方式:基于数据结构的共享(低级)和基于存储区的共享(高级)
  • 管道通信:设置一个特殊的共享文件(管道),其实就是一个缓冲区。各进程要互斥的访问管道。一个管道只能实现半双工通信,实现双向通信要建立两个管道。
    • 写满时不能再写,读空时不能再读;没写满不能读,没读完,不能写。
  • 消息传递的方式:直接通信方式(消息直接到接收方的消息队列里)和间接通信方式(消息先发送到中间体,即信箱)。

线程概念和多线程模型

  • 线程:轻量级的进程,可以增加并发度,减少并发带来的开销
  • 线程的属性:
    • 线程是处理机(CPU)调度的单位,进程是资源分配的单位
    • 同一进程的各线程共享进程拥有的资源
    • 同一进程内的线程切换不会导致进程切换
  • 线程的实现方式:用户级线程、内核级线程(内核级线程才是处理机调度的单位)、组合方式
  • 多线程模型
    • 多对一模型:
      优点:进程开销小,效率高。
      缺点:一个线程的阻塞会导致整个进程都阻塞
    • 一对多模型:
      优点:各线程可分配到多核处理机并发执行,并发度高。
      缺点:进程管理开销大
    • 多对多模型:集两者之所长

猜你喜欢

转载自blog.csdn.net/qq_45597048/article/details/112428178