进程调度的基本过程

什么是进程

进程是操作系统对一个正在运行的程序的一种抽象,也就是说,一个运行起来的程序就是一个进程。
进程又是操作系统进行资源分配的基本单位。
比如我们打开我们的电脑任务管理器就会看到许多正在执行的进程。
在这里插入图片描述

进程管理

进程管理一般分两步
1.描述一个进程:采用结构体/类(也叫进程控制块),对进程的信息进行表示。
2.组织这些进程:通过一定的数据结构把这些结构体/对象进行组织。

结构体或类的主要属性

pid

每一个进程的唯一身份标识符。

内存指针

当前这个进程使用的是内存的那一部分(进程运行时需要消耗一定硬件资源,就比如内存)。

文件描述符表

记录了进程运行时使用了那些硬件资源,生成一个文件,按一定数据结构组织形成文件描述表。

辅助进程调度的属性

  • 进程状态
    就绪态:进程已经准备好上CPU执行了。
    阻塞态:进程暂无法上CPU执行。
  • 进程的优先级
    进程之间的调度是有优先级的,优先级高则被频繁调度。
  • 进程的上下文
    上下文就是描述了进程执行到那里的“存档记录”。
    在并发执行离开CPU时记录运行结果,等下次进程回到CPU后根据记录结果再次执行。
  • 进程的进账信息
    统计了每个进程在CPU上执行了多久。
    可以作为以后进行进程调度的参考。

并发

程序能够运行是靠电脑CPU的,CPU有个概念叫核心数(一个核心同一时间只能执行一个程序),我们的电脑一般不会超过20个核心数,但上面我的任务管理器中显示有那么多程序在运行,电脑是如何办到的,这就是我们下面要了解的并发概念。

并行

同一时刻两个核心同时执行两个进程,那么这两个进程就是并发执行的。

并发

一个核心先执行进程1,然后再执行进程2,接着执行进程3,这样每个进程都去执行且切换频率快到我们人眼无法察觉的地步,这样在我们看来1,2,3程序就是在“同时执行”。

在操作系统的控制下,CPU通过并发的方式进行多进程执行。
一般情况下并发与并行统称为并发。

猜你喜欢

转载自blog.csdn.net/st200112266/article/details/129578848
今日推荐