操作系统复习——进程管理

来源:互联网 发布:个人备忘录java程序 编辑:程序博客网 时间:2024/06/05 14:55

进程是程序在内核定义的数据结构上的一次顺序执行,它属于动态的范畴,是操作信息员进行资源分配和保护的基本单位。进程的执行环境称为进程的映像,包括:各个通用寄存器的值、进程的内存映像、打开文件的状态和进程占用资源的信息等。其中最主要的部分就是内存映像,它包括:进程控制块(Process Control Block)、进程执行的程序、招待时所需要的数据、进程执行时使用的工作区。


进程控制块在不同的操作系统上其也不同,包括的内容从宏观上归纳为以下三类:

(1)标识信息:进程标识、用户标识、父进程标识(操作系统对PCB实行集中的管理,所有的PCB集中在一个固定存储空间中,就构成了PCB表)

(2)现场信息:记录进程使用处理器时的各种现场信息,主要有CPU通用寄存器内容,CPU状态寄存器的内容以及栈指针等。

(3)控制信息:操作系统对进程进行调度管理时用到的信息。


进程调度的算法需要注意的原则:

1.面向系统性能:(1)公平性(2)较大的吞吐量

2.面向用户性能:(1)及时性(2)较短的周转时间


时间片轮转程序调度算法(Round Robin ,RR)

(1)将系统中所有的就绪的进程按照某种原则排成一个队列

(2)每次调度时将CPU分派给就绪队列的队首进程,让其执行一个时间片

(3)在一个时间片结束时发生时钟中断,调度程序暂停当前的执行,将其送到就绪队列的末尾,选择就绪队列队首进程,并通过上下文切换执行该进程。


多级队列调度算法

首先根据进程的性质或类型的不同,将就绪队列再分为若干个子队列,属于是高优先级的进程分配1个时间片,属于次高级的进程分配2个时间片,再低一级的进程分配4个时间片,依次类推。当一个进程用完所分配的时间片后还没有执行完,它会被移到下一级队列中,仅当较高优先级的队列为空时,才高度较低优先级的队列中的进程。如果进程执行时有新的进程进入较高优先级的队列,则抢占执行新进程,并把被中断的进程投入原队列的末尾。


同一进程中的线程共享进程的资源和状态,线程具有寄存器和栈。

0 0
原创粉丝点击