La diferencia es si el tiempo se gasta en el espacio del usuario o en el espacio del kernel. El tiempo de CPU del usuario es el tiempo que pasa en el procesador que ejecuta el código de su programa (o código en bibliotecas); El tiempo de CPU del sistema es el tiempo empleado en ejecutar código en el núcleo del sistema operativo en nombre de su programa.
@ user472221 dll es un concepto de Win. Su pregunta no está limitada al sistema operativo
Dr. belisarius
1
@ user472221 Mi respuesta se basa en UNIX / Linux; el mismo concepto debería aplicarse en Windows. Supongo que la mayoría de los archivos DLL son espacio de usuario, aunque no estoy seguro de dónde traza la línea Windows. Si realmente quiere saber dónde está usando su programa el tiempo de CPU, use un generador de perfiles.
Michael Ekstrand
1
¿Es "espacio de usuario" y "espacio de kernel" lo mismo que "modo de usuario / kernel"? Si el kernel se está ejecutando, pero en modo de usuario, ¿esta cuenta como hora del usuario o hora del sistema? ¿O es esto una diferencia práctica solo cuando se usa un microkernel?
Antonis Christofides
¿Por qué hacer la distinción de usuario o kernel? Por ejemplo, ¿el kernel tiene un solo subproceso, por lo que si mi proceso está atando el kernel con una llamada al sistema, entonces otros tienen que esperar?
JohnMudd
27
Tiempo de CPU del usuario : cantidad de tiempo que el procesador trabajó en el programa específico.
Tiempo de CPU del sistema : cantidad de tiempo que el procesador trabajó en las funciones del sistema operativo conectadas a ese programa específico.
Organización y diseño de computadoras: la interfaz hardware / software - Por David A. Patterson, John L. Hennessy - Página 30
N Randhawa
1
Por lo tanto, es posible tener 0 tiempo del sistema para algún proceso si el kernel está libre de cualquier ejecución en el hilo específico si lo entiendo bien
HoCo_
22
El término "tiempo de CPU del usuario" puede ser un poco engañoso al principio. Para ser claros, el tiempo total (tiempo real de la CPU) es la combinación de la cantidad de tiempo que la CPU dedica a realizar alguna acción para un programa y la cantidad de tiempo que la CPU dedica a realizar llamadas al sistema para el kernel en nombre del programa. Cuando un programa recorre una matriz, está acumulando tiempo de CPU del usuario. Por el contrario, cuando un programa ejecuta una llamada al sistema, como exec o fork, está acumulando tiempo de CPU del sistema.
El tiempo de usuario es la cantidad de tiempo que la CPU estuvo ocupada ejecutando código en el espacio de usuario.
El tiempo del sistema es la cantidad de tiempo que la CPU estuvo ocupada ejecutando código en el espacio del kernel. Si este valor se informa para un hilo o proceso, entonces representa la cantidad de tiempo que el kernel estuvo trabajando en nombre del contexto de ejecución, por ejemplo, después de que un hilo emitió una llamada al sistema.
Respuestas:
La diferencia es si el tiempo se gasta en el espacio del usuario o en el espacio del kernel. El tiempo de CPU del usuario es el tiempo que pasa en el procesador que ejecuta el código de su programa (o código en bibliotecas); El tiempo de CPU del sistema es el tiempo empleado en ejecutar código en el núcleo del sistema operativo en nombre de su programa.
fuente
fuente
El término "tiempo de CPU del usuario" puede ser un poco engañoso al principio. Para ser claros, el tiempo total (tiempo real de la CPU) es la combinación de la cantidad de tiempo que la CPU dedica a realizar alguna acción para un programa y la cantidad de tiempo que la CPU dedica a realizar llamadas al sistema para el kernel en nombre del programa. Cuando un programa recorre una matriz, está acumulando tiempo de CPU del usuario. Por el contrario, cuando un programa ejecuta una llamada al sistema, como exec o fork, está acumulando tiempo de CPU del sistema.
fuente
Basado en wikipedia :
fuente