题19

题目

Q:下列关于库函数和系统调用的说法中, 不正确的是 ( )。
A. 库函数运行在用户态, 系统调用运行在内核态
B. 使用库函数时开销较小, 使用系统调用时开销较大
C. 库函数不方便替换, 系统调用通常很方便被替换
D. 库函数可以很方便地调试, 而系统调用很麻烦

分析

A:库函数应该是被系统调用封装起来的更高、更抽象的概念,怎么还能开销更小呢
我选B

C
库函数是指被封装在库文件中的可复用的代码块, 运行在用户态;
而系统调用是面向硬件的, 运行在内核态, 是操作系统为用户提供的接口。
库函数可以很方便地调试, 而系统调用很麻烦, 因为它运行在内核态。
库函数可以很方便地替换, 而系统调用通常不可替换。
库函数属于过程调用, 开销较小;
系统调用需要在用户空间和内核空间中进行上下文切换, 开销较大。