为秀
  • 首页
  • 新闻
  • 软件
  • 笔记
  • 问答
笔记

特权指令和非特权指令

祥林 ⋅ 2年前

对于一个单用户、单任务方式下使用的微型计算机系统,普通的非系统用户通常都可使用该计算机指令系统中的全部指令。但是在多用户或多任务的多道程序设计环境中,则它的指令系统中的指令必须区分成两部分:特权指令和非特权指令。

所谓特权指令是指:在指令系统中那些只能由操作系统使用的指令。这些特权指令是不允许一般的用户使用的,因为如果允许用户随便使用这些指令(如设置程序状态字、启动某设备、设置中断屏蔽、设置时钟指令、清内存指令和建立存储保护指令等等),就有可能使系统陷入混乱。

所以一个使用多道程序设计技术的计算机的指令系统中的指令必须区分为特权指令和非特权指令用户只能使用非特权指令,只有操作系统才能使用所有的指令(包括特权指令和非特权指令)。如果一个用户程序需要使用特权指令,一般将引起一次处理器状态的切换,这时处理器通过特殊的机制,将处理器状态切换到操作系统运行的特权状态,然后将处理权移交给操作系统中的一段特殊代码。这一个过程通常形象地称为陷人(Trap)。

如果在某种计算机的指令系统中不能区分特权指令和非特权指令,那么在这样的硬件环境下,要设计出一个具有多道程序运行的操作系统是相当困难的。至于处理器如何知道当前运行的是操作系统还是一般应用软件,则有赖于处理器状态的标识。

# 操作系统
- THE END -
0 0 share
本文由 @祥林 修订发布于 2020-11-15。
本文系作者 @祥林 原创发布在 为秀。未经许可,禁止转载。
PREV
处理器的构成与基本工作方式
NEXT
处理器的工作状态
相关文章
  • 深入理解计算机系统
  • 进程的状态与转换
  • ReentrantLock和synchronized两种锁定机制的对比
  • 计算机系统结构、计算机组成和计算机实现
  • 计算机系统的层次结构
  • 数据库系统的结构
评论 (0)
祥林 不忘初心,方得始终
标签
API (1) Atlassian (1) DAU (1) Elasticsearch是什么 (1) ElasticSearch集群健康 (1) ES是什么 (1) ES集群 (1) ES集群健康 (1) HTTPS (1) Jira (1) MAU (1) PV (1) QPS (1) raspberry-pi-CM4 (1) RestAPI (1) Spring Initializr (1) start.spring.io (1) TPS (1) UV (1) X11-forwarding (1) X协议 (1) 云端知识库 (2) 云计算 (2) 互连 (1) 关系数据库 (2) 内存 (1) 吞吐量 (1) 并发 (1) 并发数 (1) 搭建start.spring.io (1) 操作系统 (41) 数据库 (6) 树莓派 (3) 泛型 (1) 禅道 (1) 线程安全 (2) 网络分类 (1) 网络协议 (2) 计算机系统层次结构 (2) 计算机系统结构 (3) 计算机组成 (1) 计算机网络 (6) 软件测试 (1) 进程 (2) 项目管理 (2)
Copyright © 2020-2023 为秀. All rights reserved. 川公网安备 51019002002633号 蜀ICP备20007773号