进程(Process)

进程是操作系统的核心功能之一,是执行中的程序。本文深入探讨进程的概念、模型、多道编程的效率、产生与消失、层次结构、状态转换以及进程管理,揭示了进程在CPU利用率提升中的作用,同时也指出进程存在的局限性和线程的引入原因。
摘要由CSDN通过智能技术生成

进程概念

进程管理.内存管理和文件管理是操作系统的三大核心功能。那么什么是进程呢?顾名思义,进程就是进展中的程序,或者说进程是执行中的程序。 就是说,一个程序加载到内存后就变为进程。即:进程=程序+执行

单一操作员单一控制终端、批处理均存在效率低下的问题,即CPU使用率不高。为了提高CPU利用率,人们想起将多个程序同时加载到计算机里,并发执行。这些同时存在于计算机内存的程序就称为进程。进程让每个用户感觉到自己独占CPU。因此,进程就是为了在CPU上实现多道编程而出现的概念,如图所示。
在这里插入图片描述

进程模型

那么进程到底是个什么东西呢?什么是进展中的程序呢?从物理内存的分配来看,每个进程占用一片内存空间,从这点上说,进程就是内存的某片空间。由于在任意时刻,CPU上只能执行一条指令,所以任意时刻上在CPU上执行的进程只有一个,而到底执行哪条指令由物理程序计数器指定。也就是说,在物理层面上,所有进程共用一个程序计数器。

而从逻辑上来看,每个进程可以执行,也可以暂时挂起让别的进程执行,之后又可以接着执行。这样,进程就需要某种办法记住每次挂起时自己所处的执行位置, 这样才能在下次接着执行时从正确的地点开始。因此,从这个角度看,每个进程有着自己的计数器,记录自己下条指令所在的位置。 从逻辑上说,程序计数器可以有很多个。

而从时间上看,每个进程都必须往前推进。在运行一定的时间后,进程都应该完成了一定的工作量,即每次进程返回,它都处在上次返回点之后。

在这里插入图片描述

这里需注意的是,进程不一定必须终结。事实上,许多系统进程(用来为别的进程提供系统服务的进程)是不会终结的,除非强制终止或计算机关机。

多道编程的效率

我们发明进程是为了多道编程,而多道编程的目的则是提高计算机CPU的效率,或者说是系统的吞吐量。例如,如果一个进程用20%的时间使用CPU进行计算,另外80%的时间用来进行I/О,则如果使用单道编程,CPU的利用率只有20%。但如果同时运行两个这样的进程,即进行所谓的2道编程,则CPU利用率将提高到36%(CPU只在两个进程同时进行I/O时才外干闲置状态,因此 CPU利用率为l-0.8×0.8=36%。这里忽略了进程切换所需要的系统消耗)同理,如果同时运行3个这样的进程,则CPU利用率将提高到48.8%。4个进程的CPU利用率将为59% ,5个进程的CPU利用率为67.2%。这样,随着进程数量的增加,也就是随着多道编程的度的增加&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值