赞
踩
什么是进程?
早期的计算机一次只能执行一个程序,这种程序完全控制系统,并且访问所有系统资源。到了现代,计算机系统允许加载多个程序到内存,以便于并发执行。这就要求操作系统对各种程序提供更严格的控制和更好地划分和规划。这些 需求引发了进程概念的产生,大白话的说,进程就是正在执行的程序,是现代分时操作系统的工作单元。
操作系统的复杂程度决定它可以为用户带来更好地体验感。虽然它主要它主要关注的是执行用户程序,但是它也要顾及各种系统任务。因此系统会由一组进程组成,操作系统进程和用户进程;操作系统进程执行系统代码,而用户进程执行用户代码。
通过 CPU 的多路复用,所有这些进程可以并发执行。通过在进程之间切换 CPU,操作系统能使计算机更为高效。
前面说,进程是执行的程序,这是一种非正式的说法。进程不只是程序代码(文本段或代码段),通常还包含以下内容:
进程的特征
进程是由多程序的并发执行而引出的,它和程序是两个截然不同的概念。进程的基本特征是对比单个程序的顺序执行提出的,也是对进程管理提出的基本要求。
进程的状态和转换
进程在其生命周期内,由于系统中各进程之间的相互制约关系及系统的运行环境的变化,使得进程的状态也在不断地发生变化(一个进程会经历若干种不同状态)。通常进程有以下五种状态,前三种是进程的基本状态。
状态转换说明:
就绪状态 -> 运行状态:处于就绪状态的进程被调度后,获得处理机资源(分派处理机时间片),于是进程由就绪状态转换为运行状态。
运行状态 -> 就绪状态:处于运行状态的进程在时间片用完后,不得不让出处理机,从而进程由运行状态转换为就绪状态。此外,在可剥夺的操作系统中,当有更高优先级的进程就 绪时,调度程度将正执行的进程转换为就绪状态,让更高优先级的进程执行。
运行状态 -> 阻塞状态:当进程请求某一资源(如外设)的使用和分配或等待某一事件的发生(如I/O操作的完成)时,它就从运行状态转换为阻塞状态。进程以系统调用的形式请求操作系统提供服务,这是一种特殊的、由运行用户态程序调用操作系统内核过程的形式。
阻塞状态 -> 就绪状态:当进程等待的事件到来时,如I/O操作结束或中断结束时,中断处理程序必须把相应进程的状态由阻塞状态转换为就绪状态。
区分进程与线程的区别:
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。
区分进程与程序:
程序与进程主要区别在于程序是执行任务的一组指令,是静态的;而进程是执行中的程序,是动态的。并且进程与程序之间存在多对一的关系。即一个程序可以调用
多个进程,换种说法,也就是多个进程可以是同一个程序的一部分。
俩者的比较:
比较的方面 | 程序 | 进程 |
---|---|---|
基本概念 | 程序是一组指令的集合 | 执行中的程序,就叫做进程 |
性质 | 被动(静态) | 活动(动态的) |
存活期 | 长久(如果不从磁盘删除它) | 暂时(在进程完毕后终止) |
需要的资源 | 存储器资源 | CPU,内存,磁盘,I/O等资源 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。