超级难计算机知识,计算机超基础知识,深入解读程序运行的状态

今天,小编就不和大家说那些无聊又难懂的概念了。我们来说说平时工作生活最常接触的东西—程序,来讲讲它平时是怎么运行的吧。

早期的程序是按照顺序执行的,就是一个程序由若干个程序段组成。每一个程序段完成特定的功能,而它们在执行时的先后次序。

425c6887b64ad376b8b7ab59cbc93c4c.png

处理机是严格执行的,并且运行的程序独占全机资源,资源的状态只有它自己才能改变,开始执行后就不受外界因素影响。不过它也有一个很方便的特性叫做可在现性,只要初始条件和执行环境相同,就可获得相同的结果。为检测和校正带来了很大的便利。

但是,程序的顺序执行虽然方便了程序员,系统资源利用率却很低。所以引入了多道程序技术,使程序之间能够并发执行。当然,并非所有的程序都能并发执行,如果两个程序之间存在前趋关系,则无法并发执行。至于程序间的前趋关系,就好像先有面粉才有拉面,程序A完成后才能执行程序B。

25c2547970ed70a31dde8d4e81e3a3a0.png

相应的,并发执行也会具有不同于顺序执行的特征。由于并发程序之间共享资源,所以他们相互制约,也导致它们间断性的运动。同样,由于资源的状态受多个进程影响,所以并发的进程失去了封闭性。也由于封闭性的失去,导致了程序失去了可在现性。因此,操作系统就引入了进程的概念。

进程,由程序段、相关的数据段和进程控制段(PCB)构成,创建和撤销进程就是对PCB的操作。进程是程序的一次执行,是一个程序及其数据在处理机上顺序执行时的过程,是系统进行资源分配和调度的一个独立单位。

53d8ac485c25a018f59aa4fc25dcac48.png

首先是动态性,它是进程最基本的特性,因为进程的实质是进程实体的执行过程。动态性还表现在,进程创建产生,调度执行,撤销消亡。展现出了进程实体的生命周期。而程序则只是一组有序指令的集合,本身不具有活动的含义,因此是静态的。然后是并发性,就不需要多做介绍了,毕竟进程就是为了实现多道程序的并发而产生的嘛。独立性,在OS中就是指能独立运行、独立获得资源、独立接受调度的基本单位。没有PCB就不是一个独立单位。异步性,进程各自独立的、不可预知的推进,所以结果是不可在现的,不过配置相应的进程同步机制,就能解决这个问题。

dee6f2e2c51039c33b4a9a1affc42ab4.png

而由于进程在并发执行时共享系统资源,致使它们总是呈现间断性的运行规律,所以进程具有多种状态。创建状态,是为了提高OS管理的灵活性而建立的概念。由于很多原因需要推迟新进程的提交,也为获得所需的资源,这时就叫做创建状态。就绪状态,用一句比较经典的话改编,就是万事俱备,只欠CPU,这时进程已分配到了除CPU外的所有资源了。执行状态,这时进程已经获得了CPU,正在运行。阻塞状态,只能由执行状态的进程改变形成的一种进程状态,是由于某事件,比如I/O请求、申请缓冲区失败等,无法继续执行,进程进入暂停状态。最后,就是终止状态,进程执行完成后,就要释放资源,并且把PCB清零后返还系统。不过仍然会保留一个记录,保存状态码和一些计时统计数据。

804e45b121bab2b132c08134b5a099de.png

这五种状态,是OS中最常见的几种状态了。其中就绪、执行、阻塞是最基本的三种状态。希望大家注意,小编也会在下一篇文章中继续介绍进程的相关资料,希望大家多多支持,点个赞呗。

4976451aafaa4903dfdf14d8a286786d.png

举报/反馈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值