【操作系统】进程的概念及其调度算法

1.进程

(1)进程的概念 :

      进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。在电脑的应用程序被运行后,就相当于将应用程序装进容器里了,你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。为了深刻描述程序动态执行过程的性质,人们引入“进程(Process)”概念。

(2)进程的构成:

           代码段、数据段、进程控制块(PCB)

(3)进程与程序的本质区别:

           进程是动态的,而程序是静态的。

(4)进程的三中状态及其之间的转换:

            运行状态、就绪状态、堵塞状态

2.进程调度

(1)处理机的三级调度:

高级调度:(High-Level Scheduling)又称为作业 调度,它决定把后备作业调入内存运行;

低级调度:(Low-Level Scheduling)又称为进程调度,它决定把就绪队列的某进程获得CPU;

中级调度:(Intermediate-Level Scheduling)又称为在虚拟存储器中引入,在内存、外存’对换区进行进程对换。

 
 

(2)进程调度算法:

先进先出算法(FIFO算法)

算法总是把处理机分配给最先进入就绪队列的进程,一个进程一旦分得处理机,便一直执行下去,直到该进程完成或阻塞时,才释放处理机。

可见,FIFO算法服务质量不佳,容易引起作业用户不满,常作为一种辅助调度算法。

短进程优先

最短CPU运行期优先调度算法(SCBF--Shortest CPU Burst First)

该算法从就绪队列中选出下一个“CPU执行期最短”的进程,为之分配处理机。

该算法虽可获得较好的调度性能,但难以准确地知道下一个CPU执行期,而只能根据每一个进程的执行历史来预测。

时间片轮转调度

前几种算法主要用于批处理操作系统中,不能作为分时系统中的主调度算法,在分时系统中,都采用时间片轮转法。

简单轮转法:系统将所有就绪进程按FIFO规则排队,按一定的时间间隔把处理机分配给队列中的进程。这样,就绪队列中所有进程均可获得一个时间片的处理机而运行。

多级队列方法:将系统中所有进程分成若干类,每类为一级。

多级反馈队列

多级反馈队列方式是在系统中设置多个就绪队列,并赋予各队列以不同的优先权






猜你喜欢

转载自blog.csdn.net/snakefulwalk/article/details/80054343