函数调用与系统调用的区别
| 函数库调用 | 系统调用 | 
| 在所有的ANSI C编译器版本中,C库函数是相同的 | 各个操作系统的系统调用是不同的 | 
| 它调用函数库中的一段程序(或函数) | 它调用系统内核的服务 | 
| 与用户程序相联系 | 是操作系统的一个入口点 | 
| 在用户地址空间执行 | 在内核地址空间执行 | 
| 它的运行时间属于“用户时间” | 它的运行时间属于“系统时间” | 
| 属于过程调用,调用开销较小 | 需要在用户空间和内核上下文环境间切换,开销较大 | 
| 在C函数库libc中有大约300个函数 | 在UNIX中大约有90个系统调用 | 
| 典型的C函数库调用:system fprintf malloc | 典型的系统调用:chdir fork write brk; | 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号