一、什么是进程
要知道进程的调度过程,首先我们要了解什么是进程,我们打开任务管理器,就会发现它的第一栏就是进程,如下图所示:
如果我们每多打开一个软件,就会发现任务管理器进程中就回多一栏,这就是软件对应的进程,我们可以理解为一个进程就是一个任务,当关闭任务时,对应的进程就会结束。这里面的进程,有些是系统自动打开的,有些是我们手动打开的。
二、.操作系统是如何管理进程的
从刚刚到任务管理器中,我们可以看到有非常多的进程,那他们是如何被系统管理着的呢?
1.先描述一个进程
我们需要明确指出进程中的相关属性。
例如:要形容一个学生,我们需要学生的学校,专业,姓名等等
2.将若干个进程组织起来
系统会利用适合的数据结构,将每个进程的相关信息存放起来,方便以后的增删改查。
3.让进程正常工作
一个进程如果要正常的工作,我们需要给他分配一些系统资源,在一个进程启动前,其对应的文件是存储在硬盘上的,当我们双击某个软件时,实际上是启动了对应的.exe程序,就会加载到内存中,我们都需要哪些资源呢?
1.内存(用于加载.exe文件)
2.硬盘(用于操作文件)
3.CPU(用于执行进程上的指令)
4.进程的调度过程
进程调度只会发生在多任务操作系统中,因为单任务操作系统每次只会执行一个任务(进程),所以就不存在调度的说法。
多任务操作系统意味着每一时刻都有多个进程在运行,所谓的调度,其实就是时间管理。
假设张三是帅的一塌糊涂的美男子,身材还很好。
这就导致张三会被很多妹子追求。
原则上来说:同一时刻,张三只能谈一个女朋友。
张三希望未来的女朋友:贤惠,有钱、肤白貌美。(站在现实生活的角度,作者还没有见过这样的人)
然而身边的追求者,不存在这样的人。
因此,张三就同时谈3个女朋友(3个进程/任务),来集齐上述理想女友的所有特点。(三个任务同时执行)
A:有钱,长得一言难尽
B:贤惠:非常贴心,多的不说。
C:肤白貌美:美若天仙,就是有点脾气、
集合三人的特点,张三将拥有完美的体验。
但显然不科学,为此张三需要合理的安排时间。
避免同一时刻,这三个人碰面。只要不碰面,就是安全的。
在这个前提,张三就能将这种状态为此下去。
名副其实的时间管理大师。
怎么样去管理时间呢?
制作一个时间表
周一:和A 去逛街
周二:和 B 去图书馆
周三:和 C 去看电影
周四…
每个人依次安排一个具体的时间,通过这样的一张时间表,合理的去管理。
从宏观角度来说:张三同时谈了3个女朋友。
从微观角度来说:同一时刻,张三只是和一个女朋友在一起。
这个就是并发。
所以现在张三通过这样的一张时间表,就把这些女朋友很好的进行一个“调度”。
规划时间表的过程,也就是“调度”的过程。
关于进程调度的详细介绍