前言
本文主要介绍与进程有关的基本概念以及进程调度的基本过程。
一、进程
1.进程:是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程;同时,在操作系统内部,进程又是操作系统进行资源分配的基本单位。
2.进程控制块(Process Control Block)PCB包含:
(1)进程的唯一身份标识PID;
(2)内存指针:描述进程持有的内存资源;
(3)文件描述符表:描述进程持有的的文件资源;
(4)进程调度信息;
操作系统会通过数据结构中的线性表、搜索树等将PCB对象组织起来,方便进行增删改查的操作。
3.与进程调度有关系的属性
进程调度:资源有限(CPU资源),需要合理分配。
(1)进程状态:就绪状态、阻塞状态等;
(2)进程优先级:系统调度会根据优先级对进程进行安排时间;
(3)进程上下文:进程在CPU上执行一会之后,要切换给别的进程,就需要保存当前运行的中间结果,下次再执行的时候,就会恢复中间结果,往下执行。
(4)进程记账信息:统计每个进程在CPU上执行的时间信息,辅助调度。
进程要求独立性(相互之间不影响)
进程通信需要进程通信机制(基于文件,基于socket(网卡))
使用虚拟地址空间,就认为进程之间存在了“隔离性”,一个进程是不能访问另一个进程的内存数据的。
二、进程调度
进程调度:资源有限(CPU资源),需要合理分配。
1、并行执行:多个CPU核心,可以同时独立的运行多个程序。
2、并发执行:一个CPU,先执行进程1,再执行进程2,再执行进程3,只要切换的够快,宏观上就可以看作3个进程同时进行。
进程调度就是通过“并行”和“并发”的方式让计算机可以同时执行多个进程(任务)。
支撑“进程调度”的相关属性:
1、进程状态:就绪状态、阻塞状态等;
2、进程优先级:系统调度会根据优先级对进程进行安排时间;
3、进程上下文:进程在CPU上执行一会之后,要切换给别的进程,就需要保存当前运行的中间结果,下次再执行的时候,就会恢复中间结果,往下执行。
4、进程记账信息:统计每个进程在CPU上执行的时间信息,辅助调度。
根据以上的信息可以完成进程调度。
总结
进程要求独立性(相互之间不影响)
进程通信需要进程通信机制(基于文件,基于socket(网卡))
通过使用虚拟地址空间,就认为进程之间存在了“隔离性”,一个进程是不能访问另一个进程的内存数据的,可以访问干扰的操作,提高系统的稳定性。