首先理解一些概念:
计算机:由硬件和软件组成,软件部署在硬件之上,硬件是软件的载体
操作系统:是一个软件,是第一层直接和硬件接触的软件,是其他程序和硬件之间的接口
操作系统的作用:简单来说就是帮助计算机用户管理、使用软硬件资源
在这个基础之上,我们思考一下,用户操作使用计算机这个过程是如何实现的?
操作系统是计算机软硬件资源的管理者和分配者。
我们作为用户操作计算机就是要使用这些软硬件资源,那么是否需要征得操作系统这个BOSS的同意呢?当然需要
然而BOSS是你想见就能直接见的吗?BOSS都是隐藏在幕后最深处,我们无法直接和它打交道,只能通过操作系统对外提供的一些接口,这些接口就是系统调用接口
但是系统调用接口功能相对单一,先驱们为了人们使用方便,于是就对系统调用接口进行了封装,封装形成的就是库函数。
如何理解这个接口功能相对单一和封装呢?
很形象的一个比喻就是当你想要一碗油泼面,你需要获取面粉,水,然后和面,起锅烧水,煮面,捞起,加调料,烧油泼下去最后完成了得到一碗油泼面的的任务。这个过程的每一个步骤都是一个系统调用接口,当我们向完成一件事需要调用很多的接口,这样使用起来就非常的不友好,因此有人替我们负重前行,将这些系统调用接口进行了封装。
这就像是在面馆,你想要一碗油泼面,你只需告诉面馆老板来碗油泼面,制作油泼面的步骤你不必一一执行。在面馆的后厨,你看不见的地方,他们就已经做好了。
在Windows操作系统下,最常见的shell命令就是对于鼠标的操作
当我们想打开一个文件时
(1)只需鼠标左键双击该文件即可,当然我们也有其他的打开方式
(2)鼠标右键单击该文件,移动鼠标光标到打开选项再单击鼠标左键也可以打开
(3)还可以通过cmd+R打开DOS命令窗口通过敲击命令来打开。
可以发现,这三种方式越来越复杂,同样的功能经过封装,提供到用户这里就越来越友好