进程,顾名思义,也就是正在执行的程序.程序只有执行起来,才能称之为进程;否则只是静态的程序.
其次,进程是操作系统进行内存分配的的基本单位,同时我们也知道,程序的运行是依托cpu的.因此,了解进程的调度就弥足重要.
以下所列出的4条属性都是为了实现进程调度,这4条属性也都是和cpu相关:
1.进程状态
简单认为,进程状态主要是这两个:
1)就绪态: 该进程已经准备好,随时可以上 cpu 执行
2)阻塞态: 该进程暂时无法上 cpu 执行
2.进程的优先级
进程之间的调度不一定是“公平"的,有的要优先调度.
即,先给谁分配时间,后给谁分配时间,以及谁分的多,给谁分的少.
3.进程的上下文
表示上次进程被调度出CPU 的时候,当时程序的执行状态.
下次进程上CPU 的时候,就可以恢复之前的状态,然后继续往下执行。
那么具体到进程呢?也就是进程在运行的过程当中,cpu里的寄存器所对应存储的相应值.
什么值?也就是当前进程执行的中间结果,包括进程运行到哪一条指令.这样一来,当该进程下次再被调度至cpu中进行运行的时候,就可以顺着上次所运行到的结果,继续向后运行.保证了数据的准确性和运行的连贯性.
4.进程的记账信息
也就是统计了每个进程都被cpu执行了多久,都分别被执行了哪些执行,都分别排队等候了多久.
目的,为进程调度提供指导依据.
以上便是关于进程调度的4个相关属性,概念晦涩难懂,所以此处举个例子来理解:
解释一下图中的PCB,进程控制块(Process Control Block,PCB)是操作系统中用于管理进程的数据结构。每个进程都有一个对应的PCB,PCB中包含了操作系统管理该进程所需的所有信息。
PCB的主要作用是在进程执行过程中,记录和管理进程的状态和相关信息,以便操作系统能够对进程进行调度、管理和控制。操作系统可以通过访问PCB中的信息,对进程进行调度、挂起、恢复等操作,以实现对进程的控制和管理。
uu们加油哦!!