学习笔记 | 用户态到内核态的转化原理

01 请你说一说用户态和内核态区别

  • 为了区分不同的程序的不同权限,人们发明了内核态用户态的概念。
  • 用户态和内核态是操作系统的两种运行级别,两者最大的区别就是特权级不同。用户态拥有最低的特权级,内核态拥有较高的特权级。 运行在用户态的程序不能直接访问操作系统内核数据结构和程序。
  • 内核态和用户态之间的转换方式主要包括:系统调用,异常和中断。

02 操作系统为什么要分内核态和用户态

  • 为了安全性。在cpu的一些指令中,有的指令如果用错,将会导致整个系统崩溃。分了内核态和用户态后,当用户需要操作这些指令时候,内核为其提供了API,可以通过系统调用陷入内核,让内核去执行这些操作。

03 内核态和用户态

  • 内核态就是拥有资源多的状态,或者说访问资源多的状态,称为特权态
  • 用户态就是非特权态,在此种状态下访问的资源将受到限制。
  • 如果一个程序运行在特权态,则该程序就可以访问计算机的任何资源,即它的资源访问不受限制。如果一个程序运行在用户态

你可能感兴趣的:(#,操作系统,用户态,内核态)