这里不是去说系统调用、函数和程序的含义,这些网上有太多定义,但是如何结合现实生活中的事物去更好的理解它们呢?这就是我要说的。


什么是系统调用:就好像是组成汉字的笔画,无论是哪个汉字,所能用到的笔画就那几个,它是组成汉字的最小单位。

什么是库函数:就是笔画不同组合形成的众多汉字,它是文章组成的最小单位。

什么是程序:就是用不同汉字写成的不同形式的文章,诗词歌赋等等。


系统调用是对内核功能的调用,而系统调用也是内核最小的功能实现单位,但是如果让程序员开发程序去直接使用系统调用是否可以呢?答案是肯定的,但是效率太低,一个简单的功能就要使用多个系统调用来实现,这显然是顾此失彼,这就好像你要写一首诗,结果你得先用笔画造字然后在写诗。所以就有了库函数,函数实现了程序开发中常用的基本功能,就是一个造字过程。程序员开发程序如果要想使用内核的功能那么他直接去使用库函数就好了,他不用去关心这些函数里面是由哪些系统调用组成的。这就大大提高了编程效率,同时也可以让程序员把更多精力放在程序本身上。