摘要:本文主要介绍三个概念,内核、进程和文件。其中进程这个概念比较老套,这里主要是从一个抽象角度来进行阐明;文件作为计算机系统中的概念,与我们传统理解的概念有什么样的区别,这里进行了简单的说明(如有不妥,欢迎指正)。
1. 内核:内核是操作系统的核心,是基于硬件的第一层软件扩充。内核包含操作系统代码常驻主存的部分代码,主要是用来管理进程之间的转换 以及 进程使用的代码和数据结构,但其本身不属于进程。
注:有人将内核理解成一个不需要占用内存的低权“进程”,没有其他进程的时候,运行该进程,但是一旦有其他进程请求,就会执行其他进程。虽然这种理解有偏差,但是不妨作为一种认识内核的一种途径。
2. 进程:进程是对处理器、主存和IO设备的抽象表示。程序在操作系统上运行,操作系统会提供一种假象,就好像系统上只有这个程序在运行,看上去只有这个程序独占处理器、主存和IO设备,处理器不断执行程序中的指令。然而实际上,进程只是操作系统对正在运行程序的一个抽象,操作系统保持跟踪进程运行所需要的所有状态信息(也就是上下文),当一个进程需要执行,操作系统收到请求并决定将控制权转移到新进程的时候就会进行上下文切换,保存当前进程的上下文,恢复新进程的上下文。进程之间控制权的切换是通过内核来进行控制的。
注:进程和线程的概念很多了,这里主要是从抽象意义上理解一下。进程就是我们虚拟出来的一部分资源的统称。
上下文:操作系统保持跟踪进程运行所需要的所有状态信息。