
【计】 supervisor call instruction
访管指令(Supervisor Call Instruction,简称SVC 或System Call)是计算机操作系统中的核心机制,指用户程序通过特定指令主动请求操作系统内核(Supervisor)提供服务或资源的一种交互方式。其本质是用户态(User Mode)向内核态(Kernel Mode)的安全切换桥梁。
中英文术语对照
syscall
指令)。作用机制
用户程序执行访管指令时,CPU自动触发以下流程:
示例:Linux系统中 int 0x80
(x86)或 svc #0
(ARM)指令触发系统调用。
设计目的
《计算机操作系统(第四版)》(汤小丹等编著)
“访管指令是一种在用户程序中使用的、引起处理器从目态(用户态)转换到管态(内核态)的特殊指令,用于请求操作系统服务。”
来源:第2章 进程管理,2.3节 中断与系统调用
IEEE Standard Glossary(IEEE Std 610.12-1990)
“Supervisor call (SVC): An instruction that interrupts the program being executed and passes control to the supervisor so that it can perform a specific service requested by the program.”
来源:IEEE计算机术语标准
ARM Architecture Reference Manual
“TheSVC instruction is used to enter Supervisor mode to request privileged operations or access to system resources from an operating system.”
来源:ARMv8-A架构文档,Chapter B1.3.3
open
函数 → 触发 sys_open
系统调用。fork
函数通过访管指令创建新进程。此机制是操作系统实现“保护环”(Protection Rings)模型的基础,确保系统稳定性与多任务安全隔离。
访管指令是操作系统中的关键机制,用于用户程序与系统服务的安全交互。以下是详细解释:
1. 定义与作用
访管指令(Supervisor Call Instruction)是用户态(目态)下可执行的指令,允许程序主动请求操作系统服务(如文件操作、设备访问等)。当用户程序需要执行特权功能时,编译程序会在目标代码中插入访管指令,并设置参数。执行该指令会触发自愿中断,使CPU从用户态切换为核心态(管态),由操作系统处理请求。
2. 与特权指令的区别
3. 工作流程
SVC n
,n为服务类型编号);n
,调用对应的系统服务程序;4. 引入原因
用户程序在目态下无法直接执行特权操作(如硬件访问)。访管指令作为“桥梁”,既满足功能需求,又通过中断机制隔离用户与内核,避免非法操作。
示例场景
当程序调用printf()
时,编译器生成包含访管指令的代码,触发中断后由操作系统处理输出请求,完成后返回用户态继续执行。
不露声色电子束记录动物进化多形的费米-狄拉克积分分品复接弗来铭阀公断解决关断时间胍乙基磷酸丝氨酸轨迹环己锡浑沌甲·乙酮结构命令腊特克氏柱普通护士氰氨式氮韧皮纤维熔铁炉衰竭性休克四计数器机死者名册挑起争端的言词外部运算外指示剂蛙科未分配材料成本