操作系统之进程管理

进程的基本概念

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

程序顺序执行的特征

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

程序并发执行的特征

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

进程的特征

  • 结构特征


    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

进程的两种制约关系

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335