计算机操作系统 第二章进程的描述与控制 总结


进程是资源分配与调度的基本单位。
多道程序环境下,处理机管理可归结为对进程的管理,所以,处理机管理主要研究进程的调度管理。
主要任务就是对处理机进行分配,并对其运行进行有效的管理和控制。

进程的基本概念

  • 程序的顺序执行
    通常一个程序由若干个程序段组成,每一个程序段完成特定的功能,他们在执行时,都需要按照某种先后次序 顺序执行,仅当前一操作(程序段)执行完成后,才能执行后继操作。

顺序执行时的特征:
①顺序性:处理机严格的按照所规定的顺序执行,每一操作必须在下一个操作开始之前结束
②封闭性:程序运行时独占资源,程序一但开始执行,其计算结果就取决于程序本身,不受外界因素影响
③可再现性:程序重复执行多次时,必将得到相同的结果。

  • 前趋图
    前趋图中,一定不能出现循环!在系统中存在循环可能会出现死锁。

例:1、画出下面四条语句的前趋图:
S1:a=x+y; S2:b=z+1; S3:c=a – b;S4:w=c+1;
在这里插入图片描述

  • 程序的并发执行
    在这里插入给图片描述
    其中互不依赖部分可以并发执行,比如I2和C1之间并不存在前去关系,他们可以并发执行。
    并发和并行
    并发是同一时段
    并行是同一时刻

程序并发执行的特征:
①间断性:由于它们共享资源,以及完成同一项任务相互合作,致使这些程序之间形成了相互制约的关系。从而导致程序 执行——暂停——执行
②失去封闭性:因为资源共享,比如处理机分配给某个进程,其他程序就必须等
③不可再现性:由于失去了封闭性,也导致失去可再现性

进程描述

	进程=程序段+数据段+进程控制块(PCB)
  • 进程的定义
    进程是程序的一次执行
    进程是一个程序及其数据在处理机上顺序执行所发生的活动
    进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
    ·····> 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
  • 进程的特征
    ①动态性:由创建产生,调度执行,撤销消亡
    ②并发性:多个进程实体同存于内存,能在一段时间内同时运行
    ③独立性:进程实体能独立运行、独立获得资源、独立接受调度
    ④异步性:按各自独立、不可预知的速度向前推进
  • 进程控制块(PCB)
    • PCB的特点:
      PCB是操作系统中最重要的数据结构,是进程存在的唯一标志;
      PCB的作用是使一个在多道环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程;
      PCB常驻内存,可以被操作系统中的多个模块读或修改;
      PCB是进程实体的一部分,同进程一样具有一定的生命期,且与进程保持一致。
    • PCB的作用
      PCB是独立运行基本单位的标志
      PCB能实现间断性运行方式
      PCB提供进程管理所需要的信息
      PCB提供进程调度所需要的信息
      PCB实现与其他进程的同步与通信
  • 进程的状态
    就绪状态:一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
    执行状态: 当一个进程在处理机上运行时,则称该进程处于运行状态。
    阻塞状态:一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这时即使把处理机分配给它也无法运行,故称该进程处于阻塞状态。
    创建状态 :进程刚创建,但还不能运行,OS还没有把它加到可执行进程组中,通常是还没有加载到主存中的新进程。
    终止状态:OS从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。进程不在适合执行,但与作业相关的表和其它信息临时被OS保留起来,为其他程序提供所需信息。在这里插入图片描述
  • 进程的三态五态变化
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

进程控制

为了确保系统的安全性,常将处理机的执行状态分为系统态(管态)和用户态(目态)。
进程控制由操作系统内核实现,运行于系统态。

原语(Primitive)是由若干条指令组成的,用于完成特定功能的一个特殊过程。它与一般过程的区别在于:它们是原子操作(Action Operation)。

  • 进程的创建
    (1)申请空白PCB。
    (2) 为新进程分配资源。
    (3) 初始化进程控制块。
    (4) 将新进程插入就绪队列,如果进程就绪队列能够接纳新进程, 便将新进程插入就绪队列。

引起创建进程的事件:
①用户登录
②作业调度
③提供服务
④应用请求
①②③由系统内核创建新进程 ④由应用程序创建新进程

  • 进程的终止
    进程的终止过程
    (1) 从PCB集合中检索出该进程的PCB,读出相应状态;
    (2) 终止该进程的执行,更改调度标志;
    (3) 终止其所有子孙进程;
    (4) 将其全部资源,归还给其父进程或系统;
    (5) 将该进程(即它的PCB)从所在队列(或链表)中移出。

引起进程终止的事件:
(1)正常结束
(2)外界干预 [操作员或系统干预、父进程请求、父进程终止]
(3)异常结束 [越界错误、保护错、非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O故障 ]

  • 进程的阻塞与唤醒
    进程阻塞过程
    (1)进程通过调用阻塞原语block把自己阻塞。
    进程的阻塞是进程自身的一种主动行为。
    (2)把PCB中的现行状态改为阻塞;
    (3)将PCB插入阻塞队列;
    (4)将处理机分配给另一就绪进程。
    进程唤醒过程
    当被阻塞进程所期待的事件出现时,则由有关进程调用唤醒原语wakeup,将等待该事件的进程唤醒。
    唤醒原语执行的过程:
    (1)把该进程从阻塞队列中移出;
    (2)将其PCB中的现行状态改为就绪;
    (3)将该进程的PCB插入就绪队列

    引起进程阻塞和唤醒的事件:
    ①请求系统服务
    ②启动某种操作
    ③新数据尚未到达
    ④无新工作可做

  • 进程的挂起与激活
    进程的挂起
    当出现了引起进程挂起的事件时,系统利用挂起原语suspend将指定进程或处于阻塞状态的进程挂起。
    挂起原语的执行过程:
    活动就绪——> 静止就绪
    活动阻塞——> 静止阻塞
    执行状态——> 重新调度(静止就绪)
    进程的激活过程
    系统将利用激活原语active将指定进程激活。
    激活原语先将进程从外存调入内存,检查该进程的现行状态:
    静止就绪 ——> 活动就绪
    静止阻塞 ——> 活动阻塞

进程同步

进程同步是指对多个相关进程在执行次序上的协调。这些进程相互合作,在一些关键点上可能需要互相等待或互通消息。

  • 进程同步的主要任务:
    使并发执行的诸进程间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。
  • 一些基本概念
    临界资源: 一段时间内只允许一个进程访问的资源;诸进程之间采取互斥方式实现对这种资源的共享。(比如打印机,一段时间内只能一个人用,我用的时候你不能用)
    临界区:各进程中访问临界资源的程序代码称为临界区。(每次只准许一个进程进入临界区,进入后不允许其他进程进入。这就保证了诸进程对临界资源的互斥访问)
    同步机制应遵循的原则:
    (1)空闲让进:没有进程在临界区时表明临界资源空闲,可以让一个进程进入来使用临界资源。
    (2)忙则等待:有进程在临界去,那别的要进去的进程就必须等待。
    (3)有限等待:要保证有限的时间内让进程进去,避免“死等”
    (4)让权等待:让进程不能进入临界区时,应立即释放处理机,避免“忙等”
  • 信号量机制
    整型信号量:
    把整型信号量定义为一个整型量
    由P、V操作来访问
    在这里插入图片描述
    记录型信号量:
    采取让权等待,避免忙等
    需要一个用于代表资源数目的整型变量value,一个用于链接所有阻塞进程的进程链表queue。
    在这里插入图片描述
    AND型信号量:
    基本思想:进程在整个运行过程中需要的所有资源一次性全部地分配给进程,待进程使用完后再一起释放。只要尚有一个资源未分配给进程,其它所有可能为之分配的资源,也不分配给它。
    在这里插入图片描述
    在这里插入图片描述
    信号量集:
    在AND型信号量的基础上进行扩充
    同时需要多种资源、每种占用的数目不同、且可分配的资源还存在一个临界值时的信号量处理。(一次申请多个)
    在这里插入图片描述

经典进程同步问题

  • 生产者-消费者问题
    在这里插入图片描述
  • 哲学家就餐问题:
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 读者-写者问题:
    在这里插入图片描述

进程通信

  • 基本概念
    进程通信:指进程之间交换信息。
    低级通信:与系统内核或低层控制密切联系的信息交换。
    高级通信:指用户可直接利用操作系统所提供的一组通信命令,高效地传送大量数据的一种通信方式。
  • 进程通信的类型
    (1)共享存储器系统:
    基于共享数据结构的通信方式
    基于共享存储区的通信方式
    (2)消息传递系统 :
    直接通信方式
    间接通信方式
    (3)管道通信
    管道机制必须提供以下三方面的协调能力:
    ① 互斥
    ② 同步
    ③ 确定对方是否存在

线程

———调度和分派的基本单位
(进程——作为资源拥有的基本单位。)
引入线程是为了减少程序再并发执行时所付出的时空开销,使OS具有更好的并发性

  • 特点
    ①线程是进程的一个实体,是比进程更小的能被系统独立调度和分派的基本单位。
    ②线程基本上不拥有系统资源,但可以与同一进程的其它线程共享该进程的全部资源。
    ③ 同一进程的多个线程间可并发执行,它们之间可存在创建与被创建关系。
    ④线程同进程一样,有就绪、阻塞、执行三种基本状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值