08 读书笔记:第1章 UNIX基础知识 (7)

1.10 时间值

        长期以来,UNIX系统一直使用两种不同的时间值:

                (1) 日历时间。该值是自1970年1月1日00:00:00以来国际标准时间(UTC)所经过的秒数累计值。系统基本数据类型time_t用于保存这种时间值。

                (2) 进程时间。这也被称为CPU时间,用以度量进程使用的中央处理器资源。进程时间以时钟滴答计算。系统基本数据类型clock_t用于保存这种时间值。sysconf函数可以获得每秒钟的滴答数。

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

                (1) 系统时间。系统时间又称为墙上时钟时间。它是进程运行的时间总量,其值与系统中同时运行的进程数有关。

                (2) 用户CPU时间。用户CPU时间是执行用户指令所用的时间。

                (3) 系统CPU时间。系统CPU时间是为该进程执行内核程序所经历的时间。

        可以通过执行time命令获取任一进程的时钟时间、用户时间和系统时间。

$ time dir
01    02    03	  04	05    06    06_1.c  07	  08	Makefile
01.c  02.c  03.c  04.c	05.c  06_1  06.c    07.c  08.c

real	0m0.005s
user	0m0.002s
sys	0m0.004s

PS:

        系统时间,用户CPU时间,系统CPU时间有点迷糊,于是在网上查了下:

                来源:http://www.linuxsa.cn/unixlinux-environment-real-time-user-time-and-time.html

                real:指墙上时间(wall clock time),也就是进程从开始到结束所用的实际时间,这个时间包括其他进程使用的时间片和进程阻塞的时间(比如等待I/O完成)。

                user:指进程执行用户代码(核心之外)所使用的时间,这是执行此程序所消耗的实际CPU时间,其他进程和此进程阻塞的时间并不包括在内。

                sys:指进程在内核态消耗的CPU时间,即在内核执行系统调用所使用的CPU时间。

                user+sys:为进程所使用的实际CPU时间。

你可能感兴趣的:(读书笔记,《UNIX环境高级编程》)