用户态和内核态

用户态和内核态

  • 划分的原因:为了防止用户进程破坏操作系统的稳定,对一些资源的访问进行了等级划分,与系统相关的一些关键性操作必须由高级别的程序来完成,这样可以做到集中管理,减少冲突。
  • 两者的区别:内核态和用户态是操作系统的两种运行级别,总共有四种运行级别,分别为 R0、R1、R2和 R3。内核态权限最高,为 R0 级,用户态权限最低,为 R3 级。用户态运行用户程序,进程所能访问的内存空间和对象受到很大的限制,所占有的处理机可被抢占;内核态运行操作系统程序,能访问所有的内存空间和对象,所占有的处理机不可被抢占。

用户态和内核态的切换

  • 进程大部分时间运行在用户态下 ,在其需要操作系统帮助完成一些用户态特权以外的操作时就会切换到内核态 。 切换到内核态的方式有 : 系统调用(父进程fork一个子进程)、发生异常、外围设备中断。

你可能感兴趣的:(Linux)