• fq - этот планировщик равномерно планирует операции ввода-вывода (получается 'местная' очередь). Используется по умолчанию.
• anticipatory (сокращенно as) - этот планировщик будет пытаться угадать следующую инструкцию программы. В этом случай производительность той или иной программы зависит от ее алгоритма, т.е. оттого, угадает ли планировщик следующий 'ход' программы.
• deadline - планируются 'крайние сроки' выполнения той или иной операции. Больше подходит для сервера, поэтому на рабочих станциям и домашних компьютерах его лучше не использовать.
Итак, сделаем выводы. Планировщики noop и deadline нам не годятся. Остается использовать или планировщик по умолчанию - cfg, или 'планировщик-предсказатель'. Попробуйте использовать anticipatory: если производительность системы понизится, всегда можно вернуться к cfg.
Выбор планировщика осуществляется путем передачи ядру параметра elevator:
elevatоr=aa (для anticipatory)
или
elevator=cfq
Поскольку cfq используется по умолчанию, то для выбора этого планировщика вообще не нужно указывать параметр elevator.
7.2.3. Уровни запуска. Файл /etc/inittab
После того как все будет готово к запуску системы инициализации (будет 'подмонтирована' корневая файловая система, подключены разделы подкачки и т.д.), ядро запустит программу инициализации системы, сохраняемую в файле /sbin/init (как уже было отмечено, это система инициализации по умолчанию).
Первым делом программа init открывает файл /etc/inittab (это таблица инициализации) и читает уровень запуска по умолчанию. Он задается так:
id:5:initdefault:
5 - это номер уровня запуска по умолчанию; всего существует шесть уровней запуска:
• 0 - останов системы (система переходит на этот уровень когда получена команда завершения работа);
• 1 - Однопользовательский режим без поддержки сети (для перехода в этот режим нужно передать ядру параметр single);
• 2 - многопользовательский режим без поддержки сети;
• 3 - многопользовательский режим с поддержкой сети бeз загрузки графического интерфейса;
• 4 - данный уровень запуска не используется;
• 5 - многопользовательский режим с поддержкой сети с загрузкой графического интерфейса,
• 6 - перезагрузка системы (система переходит на этот уровень, когда получена команда перезагрузки).
Вот основные команды завершения работы:
• halt - останов системы;
• poweroff - останов системы с выключением питания;
• reboot - перезагрузка системы.
Перейти на нужный вам уровень запуска (уже после загрузки системы) можно с помощью команды init:
# init
Например:
# init 3
7.2.4. Сервисы (службы)
После того как программа init получила номер уровня запуска, она запускает из каталога /etc/rc.d/rc
cd /etc/rc.d/rcs.d
В данном каталоге вы найдете файлы ссылок с именами вида S
Данные сценарии используются для управления сетевыми службами. Предположим, что на вашем компьютере установлен Web-сервер, тогда в каталоге /etc/rc.d/init.d будет сценарий. httpd. Для запуска Web-сеpвepa используется команда /etc/rc.d/init.d/httpd start, а для останова - /etc/rc.d/init.d/httpd stop.
Теперь вернемся к нашим ссылкам S
Если команда init обнаружит, что ей нужно обработать ссылку вида S*, то будет выполнена команда S25httpd start. Поскольку ссылка S25httpd ссылается на /etc/red/init.d/httpd, то на самом деле будет выполнена команда:
/etc/rc.d/init.d/httpd start
Другими словами, с помощью ссылки S25httpd программа init запустит наш Web-сервер.
Ссылка вида K* используется для останова сетевой службы. Если команда init должна обработать такую ссылку, то будет выполнена команда K
Номер в имени ссылки означает порядок запуска/останова службы, Например, служба S10service будет запущена раньше, чем S25httpd.
Если вы заглянете в каталоги rc2.d, rс3.d и rc5.d, то обнаружите, что d этих каталогам есть только S-ссылки. В каталогах rc0.d и rc6.d находятся преимущественно К-ссылки, поскольку с их помощью выполняется разгрузка системы, и нужно остановить работавшие сетевые службы.
Уровень 1 (single) особый: на нем нужно остановить все запушенные сетевые службы, поэтому в каталоге rc1.d тоже нет S-ссылок, будут только одни K-ссылки. K-ссылки нужны для того, чтобы остановить запушенные сетевые службы, если вы перешли на первый уровень с более высокого уровня запуска.
Для управления службами в Fedora используется конфигуратор system-config-services, который мы уже рассмотрели в главе 1.
7.3. Загрузчик GRUB
7.3.1. Кратко о GRUB