Найти в Дзене
Погружение в Linux #4: о помощнике ядра и палках
Так, давненько я не калякал, учеба в меде она такая. В последний раз мы остановились на том, что же делает ядро с процессами. Так вот, в этом подспорье у ядра есть помощник – модуль управления памятью (MMU), который реализует такую интересную фичу как виртуальная память. В стандартной ситуации, когда у нас нету виртуальной памяти, программа, пытаясь считать/записать те или иные данные, обращается к физическому адресу ОЗУ, т.е. обращается к ячейке, которая располагается непосредственно в микросхеме памяти планки...
4 года назад
Погружение в Linux #1
Для описания устройства линукса удобно использовать абстракции, т.е. вместо того, чтобы держать в голове кучу инфы о той или иной части ОС (операционной системы), мы просто будем учитывать лишь то, что важно именно в данный момент (например, учитываем только какие данные входят в тот или иной блок и какие выходят. Какие преобразования над данными происходят внутри блока нас не интересуют). Пример из жизни – достань свой смартфон. Ты наверняка точно не знаешь, как он внутри функционирует, но это не мешает тебе его использовать. В контексте нашего повествования в качестве абстракции будем использовать...
4 года назад
Погружение в Linux #2
Среди аппаратных средств начнём с оперативной памяти аКа ОЗУ (оперативное запоминающее устройство). Оно является хранилищем, в котором лежат единички да нолики или, иначе, биты. Запущенное Ядро вместе с процессами находятся именно в ОЗУ и являются лишь наборами бИтов. Над памятью шаманит процессор – он считывает из неё инструкции и данные, а затем результат обратно записывает в память. Сейчас в нашу студию врывается новый термин – состояние. Его можно будет применять к памяти, процессам, ядру и т.п. Раз процессы, ядро и всё остальное программное является лишь последовательностью битов, то под...
4 года назад
Погружение в Linux #3
Настал черед Ядра. Оно в основном отвечает за разделение памяти на подразделы и их контроль. Часть контроля заключается в том, чтобы не дать процессам отхватить памяти сверх того, что для них выделено. В общем, не дает коровам выйти из своего загона. Вдобавок следит за количеством оставшейся свободной памяти. Помимо управления памятью оно контролирует доступ процессов к ЦП, выступает в качестве связующего звена между аппаратными средствами и процессами (например, по просьбе процесса ядро производит запись данных на жесткий диск). Как ядро управляет процессами. Под управлением будем понимать запуск, остановку, возобновление и прекращение работы процесса...
4 года назад