进程

 进程这个词,相信大多数人并不陌生。在用windows的时候,经常会打开任务管理器,里面就有一个选项卡是进程。

在一般的概念中,运行一个程序,就会有一个对应的进程。基本上就将进程等同于程序。这是一般人对于进程的理解,如果要学习操作系统,就要有更全面、准确的认识。

 

进程是操作系统中最重要的概念,可以说进程是现代操作系统的核心。对于进程的概念,现在有众多的说法,但可以说,都没有办法让人很好的理解,甚至越搞越糊涂。所以我并不打算对进程下一个定义。但是要说明Lenix中进程的一些特征。Lenix进程的特征。

1、是系统的调度单元。

2、包含了程序运行所全部需要的信息和资源。

进程的一些特点。

1、进程是一个动态概念。在发出执行程序的命令后,才创建进程,直到程序运行完毕,进程退出。其实,更多的人是关心如何创建进程,进程是如何退出的。

2、同时存在。也就是系统中可以同时存在多个进程,但是同时存在并不代表并发执行,多CPU或者多核心的情况下,会存在并发。

3、相对独立。这是指每个进程都会按照自己的顺序来执行。这里要说明的是,很多资料上都说进程有自己独立的地址空间,这是不完全对的。

另外,有些资料上提到进程还有制约性、结构性等等的特点,我并不认同这些观点,因为所谓制约性和结构性,都是体现在编程上的内容,进程本身并不能控制这些内容。

进程与程序的关系。

1、从概念上来看,进程是动态的概念,而程序是静态的概念。进程是一个逻辑上的概念,而程序却是实体,可以在存储介质中找到的。

2、从对应关系上来看,一个程序可以多次运行,从而形成多个进程,每个进程有各自的执行状态和进度。而一个进程只对应一个程序。

 

进程状态。

进程的状态是调度程序对进程进行挑选的依据。最主要的作用是指明进程能否参与调度,而且调度程序会根据进程状态来分配CPU的运行时间。一般的操作系统教材,都是将进程分为三种状态,运行态、就绪态、阻塞态。这听起来很像那么回事,其实根本不是那么回事。

Lenix将状态分为运行态、睡眠态、等待态。运行态是指进程具备运行条件,随时可以运行。而一般理论中的就绪态和运行态,其实是相同的状态,只是运行态说明进程正在占用CPU,没有必要进行区分。睡眠态是指进程不参与调度,但是随时可以唤醒参与调度。等待态是指进程在等待某种资源,必须在得到资源后才可以恢复运行。状态变迁图就不再这里画了。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值