首先什么叫进程?
简单的说进程就是运行的程序,就是说一个程序加载到内存后就变为进程。
进程在Multics操作系统出现前叫工作(job).工作是IBM用于多道批处理程序中用到的概念。历史原因最后改为进程(process)。
那么进程是如何引入的?
在之前的操作系统中CPU的利用率很低,为了提高CPU的利用率人们将多个程序同时加载到计算机里,并发执行
,这些加载到内存中的程序就成了进程。所以进程的引入实现了多道编程。
进程如何产生?
进程的产生主要有以下几种情况:1、系统初始化 2、执行进程创立程序 3、用户请求创建新进程
进程的消亡
造成进程消亡的事件主要分为4中。
1、寿终:进程运行完成而退出
2、自杀:进程因错误而自行退出。
3、他杀:进程被其他进程强行“杀死”。
4、处决:进程因异常而强行终结。
前两种情况都是自愿退出,后两种情况被动退出。
进程的状态
首先进程至少有执行和挂起两种状态。如果进程在CPU上执行,自然是执行状态。如果是挂起状态呢?那就要看什么原因挂起的。因为操作系统进行进程调度是要从挂起的进程里面选择一个来执行,所以清楚一个进程挂起的原因对进程调度很重要。那么进程挂起的原因有那些?首先一个进程在执行过程中执行了 某种阻塞操作。如读写磁盘。还有一种情况就是分给进程的时间用完了,这时就要挂起,以便其他进程使用CPU。达到公平公正。这两种挂起的原因不同,一种是进程自身的原因。另一种挂起是操作系统的原因。
一般情况下我们将进程分为执行、阻塞、就绪3终状态。他们之间的关系为:执行--->就绪 执行--->阻塞 阻塞---->就绪 和 就绪----->执行
进程创立步骤:
1、分配进程控制块
2、初始化机器寄存器。
3、初始化页表。
4、将程序代码从磁盘度进内存。
5、将处理器状态设置为“用户态”。
6、跳转到程序的起始地址。
这里的一个最大的问题是跳转指令是内核态指令。而在第5步时处理器状态已经被设置为用户态,而用户态下是不能执行内核 态指令的。如何解决?这就需要硬件帮忙了。硬件必须将第5、第六两步作为一个步骤一起完成。
进程如何管理?
进程的管理当然在操作系统的管理之下。到底操作系统如何或怎样更详细的管理进程。操作系统通过一个记录表来“监视”进程的一举一动。这个记录表就是进程表或进程控制块(PCB)。进程表或PCB里面存放的就是有关进程的资料。那么进程表里面有什么资料呢?显然,不同的操作系统维护的进程资料是不尽相同的。
好了进程的一生基本就是这样。
参考《计算机的心智操作系统之哲学原理》
阅读(1000) | 评论(0) | 转发(0) |