一个简单的中断处理过程是:根据中断号,查找中断表从而执行相应的中断服务例程;
在应用程序调用操作系统API时,控制权由应用程序交给了操作系统。用户态向内核态的转换实际上说的是CPU。CPU在用户态时,会限制使用一些指令,比如用户态的CPU不能直接操作硬件,当CPU(应用程序调用API)进入内核态时,CPU就可以使用一些“特权指令”了。
需要注意的是,调用API是需要有一些开销的,比如操作系统会把用户态的数据再拷贝一份,造成空间的浪费,但是这种开销是值得的,因为使得操作系统更加稳定。
一个简单的中断处理过程是:根据中断号,查找中断表从而执行相应的中断服务例程;
在应用程序调用操作系统API时,控制权由应用程序交给了操作系统。用户态向内核态的转换实际上说的是CPU。CPU在用户态时,会限制使用一些指令,比如用户态的CPU不能直接操作硬件,当CPU(应用程序调用API)进入内核态时,CPU就可以使用一些“特权指令”了。
需要注意的是,调用API是需要有一些开销的,比如操作系统会把用户态的数据再拷贝一份,造成空间的浪费,但是这种开销是值得的,因为使得操作系统更加稳定。