一、系统调用与 API
1. 系统调用(SYSTEM CALLS)
注意:程序开发是透过API函数,间接访问了系统调用。
2. 标准C程序的实例
1) 首先,C程序调用 API函数 printf;
2)printf 函数的调用引发了对应的系统调用write的执行;
3)write执行结束时的返回值传递回用户程序;
二、操作系统的模式
1. 双重模式(DUAL MODE)
- 现代计算机系统有一个特殊的硬件,用于划分系统的运行状态,至少需要两种单独运行模式:
- 用户模式(user mode):执行用户代码
- 内核模式(kernel mode):执行操作系统代码
- 目的:确保操作系统正确的运行
- 实现方式
- 用一个硬件模式位来表示当前模式:0表示内核模式,1表示用户模式
2. 运行模式的切换
- 程序执行流刚开始在“用户模式”运行,当发生系统调用的时候,需要从“用户模式”切换到“内核模式”运行。
- 这种模式切换的机制称为:陷阱(Trap)机制。
三、系统调用的实现机制
注:源自B站up主:Y4NGY