进程调度的基本过程

一.什么是进程

        进程就是我们电脑内正在运行的那些程序,打开任务管理器就会看到你的电脑正在运行的那些进程如图:

 二:操作系统是如何管理进程的

        所谓的操作系统,通俗讲就相当于一个学校,学校里有老师,学生,班级,课程,各个部门等等.

        操作系统本身是一个大话题,是一个非常复杂的软件.功能非常多,其中有一个和咱们密切相关的功能块--进程管理.

        1.什么进程

        所谓的进程通俗点就是指的是一个班在上课,而它进行上课需要有教室,老师,学生,还需要系办进行排课.而这些都是你要是上课所需要的资源,进程就相当于这样一个过程.

        要想运行一个进程就需要系统资源才能运行,如果缺少任何一个资源就无法运行.

        进程管理分两步:

        1.描述一个进程:使用结构体/类,把一个进程有哪些信息表示出来.

        2.组织这些进程:使用一定的数据结构,把这些结构体/对象,放到一起.

     2.进程的结构体(PCB)的属性:

        1.pid:每个进程需要有一个唯一的身份标识.

        2.内存指针:当前这个进程使用的内存是那一部分

        3.文件描述符表:文件比如硬件上存储的数据,往往就是以文件为单位的进行整理(进程每次打开一个文件夹,就会产生一个"文件描述符表".

        文件描述符表:(表示了这个被打开的文件),一个进程可能会打开很多文件,对应了一组文件描述符,把这些文件描述符放到一个顺序表这样的结构里,就构成文件描述表

        3.进程调度

        并行:同一时刻,两个核心同时执行两个进程,此时这两个进程就是并行执行

        并发:一个核心,先执行进程1,执行一会儿之后,再去执行进程2,再执行一会儿之后,再执行进程3.此时只要这里切换速度足够快.此时看起来进程1 2 3 就是"同时执行"

        通常都是通过并发+并行的方式来执行系统任务,统称为并发.高并发是一个核心(主体)并发的执行1W个任务就称为高并发.

     4.进程调度的基本属性

        1.进程状态:进程的状态主要是:就绪态  阻塞态

                就绪态:该进程已经准备好,随时可以上CPU.

                阻塞态:该进程暂时无法上CPU.

        2.进程的优先级

                进程之间的调度不一定是"公平的"        有的要优先调度

       3.上下文

                就是描述里当前进程执行到哪里这样的"存档记录".进程在离开CPU的时候就要把当前运行的中间结果"存档".等到下次进程回来CPU 上,在恢复之前的"存档",从上次的结果继续执行

                所谓的上下文具体指的就是运行过程中cpu内部的一系列寄存器的值

                存档:进程里靠CPU就需要把这些寄存器的值保存到PCB的上下文字段中.

                读档:进程下次回来cpu在把PCB再把PCB中的值给恢复到寄存器中

       4.记账信息

                统计了每个进程在CPU上都执行了多久进行统计,可以作为调度的参考依据

操作系统往往使用双向链表这样的结构来组织pcb:1.创建进程,就是创建一个链表节点:2.销毁一个进程,就是把链表的节点给删除了:3.遍历进程列表,就是在遍历链表

进程的缺陷:如果频繁的创建/销毁进程,成本比较高

弥补缺陷:引进线程,进程包含线程:一个进程里可以有一个线程,或者多个线程,每个线程都是一个独立的执行流,多个线程之间,也是并发执行的.

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值