由os执行的代码处于系统内核中,系统调用充当一个对这些代码的高/中级别的语言接口。为保护系统内核的完整性,执行系统调用的进程必须暂时地由用户模式(拥有用户访问权限)转换为系统模式(拥有系统访问权限),在某些情况下这一转换会带来一定的系统开销,从而使得对同一任务而言系统调用在执行效率上低于库函数调用。
注意:某些库函数已被嵌入到系统调用中,例如库函数调用scanf和printf使用系统调用read和write。
由os执行的代码处于系统内核中,系统调用充当一个对这些代码的高/中级别的语言接口。为保护系统内核的完整性,执行系统调用的进程必须暂时地由用户模式(拥有用户访问权限)转换为系统模式(拥有系统访问权限),在某些情况下这一转换会带来一定的系统开销,从而使得对同一任务而言系统调用在执行效率上低于库函数调用。
注意:某些库函数已被嵌入到系统调用中,例如库函数调用scanf和printf使用系统调用read和write。