linux基础问题:svc -d servicesoftsh svc -u servicesoftsh 是什么意思啊?麻烦大虾们指点

linux基础问题:svc -d servicesoftsh svc -u servicesoftsh 是什么意思啊?麻烦大虾们指点,第1张

svc -u是启动

svc -d 是停止

svc -t是重启

对象应该就是/service/softsh/下面的脚本吧。

svc(8) svc(8)

NAME

svc - controls services monitored by supervise(8).

SYNOPSIS

svc [ -udopchaitkx ] services

DESCRIPTION

services consists of any number of arguments, each argu-

ment naming a directory used by supervise(8).

svc applies all the options to each service in turn.

OPTIONS

-u Up. If the service is not running, start it. If the

service stops, restart it.

-d Down. If the service is running, send it a TERM

signal and then a CONT signal. After it stops, do

not restart it.

对ARM来说,当发生中断的时候,CPU进入的是中断mode, 只是Linux在SVC mode下处理中断了. 当然,理论上来说,不在SVC下,而在 中断mode下处理也可以。我猜想Linux这样做的原因是,Linux要兼容绝大多数的ARCH,每一个ARCH相关的代码都放在arch/目录下,比如ARM是放在arch/arm下。所以,如果arm要是不利用现有Linux的框架,把绝大多数的代码都放在arch/arm下(中断处理的代码也放在arch/arm下的irq mode中处理),那linux就非常臃肿。所以,arm Linux为了最大程度的利用Linux已有的架构,就放在SVC模式下处理了(Linux最早是在i386上开发的,i386只利用了2个ring, 即,ring0 和 ring 3, ring 0,对应于ARM的svc mode)。 事实上,到了现在的ARMV8,AARCH64已经取消了这么多的MODE,而采取了4个Level, 分别是 0,1,2,3. 对于OS来说,支持0和1 两个Level就可以了, Level 2 是用于虚拟化,Level 3 是用于monitor.

当fiq中断发生的时候,也会进入FIQ mode, 只是 在ARM SOC中,很少有FIQ的外设。所以,Linux中,没有对FIQ进行处理,但接口还是有的。

您好,在Linux应用程序中直接内嵌汇编调用svc会有一些不同的结果。首先,svc会使用特定的指令来调用系统调用,这可能会对应用程序的性能产生影响,因为它会消耗更多的时间来执行指令。其次,svc还会改变应用程序的控制流,因为它会调用系统调用,而不是直接执行应用程序的指令。最后,svc还会改变应用程序的内存布局,因为它会在应用程序的内存中添加新的指令,这可能会影响应用程序的性能。因此,在Linux应用程序中直接内嵌汇编调用svc会有一些不同的结果,因此在使用svc之前应该考虑这些影响。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7161054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存