多道技术指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如CPU)的有序调度问题
单道
多道
进程:正在进行的一个过程或者一个任务。是系统进行资源分配和调度的基本单位,是操作系统的基础
进程与程序
这里有一个比喻:
想象一个Tom猫正在给他的宿敌Jerry做奶油蛋糕
他有做奶油蛋糕的食谱及所需的所有原料:面粉、鸡蛋、奶油等
在这个比喻中:
- 做蛋糕的食谱就是程序
- Tom猫就是处理器(CPU)
- 而做蛋糕的各种原料就是输入数据
- 进程就是Tom猫阅读食谱、取来各种原料以及烘制蛋糕等一系列动作的总和
现在假设Tom猫的主人站在门外需要Tom取开门
Tom想了想,给主人开门的任务比给Jerry做蛋糕的任务更重要,于是Tom立马记下照着食谱做到第几步(保存进程的当前状态),然后跑去给主人开门。这里,我们看到处理器从一个进程(做蛋糕)切换到另一个高级优先级的进程(开门),每个进程拥有各自的程序(食谱和开锁),开门之后,Tom又回来从他离开时的那一步继续做蛋糕
要想多个进程交替运行,操作系统必须对这些进程进行调度,这个调度也不是随机进行的,而是需要遵循一定的法则,由此就有了程序的调度算法
现代操作系统的进程调度算法:时间片乱转法+多级反馈队列
原文地址:https://www.cnblogs.com/YGZICO/p/11997669.html