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上占用时间和执行的指令数目,从而决定下一阶段进程的调度。
1684

被折叠的 条评论
为什么被折叠?



