美文网首页编程相关
操作系统之进程管理

操作系统之进程管理

作者: WangXiaoNao123 | 来源:发表于2018-08-02 00:20 被阅读0次

进程的基本概念

  • 程序在并发环境中的执行过程。
  • 进程是进程实体的运行过程,是系统进行资源分配调度的基本单位。

程序顺序执行的特征

  • 顺序性: 处理机的操作严格按照程序所规定的顺序执行,即每一个操作必须在下一个操作之前结束。
  • 封闭性: 程序在封闭环境下执行,结果不受外界因素影响。
  • 可在现性: 只要环境和初始条件相同,程序重复执行时总得到相同的结果。

程序并发执行的特征

  • 间断性: 共享、合作、制约导致:执行-暂停-执行
  • 失去封闭性: 资源状态由多程序该变
  • 不可再现性: 相同环境和初始条件。

进程的特征

  • 结构特征


    image
    • 进程控制块

      • PCB是OS中最重要的记录型结构。
      • OS用PCB对并发进程进行管理和控制。
      • PCB是进程存在的唯一标志。
      • PCB常驻内存。
      • OS专门开辟PCB区将所有的PCK组织成若干个链表或队列。
    • PCB中的信息

      • 1.进程标识符
        • a.内部标识符:进程唯一的数字编号,给 OS 使用
        • b.外部标识符:由字母、数字组成,给用户使用。
      • 2.处理机状态
        • 处理机中的主要的寄存器
          • 1.通过寄存器 8-32个,暂存信息用。
          • 2.指令计数器 要访问的下一条指令地址。
          • 3.程序状态字PSW条件码、执行方式、中断屏蔽标志。
          • 4.用户栈指针,用户进程拥有的系统栈,存放过程和系统调用参数及调用地址。
      • 3.进程调度信息
        • 进程状态
        • 进程优先级
        • 与调度算法有关信息
        • 事件 如阻塞原因
      • 4.进程控制信息
        • 程序和数据地址
        • 进程同步和通信机制
        • 资源清单: 除CPU之外的所需资源与已经分配资源清单。
        • 连接指针:本进程PCB所在队列的下一个地址。
    • PCB的组织方式

      • a.链接方式: 把统一状态的PCB,用其中的连接字链接成一个队列。如:就绪队列、阻塞队列(根据不同阻塞原因)、空白队列。

        image

        指针就是地址,每个地址后面的数字代表PCB的标号。

      • b.索引方式: 建立就绪索引表、阻塞索引表等。把索引表在内存的首地址放在内存的专用单元中。

        image
      • c.线性方式

  • 动态性

    • 进程最基本的特征是动态性
    • 进程的生命周期:进程由创建而产生,由调度而执行,由撤销而消亡的过程。
  • 并发性: 多个进程同在内存中,且能在一段时间内同时运行。

  • 独立性: 进程是一个能独立运行、独立分配资源、独立接受调度的基本单位。

  • 异步性: 进程按各自独立的、不可预知的速度向前推进。

进程和程序的关系(非常重要)

  • 1.进程是一个动态概念,程序是一个静态概念。

  • 2.进程具有并发特征,程序没有(程序全部是顺序的)。

  • 3.进程是竞争资源的基本单位。

  • 4.一个程序对应多个进程,一个进程为多个程序服务。

进程的三种基本状态

  • 1.就绪状态

    • 进程已经分配了除了处理机以外的所有必要资源,只要再获得处理机就能够执行的状态。
    • 这样的进程可能有多个,通常排成一个队列,称就绪队列
    • 新产生的进程都是就绪状态。
  • 2.执行状态

    • 已经获得CPU,正在运行。
    • 单处理机系统只有一个进程处于执行状态。多处理机系统则有多个处于执行状态。
    • 例如: 在一个拥有5个处理机的计算机系统中,最多有几个进程处于执行状态。 答案是5个。
  • 3.堵塞状态

    • 正在执行的进程由于发生某事件而暂时无法继续执行时,放弃处理机而进入的状态,又称等待状态(堵塞状态)
    • 引起堵塞的事件:请求I/O,申请缓存。
    • 所有进入堵塞状态的进程都是自愿的。

进程的基本状态转换

image

三种状态四种转换

挂起状态

  • 挂起状态是三种基本状态细分出来。

  • 引入原因:

    • 1.终端用户请求
    • 2.父进程请求
    • 3.负荷调节需求
    • 4.操作系统的需
  • 挂起状态的转换

    • 挂起状态 === 静止状态
    • 非挂起状态 === 活动状态
image
  • 有挂起状态的进程状态图
image

进程的创建

  • 原语CREAT() 按下述步骤创建一个新进程:

    • 1.申请空白PCB
    • 2.为新进程分配资源
    • 3.初始化进程控制块
    • 4.将新进程插入就绪队列
  • 什么是原语

原语 是一段机器指令(程序)构成。执行原子性操作(要么执行完毕,要么不执行)。

  • 进程管理中最基本功能是进程控制

  • 进程控制任务: 进程的创建、终止、进程状态的转变等。

  • 进程控制一般由OS内核来实现。

  • 引起创建进程的事件


    image
  • 引起进程终止的事件


    image
  • 进程的终止过程

    • 从PCB集合中检索出该进程的PCB,从中读出该进程的状态。
    • 若处于执行状态,终止该进程的执行,并置调度标志为真,重新调度。
    • 若有子孙进程,将所有子孙进程终止。
    • 将进程全部资源归还其父进程或系统。
    • 将其PCB从所在队列(或链表)中移出
  • 引起阻塞和唤醒的事件

    • 1.请求系统服务
    • 2.启动某种操作
    • 3.新数据尚到
    • 4.无新工作可做
  • 由阻塞原语BLOCK完成


    image
  • 由唤醒原语WAKEUP完成


    image
  • 注意

    • BLOCK和WAKEUP是一队作用相反的原语。
    • 如果在某进程中调用了阻塞原语,则必须在与之相合作的另一进程中或其他相关的进程中,安排唤醒原语,以能唤醒阻塞进程;否则,被阻塞进程将会因不能被唤醒而长久地处于阻塞状态,从而再无机会继续运行。

PCB的初始化

  • 1.初始化标识信息
  • 2.初始化处理机状态信息
  • 3.初始化处理机控制信息

进程的挂起

挂起原语:SUSPEND()

挂起原语的执行过程:

检查被挂起进程的状态,若处于活动`就绪状态`,改为`静止就绪`;若处于`活动阻塞状态`,则改为`静止阻塞`;若`正在执行`,则转向`调度程序`重新调度

有挂起状态的进程状态图

image

进程的激活状态图

image

进程的两种制约关系

相关文章

  • 操作系统总览

    操作系统的 操作系统的用户界面 进程管理 处理机调度 存储管理 进程和存储管理示例 windows进程和内存管理 ...

  • 操作系统教程学习计划(1)

    1 操作系统概论 2 存储管理 3 进程管理 4 进程通信 5 设备管理 6 文件系统 7 windows操作系统...

  • 软件设计师4--OS处理机管理

    处理机管理 处理机管理也称进程管理。在多道批处理操作系统和分时操作系统中有多个并发执行的进程。进程是资源分配和独立...

  • Linux进程管理详解(转)

    Linux进程管理详解 1.1 Linux进程管理 进程管理是操作系统的最重要的功能之一。有效率的进程管理能保证一...

  • 操作系统知识点整理

    操作系统 操作系统知识模块主要分为:操作系统概述、进程管理、内存管理、文件管理、输入/输出(I/O)管理。 1.操...

  • 操作系统之进程管理

    进程的基本概念 程序在并发环境中的执行过程。 进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位。 程序...

  • 操作系统之进程管理

    一、进程 1.1 多道程序设计 允许多个程序同时进入内存并运行,提高CPU的利用率,目的是提高系统效率 1.2 并...

  • 操作系统之进程管理

    一、进程 1.1 多道程序设计 允许多个程序同时进入内存并运行,提高CPU的利用率,目的是提高系统效率 a图内存中...

  • 计算机系统010 - 操作系统之并行

    上一篇计算机系统009 - 操作系统之进程中讲述了操作系统设立进程、线程的概念主要是为了便于切换管理,同时也提到,...

  • 2.进程管理

    进程管理 进程是操作系统的基本概念,本节主要总结Linux内核如何管理进程:进程在内核中如何创建,消亡。 1.进程...

网友评论

    本文标题:操作系统之进程管理

    本文链接:https://www.haomeiwen.com/subject/uzbdvftx.html