用户模式与内核模式
操作系统中有两种操作模式以确保其正常工作。它们是用户模式和内核模式。
解释如下:
用户模式
当操作系统正在运行用户应用程序(例如处理文本编辑器)时,系统处于用户模式。当应用程序请求操作系统的帮助或发生中断或系统调用时,就会发生从用户模式到内核模式的转换。
在用户模式下,模式位设置为 1。从用户模式切换到内核模式时,它会从 1 更改为 0。
内核模式
系统在启动时以内核模式启动,并且在操作系统加载后,它以用户模式执行应用程序。有一些特权指令只能在内核模式下执行。
这些是中断指令、输入输出管理等。如果在用户模式下执行特权指令,则是非法的,并且会生成一个陷阱。
在内核模式下,模式位设置为 0。从内核模式切换到用户模式时,它会从 0 更改为 1。
说明从用户模式到内核模式以及反向转换的图像如下:
在上图中,用户进程在用户模式下执行,直到它获得系统调用。然后生成系统陷阱并将模式位设置为零。系统调用在内核模式下执行。执行完成后,再次生成系统陷阱并将模式位设置为 1。系统控制返回到内核模式,并且进程执行继续。
操作系统中双模式(用户模式和内核模式)的必要性
操作系统中缺乏双模式(即用户模式和内核模式)会导致严重问题。其中一些是:
- 正在运行的用户程序可能会意外地通过用用户数据覆盖操作系统来擦除操作系统。
- 多个进程可以同时写入同一系统,从而导致灾难性后果。
这些问题可能发生在 MS-DOS 操作系统中,该操作系统没有模式位,因此没有双模式。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP