时间值

UNIX系统使用两种不同的时间值:

1. 日历时间。该值为1970年1月1日00:00:00以来国际标准时间(UTC)所经过的秒数。

系统基本数据类型time_t用于保存这种时间值。

2. 进程时间。也成CPU时间,用来度量进程中使用的CPU资源。进程时间以时钟滴答计算。

系统基本数据类型clock_t用于保存这种时间值。


度量一个进程的执行时间时,UNIX系统使用3个进程时间值:

1. 时钟时间

2. 用户CPU时间

3. 系统CPU时间

其中时钟时间也成“墙上时钟时间(wall clock time)”。它是进程运行的时间总量,值与系统中同时运行的进程数有关。

用户CPU时间时执行用户指令所用的时间。

系统CPU时间时为该进程执行内核程序所用时间。


用户CPU时间和系统CPU时间之和称CPU时间。


如何进程都可以调用times函数来获取它自己及已终止子进程的3个进程时间值。

#include <sys/times.h>

clock_t  times(struct  tms  *buf);

//成功返回流逝的墙上时钟时间(单位:时钟滴答数)。出错返回-1。


tms结构如下:

struct  tms{

   clock_t  tms_utime;     //user CPU time

   clock_t  tms_stime;    //system CPU time

   clock_t  tms_cutime;  //user CPU time, terminated children

   clock_t  tms_cstime;  //system CPU time, terminated children

};

tms结构不包含墙上时钟时间,但times函数可以返回墙上时钟时间。

tms中的clock_t值可以通过比上 sysconf(_SC_CLK_TCK)变换成秒数。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值