进程的调度

1、进程即为一个跑起来的程序,在任务管理器栏中每一个任务(Tast),就是一个进程;

2、每个进程都对应一些资源,是操作系统资源分配的基本单位;也就是说,进程是一种“软件资源”,是由操作系统内核负责管理的。

     操作系统是如何管理进程的?    描述+组织    (操作系统基本由C/C++来编写)

     描述:是通过C语言的结构体来描述进程的相关属性。(这种结构体称为PCB,即进程控制块

     组织:通过双向链表,将多个PCB(进程控制块)串连到一起;

                创建进程即是将一个PCB这样的结构体对象插入双向链表;

                销毁进程即是将链表上的PCB节点给删除;

                任务管理器查看进程即是遍历这个双向链表。

3、关于PCB里的进程描述的特征:进程身份标识符pid \ 内存指针 \ 文件描述符表 \ 进程调度属性

4、进程调度的相关属性:进程状态、优先级、上下文、记账信息

          1)进程状态:

                         就绪状态:随时准备去CPU上执行

                         运行状态:已经在CPU上执行的

                         阻塞状态:如在密集的IO操作,短时间无法在CPU上运行

           2)优先级:操作系统进行调度进程并不是一致的,是有优先级的

                         进程之间是希望能够“同时运行”,但是CPU资源不好分,进程有上百个,即使是多核CPU也无法同时运行几百个。

                         于是就有了并行和并发的处理方法

                              并行:微观上同一时刻,两个核心上的进程,就是同时进行的;

                              并发:微观上同一时刻,一个核心只能运行一个进程,但其能对进程进行快速的切换,使得整体上看起来是几个进程在同时运行。    

            3)上下文:操作系统在进行进程切换时,就需要把握好进程切换间的“中间状态”,以便于这个进程在被切换后,下次再运行时,能恢复上一次的运行状态。本质上是“存档”+“读档”,进程的上下文就是CPU中各个寄存器(内置的存储数据模块)的值,存档即为把寄存器的值保存到内存中,读档就是把这些值恢复回去。

            4)记账信息:

                                 操作系统通过统计每个进程在CPU上占用时间和执行的指令数目,从而决定下一阶段进程的调度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值