当前位置: 技术问答>linux和unix
linux中time命令的疑问
来源: 互联网 发布时间:2016-10-28
本文导语: 我执行了如下命令: time cp copy_system newfile 回显结果为: real 0m0.01s user 0m0.00s sys 0m0.01s 上面这几个时间表示的意义我都了解了,但我很纳闷,执行那个命令用不到用户态的CPU吗?只用到了系统态...
我执行了如下命令:
time cp copy_system newfile
回显结果为:
real 0m0.01s
user 0m0.00s
sys 0m0.01s
上面这几个时间表示的意义我都了解了,但我很纳闷,执行那个命令用不到用户态的CPU吗?只用到了系统态的CPU?还有,上面时候会用到用户态的CPU,什么时候会用到系统态的CPU?是不是设计到系统调用的都会用系统态的CPU,凡是设计到用户写的程序而不是操作系统自带的cp ls 这些命令就会用到用户态呢?
time cp copy_system newfile
回显结果为:
real 0m0.01s
user 0m0.00s
sys 0m0.01s
上面这几个时间表示的意义我都了解了,但我很纳闷,执行那个命令用不到用户态的CPU吗?只用到了系统态的CPU?还有,上面时候会用到用户态的CPU,什么时候会用到系统态的CPU?是不是设计到系统调用的都会用系统态的CPU,凡是设计到用户写的程序而不是操作系统自带的cp ls 这些命令就会用到用户态呢?
|
程序在内核空间执行(系统调用)就是系统态,在用户空间执行就是用户态。
cp这个命令主要涉及磁盘操作,所以大部分时间都是系统调用状态。用户态0.00s不见得真的是0,而是一个极其短的时间。
用户写的程序,很多时候在你不知道的情况下也有系统调用。比如一个简单的printf,也得通过系统调用才能输出到显示器。
如果是这种 for (i=0; i
cp这个命令主要涉及磁盘操作,所以大部分时间都是系统调用状态。用户态0.00s不见得真的是0,而是一个极其短的时间。
用户写的程序,很多时候在你不知道的情况下也有系统调用。比如一个简单的printf,也得通过系统调用才能输出到显示器。
如果是这种 for (i=0; i