【多线程初阶】进程调度

目录

什么是进程

进程如何进行管理

PCB实现进程调度


什么是进程

进程(process/task)是操作系统内核中关键性概念的其中一个。一个已经跑起来的程序就叫进程。(当前没有在运行的叫应用程序,不叫进程)

打开任务管理器,这些都是正在执行的进程。每个想要执行的进程都要消耗一定的系统资源,所以说进程是系统资源分配的基本单位。

进程如何进行管理

系统中的管理从两个角度出发:

1.描述:使用类或者结构体表现出被管理对象的各个属性。

2.组织:使用数据结构把这些对象都串起来。

系统中有一个结构体叫 ”进程控制块“ PCB(Process Control Block),它用来描述进程的属性。一个进程可以使用一个或多个PCB来表示。

系统中会使用类似于双向链表的数据结构来组织PCB:

创建新的进程,就是创建PCB并把PCB插入到链表中。

销毁进程,就是把PCB从链表上删除。

展示进程列表,就是遍历链表上的每个节点。

PCB实现进程调度

PCB支持操作系统实现进程的调度:

1. pid:进程的身份标识。每个进程都有有一个pid,同一时刻不同进程之间的pid是不同的。

2.内存指针:描述进程分配的内存资源。有一组指针来区分进程被分配的内存空间具体在哪里,以及内存空间中有哪些部分。

3.文件描述符表:描述进程持有的硬盘资源。即当前进程关联了哪些文件,能操作哪些文件。
 

4.进程的状态:当前进程的运行状态。

就绪状态:1)进程正在cpu上执行 。 2)进程虽然没在cpu上执行,但时刻准备着去cpu执行。

阻塞状态:进程不具备某种执行条件,导致无法参与cpu调度执行。

5.进程的优先级:优先级高的进程先调度。

6.进程的上下文:进程离开cup前把当前各种寄存器状态都记录到内存中,等到下次再执行就可以沿着上次的位置继续往后执行。

7.进程的记账信息:记录当前进程在cpu执行多久了,为操作系统调度进程提供参考依据。因为有优先级机制,为了避免出现极端情况。(所以资源都给某个进程,其他进程没有资源分配)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值