我只是在读系统程序(有时称为系统实用程序)。然后我开始怀疑系统调用和系统程序之间的区别是什么?
发布于 2013-08-17 10:22:57
系统调用看起来像是从程序中调用的函数。系统调用的示例包括:
open(),close(),read(),write().系统实用程序是一个完整的程序,您可以从shell提示符、shell脚本或(可能令人困惑的)C中的system()函数(在其他系统调用中使用fork()和execv())执行该程序。
示例命令(系统实用程序)包括:
catlsdatemake因此,系统调用在程序中使用;系统实用程序就是程序。
发布于 2013-08-17 10:24:55
系统程序是可执行文件,而系统调用是与操作系统功能交互的C例程,可以编译成系统程序。
例如,'ls‘和'/bin/hostname’是可执行的系统程序:
sh-3.2$ ls -l /bin/hostname
-rwxr-xr-x 1 root wheel 14304 Jul 14 11:03 /bin/hostname
sh-3.2$ /bin/hostname
mycomputer如果您查看主机名的手册页,它会将您引向'gethostname(3)‘,这是一个C系统调用,实际上也是用于为hostname程序提供输出的同一调用。
发布于 2015-10-26 07:05:18
系统调用是将在用户和内核之间的部分中调用的函数的列表。但是系统程序是可以做系统工作的程序,比如:改变系统设置。访问注册表。访问内存。访问磁盘等。
https://stackoverflow.com/questions/18284429
复制相似问题