Режим ядра Linux Vs User Mode

Например

ls -l passwd
-rw-r--r-- 1 root root 1402 2008-03-30 17:49 passwd

Это число (1) на самом деле является счетчиком ссылок файла при ссылке на файл или количеством содержащихся в нем записей каталога при обращении к каталогу (включая записи. И .. ).

Также, например,

ls -i /etc/passwd
8654127 /etc/passwd

Это номер inode для / etc / passwd. Теперь вы можете узнать, сколько ссылок на самом деле связано с этим номером inode 8654127 с помощью:

find /etc/ -inum 8654127
/etc/passwd

В моем примере это только / etc / passwd, так что вы можете сделать для своего случая:

find / -inum 592255
1
29.01.2019, 11:31
1 ответ

does it issue a system call to the kernel and the kernel runs the code on its behalf and passes the information back to the process ? or does the kernel put the process in a privileged mode and now the process itself is running in kernel mode and has access to whatever resources he requested ?

Да. Любой из вышеперечисленных, в зависимости от системного вызова.

Иногда процесс переходит в режим ядра и выполняет определенные действия. Иногда потоки ядра выполняют работу, особенно связанную с вводом-выводом и файловой системой. Для gettimeofday()vDSO означает, что он просто считывает значение, не обращаясь к пространству ядра.

Прочтите статьи, посвященные интерфейсу системных вызовов, такие как Анатомия системных вызовов LWN . Зависит от архитектуры, поэтому детали Linux на x86 не переносятся на другие операционные системы или типы процессоров. Но, вероятно, имеют схожие понятия.

Используйте инструменты профилирования , чтобы увидеть, как выглядят стеки для вашей рабочей нагрузки. Получите представление о % «системного ЦП», типичном для вашей рабочей нагрузки.

1
27.01.2020, 23:42

Теги

Похожие вопросы