系统命令与系统调用

什么是系统命令
系统命令是存在于文件系统上的一个可执行文件。使用系统命令可以完成特定的系统任务。如ls命令可以显示目录下的文件列表,free命令可以查看内存信息。

这里写图片描述

这里写图片描述

函数的集合
一般系统命令都是使用c语言编写的。用c语言编写的程序的代码区可以看成一个函数的集合。系统命令通过执行一个个函数完成任务。
系统命令与系统调用_第1张图片

特殊的函数
程序执行之前其实已经拥有了一个函数列表,他们存在于内核,需要使用特殊的方式调用。这就是系统调用。
系统调用是内核提供的一组特殊函数。通过系统调用可以完成对系统的操作。这是普通函数无法完成的。
系统调用包含了对系统可操作的集合,可以按照类别对系统调用分类。

系统命令与系统调用_第2张图片

系统命令与系统调用
系统命令在完成任务时需要使用某些系统调用,这是系统命令的作用决定的。如ls需要使用关于文件系统的调用,free需要获取内存信息。

系统命令在使用系统调用时会将系统调用封装成API使用。如输出字符时,会使用printf,而不会使用write。

你可能感兴趣的:(linux命令)