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