1

由于 I/O 指令是需要从用户模式切换到内核的特权指令,printf 是否也被视为特权指令?执行 printf 指令时是否有模式切换?

4

1 回答 1

0

printf 是否也被视为特权指令?

不,printf不是特权,也不是指令,它是函数调用。

执行 printf [函数调用] 时是否有模式切换?

是的,最终在 printf 内部它会执行一个write 函数调用,并将传递给内核模式。但是请注意,由于缓冲的原因,第一次调用时可能不会传递到内核模式printf,并且可能会延迟到缓冲区已满或被fflush调用。

于 2015-11-23T19:19:18.143 回答