Czy mógłbyś wyjaśnić więcej na temat „czasu procesora użytkownika” i „czasu procesora systemu”? Dużo czytałem, ale nie mogłem tego dobrze zrozumieć.
Czy mógłbyś wyjaśnić więcej na temat „czasu procesora użytkownika” i „czasu procesora systemu”? Dużo czytałem, ale nie mogłem tego dobrze zrozumieć.
Odpowiedzi:
Różnica polega na tym, czy czas jest spędzany w przestrzeni użytkownika, czy w przestrzeni jądra. Czas procesora użytkownika to czas spędzony na procesorze, który uruchamia kod programu (lub kod w bibliotekach); czas procesora systemu to czas spędzony na uruchamianiu kodu w jądrze systemu operacyjnego w imieniu programu.
Czas procesora użytkownika : ilość czasu, przez jaki procesor pracował nad określonym programem.
Czas procesora systemu : czas, przez jaki procesor pracował nad funkcjami systemu operacyjnego połączonymi z tym konkretnym programem.
Termin „czas procesora użytkownika” może na początku wprowadzać w błąd. Aby było jasne, całkowity czas (rzeczywisty czas procesora) jest połączeniem ilości czasu, jaki procesor poświęca na wykonanie jakiejś czynności dla programu i ilości czasu, jaki procesor spędza na wykonywaniu wywołań systemowych dla jądra w imieniu programu. Gdy program przechodzi w pętlę przez tablicę, gromadzi czas procesora użytkownika. I odwrotnie, gdy program wykonuje wywołanie systemowe, takie jak exec lub fork, gromadzi czas procesora systemu.
Na podstawie Wikipedii :
- Czas użytkownika to czas, przez jaki procesor był zajęty wykonywaniem kodu w przestrzeni użytkownika.
- Czas systemowy to czas, przez jaki procesor był zajęty wykonywaniem kodu w przestrzeni jądra. Jeśli ta wartość jest zgłaszana dla wątku lub procesu, to reprezentuje ilość czasu, przez jaki jądro wykonywało pracę w imieniu wykonywanego kontekstu, na przykład po tym, jak wątek wykonał wywołanie systemowe.