简单聊聊进程

进程是什么?

就是一个运行中的程序的实例!!!

为什么要引入进程?

在多道程序同事运行的背景下,进程之间需要共享系统资源,因此会导致各程序在执行过程中出现相互制约的关系,程序的执行会表现出间断性的特征。

这些特征都是在程序的执行过程中发生的,是一种动态的过程

传统的程序本身是一组指令的集合,是一个静态的概念,无法描述程序在内存中的执行情况,换言之,就是我们没有办法从程序的字面上看到他是何时执行,何时停顿,也无法看到他跟其他执行程序的关系。

所以,为了解决这些问题,为了深刻描述程序动态执行过程的性质,更好的支持和管理多道程序的并发执行,我们引入了进程的概念。

进程是由什么组成的?

1. PCB(process control block),一块数据结构,存放系统资源数据,比如分配多少内存,进程PID,进程UID等

2. 程序段,就是我们码农写的代码块

3. 数据段,用来存放运行程序产生的变量,中间变量等

什么是多道程序设计?

多道程序设计, 是指把一个以上的程序存放在内存中, 并且同时处于运行状态, 这些程序共享 CPU 和其他计算机资源。

主要优点如下

1. CPU 的利用率高。在单道程序环境下, 程序独占计算机资源, 当程序等待 I / O 操作时, CPU 空闲, 造成 CPU 资源的浪费。在多道程序环境下, 多个程序共享计算机资源,当某个程序等待 I / O 操作时, CPU 可以执行其他程序, 这大大地提高了 CPU 的利用率。 

2. 设备利用率高。在多道程序环境下, 内存和外设也由多个程序共享, 无疑也会提高内存和外设的利用率。

3. 系统吞吐量大。在多道程序环境下, 资源的利用率大幅度提高。减少了程序的等待时间, 提高了系统的吞吐量。

进程是如何解决问题的?

进程把能够识别程序运行的程序运行态的一些变量(上面讲到的内存大小,进程PID等)放到PCB中,通过这些变量,操作系统可以更好的了解当前进程的状况,可以选择在适当的时候进行进程的切换(了解就绪态,运行态,阻塞态切换机制),这样一来可以避免一些资源的浪费,甚至划分了更小的调度单位——线程,来提高操作系统的并发度,更好的利用时间片等资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值