详解本文前,先来说说什么是操作系统吧,要不,大家可能都不知道自己在看些什么。下图,可以非常形象的表示操作系统及它的相关内容。本文主要详细介绍一下操作系统的进程管理功能。
上图可以看出,操作系统是位于计算机硬件和应用软件之间的,有效组织和管理系统中各种软、硬件资源。它通过资源管理,提高了计算机系统的效率;也改善了人机界面,不需要我们直接面对简单且复杂的0和1了,向用户提供了友好的工作环境。下面来细说说进程管理吧。
首先,我们需要了解,什么是进程,与其相关的,什么又是线程?进程,可以认为它就是程序的一次执行。进程主要有程序、数据和进程控制块(PCB)组成,其中PCB是进程的唯一标识。而线程则是进程的一个实体。通过创建线程,减少程序并发执行时的时空开销,下图形象的表示了进程与线程的关系。
说到进程管理,就不得不说说三态模型了。对比着,我们可以看出进程的管理主要哎就绪状态和运行状态之间的转换。先看图:
三种状态:运行态、就绪态和等待态。在就绪状态时:进程已得到运行所需资源,只等CPU的调度即可运行,可称之为万事俱备只欠东风;而运行状态:进程已得到运行所需资源,并且得到了CPU的调度;等待状态则是不具备运行条件,等待时机的状态。三种状态间的转换图中已显示清楚,不再赘述。
其中在就绪状态和运行状态间的转换中,涉及到了很重要的进程调度。下面来详细说一说。
进程调度有两种方式:可剥夺和不可剥夺。可剥夺式是指当有更高优先级的进程到来时,强行将正在运行进程的CPU分配给更高优先级的进程;不可剥夺式与其不同,即便有更高优先级的进程到来,也需要等待正在运行进程自动释放占用的CPU。
这里的调度也就是涉及到三级调度。请看下图:
而常用的调度算法主要有先来先服务、时间片轮转、优先级调度和多级反馈调度算法。
先来先服务算法按照作业提交或进程成为就绪状态的先后次序分配CPU,也就是说进程调度总是将就绪队列队首的进程投入运行。时间片轮转则分为固定时间片和可变时间片。固定时间片分配给每个进程相等的时间片,使所有进程都公平执行。而可变时间片则是根据进程不同要求对时间片大小实时修改。优先级调度顾名字义,谁的优先级高就优先调度谁。多级反馈调度则是时间片轮转和优先级调度的一个结合。
大致就是这些了,继续学习,继续补充吧!
浅谈操作系统之进程管理,码迷,mamicode.com