【进程管理】进程切换

前言

本文阐述两个概念:并行与并发,同时介绍如何通过进程切换的方式完成并发

一.并行与并发

并行:多个进程在多个CPU上同时分别运行,这种情况比较少见,多数计算机只有一个CPU

并发:操作系统采用高频的进程切换的方式,在一段时间内,多个进程都得以推进,就好像多个进程在同时运行。

这里的一段时间指的是一个时间片,可以简单理解为固定的很小一段时间。

说到并行就不得不来谈进程切换了。

二.进程切换

一个进程被CPU调度,并不是占着CPU就不下来了,而是每隔一个时间片就从CPU上剥离下来。

CPU内有很多寄存器,一个进程运行时,会产生很多临时数据,如函数return,返回值存放在eax从而传给外部;寄存器eip保存下一步要执行代码的地址,并随着进程运行而不断更新。

总结来说,进程运行时会产生很多临时数据,这些临时数据在CPU内的寄存器中临时保存,这些临时数据叫做进程的(硬件)上下文

寄存器只有一套,但是进程有很多个,进程上下文也就有很多份。当进程切换时,会先将寄存器中的内容保存在内存中的某个位置,然后才能切换;当调度一个进程时,会先读取进程的硬件上下文,覆盖寄存器中的内容,然后才能运行。

你可能感兴趣的:(服务器,运维,linux,单片机,嵌入式硬件)