文档介绍:Linux内核解析
四大模块
进程管理
设备管理
存储器管理
处理机调度与死锁
进程管理
进程的基本概念
进程的描述
进程控制
进程的同步与互斥
进程同步问题举例
进程通信
线程
本章小结
进程的基本概念
程序的顺序执行及其特征
程序是人们要计算机完成的一些指令序列,是一个按严格次序、顺序执行的操作序列,是一个静态的概念。我们把一个具有独立功能的程序独占处理机,直到最后结束的过程称为程序的顺序执行。
(1)顺序性。
(2)封闭性。
(3)可再现性。
4
程序的并发执行及其特征
所谓程序的并发性,是指多道程序在同一时间间隔内同时发生。
程序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的一种执行方式。
5
(1)间断性
程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使这些并发执行的程序之间,形成了相互制约的关系。相互制约将导致并发程序具有“执行——暂停——执行”这种间断性的活动规律。
(2)失去封闭性
某程序在执行时,必然会受到其它程序的影响。
(3)不可再现性
在并发环境下,同一个程序执行多次,执行的过程可能不同。用程序作为描述其执行过程以及共享资源的基本单位是不合适的。因此引入了进程作为描述程序的执行过程、共享资源的基本单位。
6
进程的定义与特征
人们对进程下过许多定义。现列举其中的几种:
(1)进程是程序的一次执行。
(2)进程是可以和别的进程并发执行的计算。
(3)进程就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行过程。
(4)进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位
(5)进程是动态的,有生命周期的活动。内核可以创建一个进程,最终将由内核终止该进程使其消亡。
7
进程和程序之间的关系
进程和程序是两个完全不同的概念,但又有密切的联系。它们之间的主要区别是:
(1)程序是静态的概念,;而进程则是程序的一次执行过程。它是动态的概念。
(2)进程是一个能独立运行的单位,能与其它进程并发执行;而程序是不能作为一个独立运行的单位而并发执行的。
(3)程序和进程无一一对应的关系。
(4)各个进程在并发执行过程中会产生相互制约关系,而程序本身是静态的,不存在这种异步特征。
8
从进程与程序的区别可以看出,进程具有如下特征:
(1)动态性
动态性是进程最基本的特性。进程由创建而产生,由调度而执行,因得不到资源而暂停执行,以及因撤消而消亡。
(2)并发性
这是指多个进程实体,同存于内存中,能在一段时间段内同时执行。并发性是进程的重要特征,同时也是操作系统的重要特征。提高并发性,可以提高系统的效率。
(3)独立性
进程是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
(4)异步性
这是指进程按各自独立的、不可预知的速度向前推进;或者说,进程按异步方式运行。
(5)结构特征
从结构上看,进程实体是由程序段、数据段及进程控制块三部分组成,也称这三部分为进程映像。
9
进程的基本状态及转换
进程通常至少有三种基本状态:
(1)就绪状态(ready)
进程运行所需的外部条件满足,但因为其它进程已占用CPU,所以暂时不能运行。
(2)执行状态(running)
外部条件满足,进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态。
(3)阻塞状态(blocked)
进程因等待某种事件发生,而暂时不能运行的状态,称为阻塞状态,也称为等待状态。系统中处于这种状态的进程可能有多个,通常将它们排成一个队列,也有的系统则根据阻塞原因的不同将这些进程排成多个队列。
10