软中断实质上就是为了让cpu停止当前执行的cs:ip所指向的指令,而转去根据中断向量表计算出下一步执行的指令位置。
这种中断方式是CPU已知的,例如intel x86系统有自己的中断处理方式。
那么,操作系统Windows\ Linux是如何根据这种软中断约定,编写内核级的系统调用呢?是依据x86的内核标准编写的吗?依据x86软中断执行特点,从而设计了R3到R0的跨越方法吗?
软中断实质上就是为了让cpu停止当前执行的cs:ip所指向的指令,而转去根据中断向量表计算出下一步执行的指令位置。
这种中断方式是CPU已知的,例如intel x86系统有自己的中断处理方式。
那么,操作系统Windows\ Linux是如何根据这种软中断约定,编写内核级的系统调用呢?是依据x86的内核标准编写的吗?依据x86软中断执行特点,从而设计了R3到R0的跨越方法吗?