首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >系统调用vs系统程序

系统调用vs系统程序
EN

Stack Overflow用户
提问于 2013-08-17 10:09:39
回答 4查看 8.8K关注 0票数 4

我只是在读系统程序(有时称为系统实用程序)。然后我开始怀疑系统调用和系统程序之间的区别是什么?

EN

回答 4

Stack Overflow用户

发布于 2013-08-17 10:22:57

系统调用看起来像是从程序中调用的函数。系统调用的示例包括:

  • open()
  • close()
  • read()
  • write().

系统实用程序是一个完整的程序,您可以从shell提示符、shell脚本或(可能令人困惑的)C中的system()函数(在其他系统调用中使用fork()execv())执行该程序。

示例命令(系统实用程序)包括:

  • cat
  • ls
  • date
  • make

因此,系统调用在程序中使用;系统实用程序就是程序。

票数 4
EN

Stack Overflow用户

发布于 2013-08-17 10:24:55

系统程序是可执行文件,而系统调用是与操作系统功能交互的C例程,可以编译成系统程序。

例如,'ls‘和'/bin/hostname’是可执行的系统程序:

代码语言:javascript
复制
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程序提供输出的同一调用。

票数 1
EN

Stack Overflow用户

发布于 2015-10-26 07:05:18

系统调用是将在用户和内核之间的部分中调用的函数的列表。但是系统程序是可以做系统工作的程序,比如:改变系统设置。访问注册表。访问内存。访问磁盘等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18284429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档