Лабы по UNIX / UNIX5
.doc
ЛАБОРАТОРНАЯ РАБОТА № 5 (время выполнения -- 1 час)
Тема: ”Загрузка системы”
1. Этапы загрузки
Этапы загрузки системы (SPARC)
Этап |
Описание |
Boot PROM |
1. PROM выводит идентификационную информацию о системе и проводит базовую диагностику оборудования 2. PROM загружает первичную программу загрузки bootblk, которая находится в файловой системе ufs устройства, с которого производится загрузка |
Boot Programs |
3. bootblk находит и запускает ufsboot – вторичную программу загрузки 4. ufsboot загружает ядро операционной системы |
Kernel Initialization |
5. Ядро инициализируется и подгружает необходимые модули. После загрузки модулей для доступа к ufs, оно выгружает ufsboot 6. Ядро запускает процесс init, который запускает другие процессы, используя файл /etc/inittab |
Init |
7. /sbin/init запускает скрипты уровней выполнения, которые запускают серии других скриптов |
Для архитектуры x86 количество этапов загрузки остается прежним, но меняется их содержание.
Этапы загрузки системы (x86)
Этап |
Описание |
BIOS |
1. BIOS проводит серию тестов для диагностики оборудования 2. BIOS пытается прочитать первый сектор устройства, с которого производится загрузка и запускает программу mboot. mboot содержит информацию о разбивке диска |
Boot Programs |
3. mboot запускает pboot 4. pboot запускает основную программу загрузки bootblk, которая находится в файловой системе ufs устройства, с которого производится загрузка 5. Если в системе присутствует более чем один загрузочный раздел, то bootblk выводит меню для выбора раздела 6. bootblk находит и запускает boot/bin или ufsboot – вторичную программу загрузки. 7. boot/bin или ufsboot загружает ядро операционной системы |
Kernel Initialization |
8. Ядро инициализируется и подгружает необходимые модули. После загрузки модулей для доступа к ufs, оно выгружает ufsboot 9. Ядро запускает процесс init, который запускает другие процессы, используя файл /etc/inittab |
Init |
10. /sbin/init запускает скрипты уровней выполнения, которые запускают серии других скриптов |
2. Уровни выполнения
ОС Umix может работать в нескольких режимах (на нескольких уровнях). В ОС Solaris предусмотрены следующие уровни выполнения.
обозначение |
уровень |
описание |
0 |
Выключение питания |
Перевод системы в режим PROM |
s, S |
Однопользовательский |
Однопользовательский режим, файловые системы не монтируются |
1 |
Однопользовательский |
Однопользовательский режим, файловые системы монтируются |
2 |
многопользовательский |
Многопользователький режим, пользователи могут входить в систему, не запускается демон NFS |
3 |
Многопользовательский с NFS |
Многопользователький режим, пользователи могут входить в систему, запускается демон NFS |
4 |
Не используется |
Может применяться администратором по своему усмотрению |
5 |
Выключение питания |
Останов системы и выключение питания |
6 |
Перезагрузка |
Перезагрузка и переход на основной уровень выполнения |
Определение текущего уровня выполнения
who -r
run-level 3 Sep 1 14:45 3 0 S
| |
| предыдущий уровень
текущий уровень выполнения
3. Перевод системы на некоторый уровень выполнения
Процесс init
Перевод системы на определенный уровень выполнения осуществляет процесс init¸ Процесс init использует конфигурационный файл /etc/inittab для определения того, какие действия он должен выполнить для перевода системы на определенный уровень. Строки файла /etc/inittab имеют следующий формат:
id:stste:action:process
| | | |
| | | полный путь к выполняемому файлу
| | действие с полем process
| список уровней выполнения
уникальный идентификатор записи
Изменение уровня выполнения
init уровень |
Без аргументов команда init переводит систему на уровень по умолчанию. |
Shutdown |
Переводит систему на 0, 2, 5, 6 или уровень s , посылает предупреждения пользователям |
Halt |
Перевод системы на уровень 0, при этом rc0 не использовать |
poweroff |
Перевод системы на уровень 6, при этом rc0 не использовать |
4. Автоматический запуск служб (сервисов)
Если необходимо автоматизировать запуск и остановку какой-либо службы, то для этого администратор должен выполнить следующую последовательность действий.
- в каталоге /etc/init.d создать скрипт, который принимает в качестве параметров start/stop и выполняет соответствующие действия для сервиса
- создать ссылку на созданный скрипт из каталога, соответствующего уровню, на котором следует запускать сервис; при этом ссылка должна начинаться с заглавной буквы S
- создать ссылку на созданный скрипт из каталога, соответствующего уровню, на котором следует остановить сервис; при этом ссылка должна начинаться с заглавной буквы К
УПРАЖНЕНИЯ
1. Перевести систему на уровень выполнения S
2. Перезапустить ОС с указанием ядру, что произошло изменение в конфигурации системы (например, появился новый сетевой адаптер)
2. Создать скрипт, который будет при запуске с параметром start выводить на консоль сообщение ”Start service”, а при запуске с параметром stop – сообщение ”Stop service”. Прописать ссылку на созданный скрипт для запуска сервиса в самом начале 2-го уровня, а для автоматического останова – в самом конце уровня s.