计算机操作系统之进程理解

进程是什么?

进程是计算机系统资源分配和独立运行的基本单位

内容参考自《计算机操作系统 第四版 汤小丹》

为什么引入进程这个概念?

由于早期的计算机系统没有配备OS系统,或者在单道批处理系统中,程序的执行方式是顺序执行,在内存中程序只能一个一个顺序执行,一个程序独占计算机所有资源(包括硬件、外设、数据),这样就导致资源浪费资源利用率低,系统运行效率不高。好比生活中我们炒菜的时候可以一边把米饭闷上,而不是炒菜结束后再去焖米饭。明白了矛盾或者问题的所在,那么我们该怎么解决呢?

  1. 怎么解决独占资源
    资源浪费即资源空闲,占着茅坑不拉屎。我们应该把资源交给需求,谁要上厕所就直接上,不至于说一个正在做饭的人阻挡上厕所的人。根据实际操作或者程序需求对现有资源做出合理安排,尽量使得所有系统资源都在被使用中。进程并发执行可以简单的理解为在宏观上多个程序在共同运行,好比现在我键盘外设在打字,音响播放音乐,显示屏显示文档,打印机在打印文档,这不是比我顺序执行用时要少更高效了吗?总结——并发执行
  2. 用什么解决?实现的原理又是什么?
    前趋图(Precedence Graph):描述了程序的顺序和并发执行情况以及程序执行的先后关系。顺序执行的前趋图多为一条直线,具备顺序性、封闭性、可再现性的特点。顺序性:必须严格依次执行。封闭性:程序运行时独占资源,运算结果不会受到外界干扰。可再现性:体现在只要输入内容一样,输出的结果就是一样的。
    并发执行的前趋图多为网状结构,只要不在一条线上进程都可以并发执行,具备间断性、失去封闭性、不可再现性。间断性:由于共享资源,在完成一项任务时可能存在相互合作,首先完成的要等其他并行进程完成后才可以进行下一步,等待即中断。失去封闭性:共享性资源对于多个并发进行都可以访问修改,不再具备独占资源不收其他进程影响的特点。不可再现性:即便输入相同输入也可能导致输出结果不同,原因在于每一个进行的具体执行速度,先后顺序,都是不可预知的,不可能每一次都相同的。

进程、程序、进程实体的区别和联系

  1. 进程是程序的一次执行,是进程实体的执行过程,具备程序所没有的PCB结构。
  2. 进程实体(又称进程映像)由程序段、相关数据段、PCB三部分组成。
  3. 进程是一个程序及其数据在处理机上顺序执行所发生的活动。
  4. 进程是具有独立功能的程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的独立单位。可以理解为:在一个大的程序框架内,具体功能的实现对应着一个个数据集,程序根据需求进行创建或者撤销在这个数据集上提供的资源【进程】。
  5. 进程具备动态性,体现在“由创建而产生,由调度而执行,由撤销而死亡”。程序只不过是一组有序指令的集合,存放在内存,属于静态的。
  6. 并发性、独立性、异步性。相互独立故而可以互不干扰的并发执行,在不可预知的速度推进,所以结果不可再现。

进程是并发执行的优化

摒弃并发执行的缺点,间断性和失去封闭性以及结果不可再现性。进程控制块:对于参与并发执行的程序独立运行所配备的数据结构,用于描述进程的基本情况和活动过程,进而管理和控制进程。
进程实体:程序段+数据段+PCB。进程实体称为进程,创建进程即是创建进程实体中的PCB,撤销撤的是PCB。

补充内容

并发和并行是既相似而又有区别的两个概念。前趋图不允许有循环。

  1. 并行性是指两个或多个事件在同一时刻发生。而并发性是指两个后者多个事件在同一时间间隔内发生。在多道批处理程序中,并发性是指在一段时间内宏观上有多个程序在同时执行,但在单处理机系统中,每一时刻只能有一道程序执行,微观上这些程序在分时交替执行。例如将1ms分成两个时间片,第一片内A程序执行,第二片内B程序执行,这么短的时间你是察觉不到交替执行的,在宏观就表现为同时执行啦。
  2. 前趋图是一个有向无循环图。如果存在一个循环那么久无法描述这个循环圈内各个程序的执行先后关系还会使得系统进入死循环中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值