系统调用和系统程序

时间:2013-08-17 02:09:39

标签: linux unix

我刚刚阅读有关系统程序(有时称为系统实用程序)的内容。然后我怀疑系统调用和系统程序之间的区别是什么?

5 个答案:

答案 0 :(得分:3)

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

系统实用程序是一个完整的程序,您可以从shell提示符,shell脚本中执行,或者(可能容易引起混淆)通过C中的system()函数执行(后者在其他系统调用中使用, fork()execv())。

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

因此,系统调用在程序中使用;系统工具是程序。

答案 1 :(得分:1)

系统程序是可执行文件,而系统调用是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系统调用,实际上是用于为主机名程序提供输出的相同调用。

答案 2 :(得分:1)

系统调用与系统程序之间的区别

系统调用

  • 系统调用提供了进程与操作系统之间的接口。
  • 系统调用允许用户级别的进程从操作系统请求某些服务,而这些服务本身不允许这样做
  • 通常以高级语言编写
  • 系统调用是计算机的编程方式 程序从运行内核请求服务 系统在

  • 上执行
  • 系统调用的类型(过程控制,文件管理,设备管理,信息维护,通信,保护)

系统程序

  • 系统程序为以下人员提供了便利的环境 程序开发和执行。
  • 大多数用户对操作系统的看法是由 系统程序,而不是实际的系统调用
  • 它们可以分为-(文件操作 ,状态信息 ,文件修改 ,编程语言支持 ,程序加载和执行 ,通讯 ,应用程序)

答案 3 :(得分:0)

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

答案 4 :(得分:0)

系统调用提供了进程与操作系统之间的接口。系统调用允许用户级别的进程从OS请求某些服务,而进程本身不允许这样做。在处理陷阱时,操作系统将进入内核模式,在该模式下,它可以访问特权指令,可以代表用户级进程执行所需的服务。