写点什么

计算机操作系统学习笔记 | 进程与程序

用户头像
Regan Yue
关注
发布于: 2 小时前
计算机操作系统学习笔记 | 进程与程序

计算机操作系统学习笔记 | 进程与程序

我们初学者常常分不清程序与进程的区别,也不懂进程是什么?也不了解进程的几种状态及状态转换关系~本文着重介绍这几点....


下面我们来先比较进程和程序的区别:

进程和程序的区别

  • 我们都知道进程由三部分组成,而其中的程序段以及该程序段操作的数据集是和程序关系比较密切的。不过进程还有进程控制块(PCB)。

  • 进程是一个动态概念,而程序可以说是一个静态概念。进程顾名思义就是进行中的,它强调执行过程,进程被动态地创建,并由调度而执行,并在执行完成后消亡。而程序是一个静态概念,只是一组指令的集合。

  • 进程可以在内存中并发执行,而程序不具有并发特征。程序的并发执行具有不可再现性。

  • 进程是能够独立运行、接受调度的独立竞争计算机系统资源的基本单位。

  • 进程与程序不是一一对应的,不是一个程序只有一个进程,一个进程只能对应一个程序。而是一个程序多次执行能产生多个进程,甚至一些程序一次执行也能产生多个进程。一个进程也可以是用来执行多个程序的。


然后介绍进程的状态及转换:

进程的状态及转换

进程具有三种基本状态,各种操作系统还有特定的进程状态。这三种基本状态是运行态、就绪态以及阻塞态。


  • 处于运行态的进程的数目应该小于等于 CPU 的核数。如果是单核处理机同一时间只能有一个进程处于运行态,而双核就是最多两个进程处于运行态,四核最多四个,以此类推...

  • 处于就绪态的进程此时已经获得除处理机外的所需的所有资源,只需要分配 CPU 就可以进入运行态。

  • 处于阻塞态的进程是由于某些条件没有满足,在条件满足之前就无法继续执行进程,此时即使分配 CPU 给此进程,也无法运行。



发布于: 2 小时前阅读数: 2
用户头像

Regan Yue

关注

还未添加个人签名 2020.08.12 加入

对Go、Python、网络安全、区块链感兴趣. · 华为云云享专家

评论

发布
暂无评论
计算机操作系统学习笔记 | 进程与程序