大家好,今天我们正式进入到javaEE的学习中,今天带大家了解一下进程调度的基本过程,希望大家有所收获
1.进程
这些运行的程序,其实就是就是进程,
2.进程调度
在多道程序系统中,进程的数量往往多于处理机的个数,进程争用处理机的情况就在所难免。处理机调度是对处理机进行分配,就是从就绪队列中,按照一定的算法(公平、髙效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行。
处理机调度是多道程序操作系统的基础,它是操作系统设计的核心问题。
3. PCB
进程由操作系统内核来负责管理,这里的管理就是描述+组织
而这里的描述便是由c的结构体来描述的,而这些结构体便是PCB
PCB的组成
PCB进程控制块是进程的静态描述,由PCB、有关程序段和该程序段对其进行操作的数据结构集三部分组成
PCB一般包括:
1.程序ID(PID、进程句柄):它是唯一的,一个进程都必须对应一个PID
2.特征信息:一般分系统进程、用户进程、或者内核进程等
3.进程状态:运行、就绪、阻塞,表示进程现的运行情况
4.优先级:表示获得CPU控制权的优先级大小
5.通信信息:进程之间的通信关系的反映,由于操作系统会提供通信信道
3.1 内存指针
同时内存指针也是进程调度的一部分,
内存指针:当前进程使用内存那一部分
文件描述符表,:硬盘上存储的数据,往往就是以文件为单位整理的
当进程每打开一个文件时,就会产生一个’文件描述符表’(意味着文件被打开)
一个进程打开了很多文件,就会对应一组文件描述符表
3.2进程状态
进程状态有三个:运行,就绪,阻塞
3.3进程上下文
进程的上下文
上下文就是描述当前进程执行到哪里的"存档记录"
进程在离开CPU的时候就要把当前运行的中间结果存档
等下一次回来,再恢复到之前的存档,从上次往下执行
3.4 进程记账信息
进程的记账信息
统计了每个进程,在CPU上执行了多久
可以作为调度的参考依据
4.并发并行
我们的程序能够执行全靠,CPU
其实我们的程序就是一组二进制集合
CPU上有个概念叫核心数]
例如:八核16线程
相当于有八个物理核心,16个逻辑核心
4.1什么是并发并行
例如:咋们的电脑是16核心,但是要执行145个任务,就是通过并发并行来实现的
并发并行完全由操作系统执行的,程序员感受不到
并发并行也叫作并发