什么是进程➡进程调度

进程的管理方法

1.描述:
对于进程描述来讲,会描述一个进程有那些属性和信息,通过一个结构体来描述,这个结构体也称为PCB(进程控制块)。
2.组织:
通过某种数据结构(双向链表),来组织进程的信息,双向链表的节点就是PCB,可以进行添加和删除节点操作。

什么是进程调度

我们任务管理器一开 基本上就是几十个进程或者上百进程,但是我们的cpu也只是几核而已(几核代表能同时进行几个进程或者任务),所以要想让大量的进程同时执行,就有了并行执行和并发执行的概念。
并行执行:每个cpu的一个核心上,可以独立的运行一个进程,运行进程的相关指令,多个cpu核心就可以做到同时独立的运行多个进程。
并发执行:每个cpu的一个核心上,虽然只可以独立运行一个进程,但是我让他运行进程A,然后再运行进程B,再运行进程C,只要切换进程够快,宏观上就可以看成是独立的同时运行多个进程。
进程调度,其实就是通过并发和并行执行,让计算机同时运行多个进程任务。这就是多任务操作系统(现在基本上都是多任务操作系统)。

进程调度的解释

在进程管理会涉及两部分,一部分是进程的描述,另一部分是进程的控制
对于进程描述来讲,会描述一个进程有那些属性和信息,通过一个结构体来描述,这个结构体也称为PBC(进程控制块)。
在PCB中一共7种信息
1.pid进程身份标识 ,2.内存指针,3.文件描述符表,4,进程状态,5.进程优先级,6.进程上下文,7.进程记账信息
其中4-7这几个属性就是与进程调度有关系。

进程调度的几个属性的解释

1.进程状态:
进程分成了就绪状态和堵塞状态。就绪状态下的进程才可以调度到cpu来执行,堵塞状态的就不行。
2.进程优先级:
系统调度的时候,根据优先级来给进程安排时间,可能A进程时间多,B进程时间少,C进程几乎没有。但是创建进程的时候,也可以通过一些系统调度来干预优先级。
3.进程上下文:
在cpu上执行了部分进程A的时候,需要去执行进程B了,这时候就要把进程A运行的中间结果保留下来(cpu寄存器进行存档,然后存到PCB的上下文信息中去(内存里)),然后去执行进程B,等到要执行进程A的时候,就恢复当时的中间结果(读档)接着执行。
对进程来说,上下文就是cpu里的寄存器的值
4.进程记账信息:
每个进程在cpu上执行的时间,做出记录(辅助调度的效果)。
对于执行进程来讲,虽然有着优先级,可以让进程吃到cpu的资源,但是还有一些可能会导致某些进程完全吃不到资源,所以对进程在cpu上执行的时间做出记录,就可以根据情况来更加均衡合理的来分配cpu资源给进程。

进程的虚拟地址空间

在给进程分配内存资源的时候,可能会出现越界访问,比如进程A是一块空间,进程B是一块空间,但是有可能进程A在没有约束的情况下,会访问越界到进程B的空间中去,导致了进程间的相互影响。
所以我们有了虚拟地址空间这个概念
虚拟地址空间就是对每个进程划分出一个内存空间(也是活动范围),(不是真的内存空间,是虚拟的!),然后通过一个叫MMU的设备来完成虚拟地址到真实物理地址(内存)的映射

MMU可以对进程的地址进行检查,如果非法,就会杀死进程。 使用虚拟地址空间,让进程间有了"隔离性",防止了进程间的干扰,让系统更加稳定了。进程是要求有独立性的。

进程间交互(进程间通讯)

在虚拟地址空间的情况下,进程间存在了隔离性,但是在有些情况下,我们也希望两个进程之前可以进行数据的交互,所以就有了一个机制进程间通讯

进程间通讯:
找出一个多个进程都可以访问的 公共资源,通过这个资源来交互进程间的数据。
这个资源可以是内存,文件,网卡等等。

进程与进程之间如果想进行通讯,就需要使用这种进程间通讯机制(使用文件,网卡等)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

keild

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值