|
文件: |
操作系统-进程管理.pdf |
大小: |
555KB |
下载: |
下载 | |
一、程序的顺序执行
1. 把一个具有独立功能的程序独占CPU直到得到最终结果的过程称为程序的顺序执行。具有的特点为:顺序性、封闭性、程序执行结果的确定性、程序执行结果的可再现性。
二、多道程序设计
1. 多道程序设计就是允许多个程序同时进入内存并执行。多道程序设计是操作系统所采用的最基本、最重要的技术,其根本目的是提高整个系统的效率。具有的特点为:独立性、随机性、资源共享性。
三、程序的并发执行
1. 程序并发执行,是指两个或两个以上程序在计算机系统中同处于已开始执行且尚未结束的状态。
2. 并发程序在执行期间具有相互制约关系、程序与计算不在一一对应、并发程序执行结果不可再现。
四、进程的概念
1. 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度(如果引入了线程,则线程是调度的基本单位)的一个独立单位。
2. 进程与程序的联系:进程由程序、数据、进程控制块组成,因此程序是进程的组成部分。
3. 进程与程序的区别:程序是静态的,而进程是动态的。进程具有生命周期,有生产和消亡。
4. 进程的特性:并发性、动态性、独立性、交往性、异步性。
五、进程的状态及其状态转换
1.进程具有的状态:就绪态(具备了除CPU以外的资源)、运行态(进程获得了CPU,单CPU系统中,只有一个进程处于运行态)、等待态(等待某种事件发生而暂时不能运行的状态,当等待的事件发生后,进程转变为就绪态)。
2. 在任何时刻,任何进程都处于且仅处于三种状态之一,三种状态之间可以转换:
就绪态——运行态:进程被进程调度程序选中运行
运行态——就绪态:一般出现在分时操作系统中,当时间片运行完
运行态——等待态:进程需要的资源不能满足,而被阻塞等待
等待态——就绪态:进程被阻塞的原因被解获
实际的系统的中,其状态划分更细,如Linux的进程就有五种状态:运行态、可中断等待态、不可中断等待态、终止态、僵死态。
3. 进程控制块PCB
PCB的内容分为调度信息和现场信息。调度信息供进程调度时使用,描述了进程当前所处的状况,它包括进程名、进程号、存储信息、优先级、消息队列指针等;现场信息刻画了进程的运行情况。PCB中的现场信息只记录那些可能被其他进程改变的寄存器,如程序状态字、时钟、界地址寄存器等,一旦中断进程的运行,必须把中断时刻的内容记入PCB的现场信息。
4. PCB组织:线性方式、索引方式、连接方式。
5. 进程队列:运行队列(只有一个进程)、就绪队列、等待队列。
6. 进程控制:是对进程在整个生命周期中各种状态之间的转换进行有效地控制。进程控制通过原语来实现。
原语是由若干条指令所组成,用来实现某个特定的操作。原语的执行必须是连续的,一旦开始执行就不能间断,直到运行结束。原语是操作系统核心的组成部分,因此在管态下执行,并且常驻内存。
进程控制原语有:创建原语、撤销原语、挂起原语、激活原语、阻塞原语、唤醒原语、改变进程优先级等。
六、进程同步与互斥
1. 相关进程和无关进程:逻辑上具有某种联系的进程称为相关进程,逻辑上没有任何联系的进程称为无关进程。
2. 进程间的相互作用:直接相互作用和间接相互作用。直接相互作用只发生在相关进程间,间接相互作用可发生在相关进程,也可发生在无关进程间。
3。 进程同步:是指进程之间一种直接的协同工作关系,是一些进程相互合作,共同完成一项任务。进程间的直接相互作用构成进程同步。
4. 进程互斥:系统中,许多进程常常共享资源,而这些资源一次只能被一个进程使用,于是各进程间互斥的使用这些资源,进程间的这种关系就是互斥。这种资源成为临界资源或共享变量,而进程中访问临界资源的代码称为临界区。
5. 进程同步机制:硬件同步机制、信号量及P、V操作、管程、条件临界域、路径表达式等。
6. 信号量和P、V操作
信号量是一种特殊的变量,表面形式是一个整形变量附加一个队列,它只能被P操作和V操作使用,P、V操作分别都是原语,因此不可中断。
信号量必须设定初值。
假设信号量S,S可以取不同的整数值,可以利用信号量S的取值表示共享资源的使用情况,或用它来指示协作进程之间交换的信息。
P操作:P(S):S=S-1;若S<0,将该进程的状态设置为等待状态,然后将该进程的PCB插入相应的S信号量等待队列队尾,直到有其他进程在S上进行V操作为止。
V操作:V(S):S=S+1;若S<=0,释放S信号量队列中等待的一个进程,改变其状态为就绪态,并将其插入就需队列中,然后使本操作的进程继续执行。
信号量S的取值意思:S值得大小表示某类资源的数量。当S>0时,表示还有资源可以被分配,当S<0,其绝对值表示S信号量等待队列中进程的数目。每次执行一个P操作就意味要分配一个资源,执行一次V操作,则意味要释放一个资源。
7. 用P、V操作实现进程间的互斥
令S初值为1,进程A、B竞争进入临界区的程序写成:
进程A 进程B
P(S) P(S)
临界区操作 临界区操作
V(S) V(S)
8. 用P、V操作实现进程间的同步
设两个信号量S1和S2,且赋予它们的初值为0,S1表示缓冲区中是否装满信息,S2表示缓冲区中信息是否取走。
进程A 进程B
把信息送入缓冲区 P(S1)
V(S1) 把信息从缓冲区取走
P(S2) V(S2)
9. P、V操作在使用时必须成对出现,有一个P操作就一定有一个V操作,当为互斥时,它们处于同一进程,当为同步操作,则不再同一进程中出现。
10. 进程的另一种同步机制:管程。
七、进程通信方式:信号、信号量、Socket、共享内存、消息队列、管道通信。
八、进程调度
进程调度的任务是控制、协调进程对CPU的竞争,按照一定的调度算法,使某一就绪进程获得CPU的控制权,转换成运行状态。进程调度也叫低级调度。
进程调度的时机:正在执行的进程运行完毕;正在执行的进程调用阻塞原语将自己阻塞起来进入等待状态;正在执行的进程调用了P原语操作,从而因资源不足而被阻塞,或调用V原语操作激活了等待资源的进程队列;执行中的进程提出I/O请求后阻塞;在分时系统中时间片用完。
进程调度算法:先进先出算法FIFO;时间片轮转算法;最高优先级算法;多级队列反馈法。
阅读(1113) | 评论(0) | 转发(0) |