进程是操作系统对一个正在运行程序的一种抽象,一个系统可以同时运行多个进程,每个进程都好像在独占地使用硬件。并发运行:进程间的指令是交错执行的。无论单核还是多核系统,一个CPU看上去都像是并发地执行多个进程,这是通过处理器在进程间切换来实现的。操作系统实现这种交错执行的机制称为上下文切换。
操作系统保持跟踪进程运行所需的所有状态信息,这种状态称为上下文切换,包括许多信息,如PC和寄存器文件的当前值,以及主存的内容。当操作系统决定要把控制权从当前进程转移到某个新进程时,就会进行上下文切换,即保存当前进程的上下文、恢复新进程的上下文,然后将控制权转移到新进程,新进程就会从它上次停止的地方开始。
从一个进程到另一个进程的转换是由操作系统内核管理的。内核是操作系统代码常驻主存的部分。当应用程序需要操作系统的某些操作时,它就执行一条特殊的系统调用指令,将控制权传递给内核,然后内核执行被请求的操作并返回应用程序。内核不是进程,它是系统管理全部进程所用代码和数据结构的集合。
实现进程需要低级硬件和操作系统软件的紧密合作。