[recovery mode] Находим код системного вызова mkdir
Еще в первый год моего знакомства с Ubuntu, мне стало интересно, как же работает ядро этой ОС. Я решил со всей серъезностью во всем разобратся, скачал 80-мегабайтовый архив исходников, и… всё! Я не знал ни с чего начать, ни чем закончить. Открывал поочереди случайные файлы и тут же терялся. Думаю такое случалось с каждым бывалым линуксоидом. Сейчас же я набрался опыта и хотел бы им поделиться.В этой статье я раскажу, как я искал код системного вызова mkdir.
Начнем с того, что функция mkdir определена в
sys/stat.h
. Прототип выглядит следующим образом:/* Create a new directory named PATH, with permission bits MODE. */
extern int mkdir (__const char *__path, __mode_t __mode)
__THROW __nonnull ((1));
Этат заголовочный файл является частью стандарта POSIX. Linux является почти полностью POSIX-совместим, а значит должен реализовывать mkdir именно с такой сигнатурой.
Но даже зная сигнатуру, найти собственно код системного вызова вовсе не просто…
Читать дальше →