Блог пользователя Kreativka


Повышаем скорость загрузки Linux с помощью e4rat

Львиную долю времени загрузки Linux-дистрибутива занимает загрузка файлов, необходимых для работы различных системных сервисов. Она происходит последовательно и индивидуально для каждого приложения или системного демона, что снижает общую производительность компонентов системы инициализации. Вместо того, чтобы отработать и отдать управление следующему компоненту, им приходится тратить время на ожидание. Современные системы инициализации, такие как Upstart и Systemd, частично решают эту проблему с помощью параллельного запуска компонентов системы, так что пока один компонент загружается в память, другой может спокойно работать. Кроме того, для ускорения загрузки используются инструменты под названием readahead (Fedora) и ureadahead (Ubuntu), которые составляют список используемых во время инициализации ОС файлов, и заблаговременно загружают их в память во время инициализации.

Подробности процесса загрузки Linux

Когда-то давно термин bootstrapping (загрузка) в компьютерной области означал загрузку бумажной ленты, на которой хранилась программа начальной загрузки, или же ввод программы начальной загрузки вручную при помощи расположенных на передней панели переключателей адреса/данных/управления. Современные компьютеры оборудованы устройствами, которые значительно упрощают процесс первоначальной загрузки – однако это не означает, что этот процесс является простым.

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

Общие сведения

На рисунке 1 показан вид с "высоты птичьего полета".

Рисунок 1. Вид на процесс начальной загрузки в Linux с высоты птичьего полета

Разработчик VServer отвечает на ваши вопросы

В: для начала, не могли бы вы рассказать немного о себе?

В университете я начал изучать Физику, но потом переключился на компьютеры. Закончил университет уже с дипломом кафедры ЭВМ (эквивалентом Магистра) и теперь продолжаю работать над своей докторской диссертацией.

Помимо программирования, моим хобби является жонглирование, бильярд, музыка, кино и электроника (это, кстати, не полный список).

В настоящее время я работаю на себя, предоставляя консалтинговые услуги в области информационных технологий. К счастью для меня, моя очаровательная жена: художница и скульптор, также является экспертом в области ИТ.

В: что же представляет из себя VServer?

Linux-VServer - это техника изолирования, по концепции очень схожая с Jails в BSD или контейнерами в Solaris. Она позволяет параллельно выполнять на одном сервере множество рабочих сред Linux, без какого-либо измеряемого падения в производительности.

В: как вы начали работать над этим проектом?

Перенос Red Hat Enterprise Linux 5 на System p

Введение

Переход на Linux обычно является шоком для большинства администраторов AIX. C одной стороны, Linux – просто один из вариантов UNIX®, с другой стороны – совершенно другой зверь. Администраторы UNIX, которые перешли с Solaris или HP-UX на AIX, поймут, о чем я говорю. Если уж UNIX не всегда UNIX (взгляните на различия между Solaris, HP-UX и AIX), то Linux тем более отличается от AIX. К тому же в случае с Linux у вас не будет возможности использовать smitty.

Шрифты в Linux (часть 2)

Принципы формирования цветного изображения на мониторе

Цветное изображение на дисплее монитора формируется из пикселов, а каждый пиксел состоит из компонентов трёх цветов — красного, зелёного и синего (red, green, blue), каждый из таких компонентов называется субпикселом. Существует несколько различных вариантов геометрии субпикселов, самые главные из них — это: ЭЛТ телевизора, ЭЛТ монитора, жидкокристаллический экран. Субпикселы на них располагаются следующим образом:

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

Шрифты в Linux (часть 1)

Введение

Перед тем, как приступить собственно к рассказу о шрифтовых подсистемах, необходимо сказать несколько слов об архитектуре графической подсистемы в целом. Как показал опыт, очень много пользователей Linux имеют слабое представление о принципах архитектуры системы, которой они пользуются.

История Linux и GNU

GNU без Linux
К 1990 году в рамках проекта GNU, основанного Ричардом Столлманом, были разработаны и постоянно развивались свободные программы, составляющие основной инструментарий для разработки программ на языке Си: текстовый редактор Emacs, компилятор языка Си gcc, отладчик программ gdb, командная оболочка bash, библиотека важнейших функций для программ на Си libc. Все эти программы были написаны для операционных систем, похожих на UNIX. Поэтому в них использовались стандартные для UNIX системные вызовы — POSIX. При помощи системных вызовов программы получают доступ к оперативной памяти, файловой системе, устройствам ввода и вывода. Благодаря тому, что системные вызовы выглядели более-менее стандартно во всех реализациях UNIX, программы GNU могли работать (с минимальными изменениями или вообще без изменений) в любой UNIX-подобной операционной системе.