一、linux结构图简要分析
典型的linux结构如图:
操作系统与内核基本上是相同的,只不过操作系统在内核的基础上还有一些延伸,包括了提供基础服务的组件。操作系统对下通过驱动程序管理硬件。对上的话则暴露出来一些接口,供上层调用,这些接口就叫做系统调用。shell是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机交互界面。库函数是在系统调用的基础上经过扩展和封装。
可以看到,有两种调用函数的方式。一种是系统调用,系统调用是操作系统的一部分 ,它在内核空间中执行。另一种是库调用,函数库调用是语言或应用程序的一部分,它在用户空间中执行。
二、系统调用和库函数调用
下面来看看这两种方式有什么不同:
实际上,库函数是对系统调用的一层封装,因此在用库函数对文件操作的时候,必然会引起系统调用。也就是说ÿ