进程管理:操作系统

一.进程的概念

1.程序的顺序执行与其特征


含义:

   程序的指令或语句序列,体现了某种算法,所有程序是顺序的。通常把一个程序分成若干个程序段,在各程序段之间,必须按照某种先后顺序执行,仅当前一操作执行完后,才能进行后续操作。
程序顺序执行的特征:

   1.程序的 顺序性:处理机的操作严格按照程序所规定的顺序执行,即每一个操作必须在下一个操作开始之前结束。
   2.程序执行的 封闭性:独占资源,执行过程中不受外界影响。
   3.程序结果的 可在现性:程序运行结果与程序 执行速度无关,只要初始状态相同,结果影相同。

2.程序的并发执行及其特征


含义:

   在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,并且次序不是事先确定的。
   为提高计算机的利用率、运行速度和系统的处理能力,并行处理技术在计算机中得到广泛运用,程序的并发执行成为现代操作系统的一个基本特征。
特征:

   1.间断性:程序并发执行时,为完成同一项任务而相互合作,致使在这些并发程序之间,形成了相互制约的关系,导致并发程序具有“执行-暂停-执行”间断性的活动规律。
   2.失去封闭性:共享资源,受其他程序的控制逻辑的影响。如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的不变特征。
   失去可在现性:失去封闭性->失去可在现性;外界环境在程序的两次执行期间发生变化,失去原有的可重复特征。如两个程序I1、I2、共享一个变量n,I2输入时导致C1运行时的变量混乱、计算结果与并发程序的执行速度有关,从而失去可在现性。

二.进程的定义和特征

1.操作系统的主要工作:


   就在于为多个程序执行过程合理地分配所需的内存储器、外部设备、处理机时间等资源,充分发挥各种资源的作用,并协调这些程序执行过程的正常进行,最大限度地提高系统效率,在连续运行过程中完成这些任务。由此可以看出,程序执行过程是计算机系统中的基本活动单位,也是操作系统分配资源的基本单位。

2.进程的定义:


   进程是具有独立功能的程序在某个数据集上的执行过程,是系统进行资源分配和调度的一个独立单位。

   这里,程序指一组操作序列,而数据集则是接受程序规定操作的一组存储单元的内容。

3.进程分类:


   从操作系统的角度看,可将进程分为系统进程和用户进程两类。系统进程执行操作系统程序,完成操作系统的某些功能,二用户进程运行用户程序,为用户服务,系统进程的优先级高于用户进程的优先级。

4.进程特征


   1.动态性:它由创建而产生,由调度而执行,由撤销而消亡。

   2.独立性:进程是cpu调度的一个独立单位。

   3.并发性:任何进程都可以同其它进程一起向前推进。

   4.异步性:每个进程都可以其相对独立的不可预知的速度向前推进。

   5.结构特征:进程的组成:程序+数据+pcb。

5.进程和程序的区别


   1.进程是程序的执行状态,动态性。

   2.进程是程序的一次执行过程,生命周期。

   3.进程是有结构的,PCB。

   4.进程与程序并非一一对应,一个进程可以涉及到一个或几个程序的执行;反之,同一个程序可以对应一个或多个进程,即同一个程序段可以在不同数据集合上运行,可以构成不同的进程。

   进程描述:一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。如何描述程序的执行过程。

6.进程控制块的定义


   为了描述和控制进程的运行,操作系统为每个进程定义了一个数据结构,成为PCB。

   PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。

1.进程控制块的作用


   1.标识进程的存在。是系统感知进程存在的唯一标志。

   2.为系统提供可并发执行的独立单位。

   3.为系统控制和管理进程提供所需的一切信息。


2.进程控制块中的信息

   (1)进程标识符:系统内部用于标识一个进程所赋予它的唯一编号。

   (2)进程的现行状态:它标明进程当前所处的状态,作为进程调度程序分配处理机时的依据。

   (3)现场保留区:它用于保存进程由执行状态转变成其他状态时的CPU现场信息,以便当进程再次被调度运行时恢复处理机的现场信息。

   (4)程序和数据地址:根据内存管理方式给出该进程相应的程序二号数据所在的位置信息,以便把PCB与其程序、数据联系起来。

   (5)互斥与同步机构:实现进程间互斥与同步时所必须的机构。

   (6)进程通信机制:用于实现进程之间通信所需的数据结构,例如,指向信箱或消息队列的指针。

   (7)优先级:一个整数,优先级越高的进程可优先获得处理机。

   (8)资源清单:列出进程所需资源及当前已分配到的资源。

   (9)连接字指出本进程所在队列中的下一个进程的PCB首址。

   (10)指向父进程及子进程的指针。

3.进程控制块的组织方式

   系统将所有的PCB组织起来,存放在操作系统中专门开辟的PCB区内。

   (1)连接方式:
在这里插入图片描述

   (2)索引方式:
                  在这里插入图片描述

7.进程的状态与转换


   进程的三种基本状态

   1.执行态(Running)。进程已获得处理机,其程序正在执行,单处理机只有一个进程在执行,多处理机则有多个进程处于执行状态。

   2.就绪态(Ready)。当进程已分配到除处理机以外所有必要的资源时,它将处于准备执行状态,一旦获得cpu,便立即执行。在一个系统中,可以有多个进程同时处于就绪状态。

   3.阻塞态(Blocked)。一个进程正等待输入输出或等待某一事件发生而暂时停止执行,即使把处理机分配给该进程也无法执行。称此刻进程所处的状态为阻塞状态(等待状态)。

   三种基本状态及其转换

       在这里插入图片描述

   挂起状态


   “挂起”的实质是使用进程不能继续执行,处于静止状态,“挂起”常被用在进程对换中以及其他场合(如用来调节系统的负荷等)。

   静止状态:对正在执行的进程暂停执行;对就绪进程暂时不接受调度;而对阻塞的进程,即使引起阻塞事件消失,也不能被调度。
在这里插入图片描述

8.进程控制


   进程控制:就是系统使用一些具有特定功能的程序段来创建、撤销进程以及完成进程各种状态的转换,进程控制是由操作系统内核中的原语来实现的。

   原语:系统状态下执行的某些具有特定功能的程序段称为原语。为了保证操作的正确性,元语保证操作的正确性,元语应该是原子操作。

   原子操作:在一个操作中的所有动作要么全做,要么全部做。为了保证操作的正确性,在许多机器中规定执行元语操作时,要屏蔽中断,以保证其操作的不可分割性。

进程的创建和撤销


   进程创建

   1.进程创建方式

    (1)由系统模块统一创建。例如,在批处理系统中,由操作系统的作业调度程序为用户创建,相应的进程以完成用户作业的要求功能。

    (2)由父进程创建。例如,在层次结构的系统中,父进程创建子进程以完成并行工作。子进程还可以创建新的子进程,从而整个系统可以形成一个树形结构的家族。

   2.进程创建原语

   创建一个进程的主要任务是建立进程控制块PCB,具体操作:

   1.从系统的PCB表中找出一个空闲的PCB,并指定唯一的标识符PID。

   2.为新进程分配资源,包括必要的内存空间、存放程序和数据工作区等。

   3.根据调用者提供的参数,将新进程PCB初始化。这些参数包括新的进程名、进程优先级、进程状态等。

   将新进程加到就绪队列中。

   进程撤销

   1.撤销原语

   撤销进程实质上是撤销PCB,一旦PCB撤销,进程就消亡了。具体操作过程:找到要被撤销进程的PCB,判断该进程是否有子进程,若有,则撤销属于该进程的一切“子孙进程”,最后释放被撤销进程所占用的全部资源,同时释放该PCB结构本身。

进程的阻塞与唤醒


   1.阻塞原语:某个进程在执行过程中,需要执行I/O操作,则由该进程调用阻塞原语把进程的状态由执行态变为阻塞态。

   2.唤醒原语:一个进程,当等待的时间(如io操作)完成后,则由完成等待事件的进程调用唤醒原语将此进程转换为就绪状态。

进程的改期与激活


   1.挂起原语:系统可利用挂起原语将一指定的进程挂起,具体操作过程是:首先检查被挂起进程的状态,如处于活动就绪,则将其改为静止就绪;若处于活动阻塞,将其改为精致阻塞;若挂起进程正在执行,则转调度程序重新进行进程调度。

   2.激活原语:系统利用激活源于激活指定进程。具体操作过程是:与挂起过程相反,把处于静止状态的进程转换成活动状态,可采用剥夺策略,进行进程调度。如果挂起是为了把某进程送入外存对换区,则激活是被挂起的进程调入内存。

   引入进程的目的:使多个程序并发执行,以改善资源利用率及提高系统地吞吐量。

   引入线程的目的:为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性。

   时空开销:进程的独立性的特点,使它成为一个能独立运行的基本单位,从而也就构成了进程并发执行的基础。进程又是一个资源拥有者,因而在进程的创建、撤销和切换中,系统必须为之付出较大的时空开销。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值