浅谈系统内核

193 阅读1分钟

image.png

定义

内核是操作系统的核心部分,是最核心的代码和数据。它常驻于内存,负责管理计算机的硬件资源,如处理器、内存、磁盘驱动器、键盘、鼠标等。

内核作为应用连接硬件设备的桥梁,应用程序只需关心与内核交互,不用关心硬件的细节。

image.png

功能

  • 进程调度

    • 管理进程、线程,决定哪个进程、线程使用 CPU
  • 内存管理

    • 管理内存,决定内存的分配和回收
  • 硬件通信

    • 管理硬件设备,为进程与硬件设备之间提供通信能力
  • 系统调用

    • 如果应用程序要运行更高权限运行的服务,那么就需要有系统调用,它是用户程序与操作系统之间的接口

内存划分

  • 内核空间

    • 这个内存空间只有内核程序可以访问
  • 用户空间

    • 这个内存空间专门给应用程序使用

当程序使用用户空间时,我们常说该程序在用户态执行,而当程序使内核空间时,程序则在内核态执行。

工作原理

image.png

当应用程序使用系统调用时,会产生一个中断。发生中断后, CPU 会中断当前在执行的用户程序,转而跳转到中断处理程序,也就是开始执行内核程序。内核处理完后,主动触发中断,把 CPU 执行权限交回给用户程序,回到用户态继续工作。