Настройка и работа в Linux



              

Ядро Linux


Ядро выполняет множество полезной работы. Думаю, что правильно охарактеризовать его задачу можно так: оно заставляет железо выполнять задания программ точно, надежно и эффективно.

Процессор может единовременно выполнять только одну инструкцию, однако в системе Linux выполняются одновременно множество вещей. Ядро достигает этого быстрым переключением с задачи на задачу. Это приводит к лучшему использованию процессора, т.к. ядро отслеживает какие процессы готовы активно выполняться, а какие ожидают чего-либо вроде записи в файл или ввода с клавиатуры. Эта задача ядра называется scheduling.

Если программа ничего не делает -- её не надо держать в оперативной памяти. Если даже она что-то делает, могут найтись части, которые не делают ничего. Адресное пространство каждого процесса разделено на страницы. Ядро следит за тем, какие страницы каких процессов используются чаще. Редко используемые страницы могут быть перемещены в своп-раздел. Когда они понадобятся снова, другие неиспользуемые страницы перемещаются в своп, освобождая место в памяти. Это называется управлением виртуальной памятью.

Если вы уже компилировали своё собственное ядро, вы должны были заметить множество опций для различных устройств. Ядро содержит множество специального кода для взаимодействия с разнообразными видами железа и представляет все это для приложений достаточно простым и стандартным способом.

Ядро также управляет файловой системой, межпроцессным взаимодействием и всей этой сетевой кухней.

Будучи загруженным в память, первой задачей ядра является поиск и запуск программы init.




Содержание  Назад  Вперед