我刚刚阅读有关系统程序(有时称为系统实用程序)的内容。然后我怀疑系统调用和系统程序之间的区别是什么?
答案 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请求某些服务,而进程本身不允许这样做。在处理陷阱时,操作系统将进入内核模式,在该模式下,它可以访问特权指令,可以代表用户级进程执行所需的服务。