跳转至

FAQ

rusage 的 ru_utimeru_stime 有什么区别?

来源

操作系统出现的原因就是为了在同时运行多个程序时可以共享对硬件的访问。

CPU 时间有时候花费是在运行用户的程序上,而有时候花费在进行系统调用(syscall)上(比如从磁盘或键盘读取数据)。

运行用户程序的时间被标记为「用户时间」,进行系统调用的时间被标记为「系统时间」。二者分别是 rusageru_utimeru_stime

所有涉及访问硬件的行为都是在名为内核模式(Kernel Mode)的特殊模式下完成的。

你的程序不允许直接接触硬件(例如磁盘);你必须通过请求操作系统来完成接触硬件的操作。

而且,你的程序也不被允许直接进入内核模式。如果你想从磁盘读取文件,那你必须通过请求操作系统提供的特定服务来完成这个行为。

这就是操作系统如何调节硬件的使用。