定义:
具有一定独立功能的程序关于某个数据集合的一次活动。
基本的分配单元和执行单元。
结构:
程序、数据、进程控制块(PCB)。
【注】:从进程的结构,就可以看出进程和程序的主要区别,程序只是构成进程的一部分,是不能划等号的。
特征:
- 动态性:进程的实质是在多道程序系统中的一次执行过程,进程从被创建到销毁有一个生命周期。
- 并发性:多个进程可以在同时运行,这也是OS的重要特征。
- 独立性:进程是一个能独立运行的单位,能独立参与资源分配和调度。
- 异步性:进程的执行的速度和顺序具有不确定性。
状态和转换:
其实仅仅从上图以及其文字描述,在不知道进程状态概念的情况下,我们是无法获得足够的有效信息的,所以还是得先了解进程状态的概念。
举一个简单的例子:
汽车
熟悉汽车的朋友都知道汽车在公路上行驶,可以有3种状态:停止、待机、运行。
运行:只要轮子在转,汽车还在移动,那就是运行。
停止:汽车没油了,跑不动了。
待机:遇到红灯了,必须得停,但是不熄火,只要绿灯到了,就能继续跑。
把状态图里的内容稍微替换一下,现在能明白了吗?
运行->停止:没油了
运行->待机:红灯停
停止->待机:虽然加满了油,但是不能马上上路,只能先发动机器,只有绿灯来了,才能上路运行。
待机->运行:绿灯行
以上,我们很轻松地了解了汽车在公路上行驶期间可能存在的状态以及状态之间的关系,下面,类似的了解一下进程的状态以及相互关系。
进程具有3个状态(暂时这么认为):运行、就绪、等待(或者阻塞)
运行:就是运行,类比于汽车的运行
就绪:什么条件都满足,就是CPU没时间片了(这个概念比较生疏,可以理解为CPU太忙,没空管这个新添加的进程),类比于路况繁忙,汽车遭遇红灯了
等待(或者阻塞):不是CPU不给力,是你这个进程本身就不具备运行的条件,等你先凑齐必要的东西,再来找CPU吧,类比于汽车没油了
运行->等待:突然之间运行的条件不满足了,例如I/O问题,最典型的例子就是断网了
运行->就绪:CPU被其他进程占满了,没时间片了。
停止->就绪:运行条件满足了,但是还是要走流程的,先进入就绪队列中等着,等轮到你的时候再说。
就绪->运行:有CPU时间片,就能运行,没有的话,只能时刻准备着。
分享到:
相关推荐
自行编制模拟程序,通过形象化的状态显示,深入理解进程的概念、进程之间的状态转换及其所带来的PCB内容 、组织的变化,理解进程与其PCB间的一一对应关系。 2. 内容及要求: 1) 设计并实现一个模拟进程状态转换及其...
自行编制模拟程序,通过形象化的状态显示,加深理解进程的概念、进程之间的状态转换及其所带来的PCB内容 、组织的变化,理解进程与其PCB间的一一对应关系。
操作系统课程设计文档,内容为进程状态转换模拟,设计技术参数1)系统中进程的数目; (2)系统资源的种类和数目;...至少模拟四种条件下的进程状态转换,即进程调度、时间片用完、I/O请求和I/O完成等四种条件
本文主要是介绍进程的一些基本概念与管理应用。进程是操作系统中最重要、最基本的概念之一。...一切仅具有静态特征的概念,例如程序,不能反映系统的上述特征,因此,导入了具有动态特征的进程概念。
自行编制模拟程序,通过形象化的状态显示,使学生理解进程的概念、进程之间的状态转换及其所带来的PCB内容 、组织的变化,理解进程与其PCB间的一一对应关系。
用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、实验内容和要求 编写并调试一个模拟的进程调度程序,采用“简单时间片轮转法”调度算法对五个进程进行调度。 每个进程有一个...
进程状态转换。帮助理解操作系统中的概念 希望对大家有帮助
进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。 进程的到达时间为进程输入的时间。 ...
通过动态优先权算法的模拟加深对进程概念和进程调度过程的理解。 2、实验内容 (1)用C语言来实现对N个进程采用动态优先算法的进程调度; (2)每个用来标识进程的进程控制块 PCB用结构来描述,包括以下字段: 进程...
课程设计 银行家算法 特殊算法、用C语言或C++语言来实现对N个进程采用优先算法以及轮识ID,其中0为闲逛进程,用户进程的标识数为1、2、3、、、、、、、。 (2)进程优先级Priority,闲逛进程(idle)的优先级为0,...
线程是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享其所 附属的进程的所有的资源,包括打开的文件、页表(因此也就共享整个用户态地址空间)、信号标识及动态分配的内存等等。线程和进程的...
通过形象化的状态显示,加深理解进程的概念、进程之间的状态转换及其所带来的PCB组织的变化,理解进程与其PCB间的一一对应关系。 有代码
进程状态模拟转换课程设计代码,使用python编写,设计要求:模拟两种系统资源,每种资源的初始数目有自己设定 ...至少模拟四种条件下的进程状态转换,即进程调度、时间片用完、I/O请求和I/O完成等四种条件
(1) 通过编写程序实现进程同步和互斥,掌握有关进程(线程)同步与互斥的原理,以及解决进程(线程)同步和互斥的算法,从而进一步巩固进程(线程)同步和互斥等有关的内容。 (2) 了解Windows2000/XP中多线程的...
随着多道系统的出现,进程作为资源分配和处理器调度的基本单位,是操作系统中最活跃的因素,也是操作系统并发性、共享性、虚拟性和异步性的体现。操作系统为进程分配资源,控制进程状态的变化,协调进程之间的关系,...
加深对于进程并发执行概念的理解。实践并发进/线程的创建和控制方法。观察和体验进程的动态特性。进一步理解进程生命期期间创建、变换、撤销状态变换的过程。掌握进程控制的方法,了解父子进程间的控制和协作关系。...
加深对进程概念的理解,明确进程和程序的区别; 深入了解系统如何组织进程、创建进程; 进一步认识如何实现处理器调度。 2.实验预备知识 进程的概念; 进程的组织方式; 进程的创建; 进程的调度...
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位 程序顺序执行 封闭性 程序在封闭的环境下运行,即程序运行时独占全机资源,资源的状态(除初始状态外)只有本程序才能改变它,程序一旦...
调试、修改、运行模拟程序,通过形象化的状态显示,使学生理解进程的概念,了解同步和通信的过程,掌握进程通信和同步的机制,特别是利用缓冲区进行同步和通信的过程。通过补充新功能,使学生能灵活运用相关知识,...
以加深对进程的概念及进程调度算法的理解. 下面是采用动态优先数的调度程序,可作参考。 例题: 设计一个有 N个进程共行的进程调度程序。 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给...