进程


进程的定义和性质(进程的组成:PCB(进程存在唯一标志),程序,数据,工作区):

       1)进程是程序的一次执行。

       2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。也是操作系统进行资源分配和保护的基本单位

进程的性质:

  动态性:有生命周期,存在不同的状态;

  并发性:执行时间可以重叠;

  独立性:独立执行,是资源分配和调度的独立单位;

  制约性:可能存在相互制约关系;

  异步性:各进程执行时间相对独立,不确定;

  结构性:拥有固定结构。

进程与程序的区别:

  (1)程序是静态的,进程是动态的。程序是有序代码的集合;进程是程序的一次执行。

  (2)进程是暂时的,程序是永久的。

  (3)进程还是操作系统资源分配和保护的基本单位,程序没有此功能。

  (4)进程与程序的不是一一对应关系。一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。

  (5)进程与程序的结构不同。

进程状态及转换(阻塞->就绪->运行->阻塞):

    运行:进程占有处理机,处理机正在执行该进程的程序。

    阻塞:也叫等待态,进程因等待某种条件无法运行。将进程插入某个相应的阻塞队列中。

    就绪:进程已获得除处理机外的所需资源,等待分配处理机执行。

进程上下文切换(发生在内核态):

     是让处于运行态进程中断运行,让出处理器,保存老进程状态,装入被保护了的新进程的状态,以便新进程运行

       进程上下文:把进程物理实体和支持进程运行的环境合称为进程上下文。进程的运行被为是在上下文中执行。

  用户级上下文:程序块、数据块、用户栈等

  系统级上下文:PCB、内存管理信息、核心栈

  寄存器上下文:处理器现场信息

进程控制

    进程控制的主要任务是:创建和撤销进程以及进行进程间的状态转换,

  包括:

    创建一个进程

    撤销一个进程

    改变进程状态

       这些由操作系统内核通过执行各种原语完成。

【原语由若干条机器指令构成的可完成特定功能的程序段,它是一个 “原子操作”过程,作为一个整体而不可分割——要么全都完成,要么全都不做。

       原语分类:

        进程控制原语

        进程通信原语

        进程管理原语

        其他方面原语】