内存管理:用户模式和内核模式

  • 进程

    • 一个具有一定独立功能的程序在一组数据集合上的一次动态执行过程。
    • 进程最显著的特点是拥有独立的地址空间。
  • 内核模式

    • 内核空间存放的是操作系统内核代码和数据,是被所以程序共享的。
    • 操作系统禁止用户进程直接访问内核空间。
    • 用户进程调用系统调用(System Call)来访问内核空间。
  • 用户模式

    • 用户空间存放的是应用进程的代码和数据,是进程私有的,其他进程一般无法访问。
  • 为什么要区分两种模式?

    • 内核
      • 管理硬件
      • 提供接口,供上层程序使用
  • 为什么内核和用户进程要共用地址空间?

    • 内核拥有独立的地址空间,就是让内核处于一个独立的进程中,这样每次进行系统调用都需要切换进程
    • 切换进程的消耗巨大,不仅需要寄存器进栈出栈,还会使CPU中的数据缓存失效,MMU中的页表缓存失效。
    • 内核和用户进程共享地址空间,发生系统调用时进行的是模式切换,模式切换仅仅需要寄存器进栈出栈,不会导致缓存失效。
原文地址:https://www.cnblogs.com/xiaobaizzz/p/12343186.html