Режимы работы операционной системы linux

Загрузка ОС, режимы работы, службы

Первый сектор диска (MBR, загрузочный сектор) и первый сектор каждого раздела (boot-сектор) содержат загрузочную информацию. При запуске компьютера BIOS загружает в память программу-загрузчик из MBR, которая считывает таблицу разделов диска, определяет активный раздел диска и загружает программу-загрузчик из первого сектора этого раздела. Загрузчик считывает в память ядро операционной системы и начинается процесс загрузки.

Настройки загрузчика GRUB (GRand Unified Bootloader) находятся в файле /boot/grub/grub.conf и содержат набор директив.

Директива Описание
default=номер_пункта номер пункта меню загрузчика, выполняющийся по умолчанию. Пункты меню нумеруются начиная с нуля
timeout=число_секунд число секунд перед началом автоматической загрузки
splashimage=(hd0,0)/grub/имя_файла.xpm.gz файл с фоном загрузчика
password незашифрованный_пароль незашифрованный пароль
password —md5 зашифрованный_пароль зашифрованный пароль длинной 30 символов
title название пункта меню название пункта меню загрузчика
lock использовать пароль при выборе пункта меню
root (hd0,0) активный раздел диска, где находится образ ядра системы
файл с образом ядра системы
содержит необходимые модули ядра

Директива password , указанная в начале файла (до первой директивы title ) задает пароль для перехода GRUB в режим ввода команд.
Если сразу после директивы title указана директива lock , то при выборе пользователем данного пункта меню появится сообщение с запросом пароля, указанного директивой password в начале конфигурационного файла. Если необходимо установить отдельный пароль к данному пункту меню необходимо вместо директивы lock использовать директиву password .
Для задания фона загрузчика GRUB необходимо указать следующую дериктиву в файле настроек:

splashimage=(hd0,0)/grub/имя_файла.xpm.gz

Здесь предполагается, что каталог /boot/ является точкой монтирования первого раздела первого диска.
В каталоге /boot/grub/ нужно поместить файл с изображением имя_файла.xpm.gz Образцы файлов с фоном можно найти в сети Интернет (см. ссылки ниже) или создать свое собственное изображение. Для этого необходимо с помощью какого-либо графического редактора создать изображение размером 640×480 в формате xpm , то есть имя_файла.xpm . Затем необходимо сжать изображение архиватором gzip с помощью команды:

В результате, получится файл имя_файла.xpm.gz
Если средства графического редактора не позволяют создавать изображения в формате xpm , то можно преобразовать изображение из исходного формата в формат xpm с помощью команды:

convert имя_файла.png -colors 14 -resize 640x480 имя_файла.xpm

Команда convert входит в пакет imagemagick , наличие которого можно проверить командой:

и при отсутствии установить командой:

Восстановление загрузочной записи в MBR

Для восстановления загрузочной записи необходимо загрузить систему с Live-CD. Затем запустить консоль GRUB командой:

В строке консоли GRUB выполнить команды:

grub> root (hd0,0) grub> setup (hd0) grub> quit

Первая команда указывает на boot-раздел, где находится образ ядра системы, в данном примере это первый раздел первого диска. Вторая команда устанавливает GRUB в MBR, в данном примере первого диска. Третья команда осуществляет выход из консоли GRUB.
Перезагрузить систему.

Читайте также:  Linux команда вырезать от команды

Основные параметры ядра

Параметры ядра указаны в файле /lib/modules/`uname -r`/build/.config . Файл представляет собой список параметров ядра с указанием способа их включения в ядро: встроенные ( y ) или подключаемый модуль ( m ). Для того, чтобы пересобрать ядро необходимо сначало отредактировать этот файл либо в текстовом редакторе, либо с помощью команды make menuconfig (текстовое меню) или make config (вопрос-ответ).

Управление драйверами (модулями ядра)

Управление аппаратными устройствами компьютера осуществляет ядро операционной системы Linux. Часть ядра, управляющая конкретным устройством называется драйвером устройства. Выделяют два типа драйверов:

  • 1) Драйверы являются частью программного кода ядра (встроены в ядро). Для добавления нового драйвера необходимо перекомпилировать ядро.
  • 2) Драйверы являются модулями ядра. Модули ядра хранятся в подкаталогах каталога в файлах с расширением *.ko .

Список всех загруженных в ядро модулей можно получить командой:

Информацию о конкретном модуле:

Для загрузки модуля и всех зависимых модулей:

Для удаления модуля и всех неиспользуемых зависимых модулей:

Для доступа к драйверам служат файлы устройств ( /dev/hda , /dev/eth0 и т.д.). Таким образом, общую схему взаимодействия пользователей с аппаратными устройствами можно представить в виде:

Устройство init , который читает данные из файла /etc/inittab и запускает указанные в нем процессы. Формат файла /etc/inittab следующий.
Первая строка файла имеет вид:

id:уровень_исполнения_по_умолчанию:initdefault:
идентификатор:уровни_исполнения:действие:запускаемый_процесс

Предусмотрены семь уровней выполнения:

Уровень Описание
0 выключение системы
1 однопользовательский режим (уровень S)
2 многопользовательский режим без поддержки сети
3 многопользовательский режим
4 не используется
5 графический режим
6 перезагрузка

Возможные действия над процессами:

Действие Описание
respawn при завершении процесс будет перезапущен
wait процесс будет запущен при переключении на любой из указанных уровней и процесс загрузки остальных процессов продолжится только после завершения данного процесса
once процесс будет запущен только один раз
boot процесс будет запущен во время начальной загрузки независимо от указанных уровней исполнения
bootwait процесс будет запущен во время начальной загрузки и процесс загрузки продолжится только когда завершится данный процесс
off не выполняется никаких действий
ondemand запускается при переходе на уровни A, B, C
initdefault уровень выполнения по умолчанию
sysinit процесс запускается во время загрузки до процессов boot и bootwait
powerwait процесс будет запущен при исчезновении электропитания
powerfail процесс будет запущен при исчезновении электропитания
powerokwait процесс будет запущен при появлении электропитания
powerfailnow процесс будет запущен при низком заряде батарей источника бесперебойного питания
ctrlaltdel процесс будет запущен при нажатии комбинации клавиш
kbrequest процесс будет запущен при нажатии «специальной» комбинации клавиш

Независимо от выбранного уровня выполнения сначало запускаются процессы отмеченнные как sysinit , затем boot и bootwait .
По-этому первым запускается сценарий /etc/rc.sysinit , который выполняется только один раз при загрузке системы.
А затем, запускается процесс /etc/rc , который запускает все процессы в соответствии с выбранным уровнем выполнения. При переходе на заданный уровень исполнения выполняются все скрипты из специального каталога, соответствующего данному уровню исполнения:

Каталог Описание
/etc/rc0.d/ выключение системы
/etc/rc1.d/ однопользовательский режим
/etc/rc2.d/ многопользовательский режим без поддержки сети
/etc/rc3.d/ многопользовательский режим
/etc/rc4.d/ не используется
/etc/rc5.d/ графический режим
/etc/rc6.d/ перезагрузка системы

В этих каталогах находятся ссылки на скрипты сервисов из каталога /etc/init.d/ . Имена ссылок имеют вид:

Здесь S означает запустить (start) сервис, а K означает остановить (stop) сервис. Символы xx — это двузначный порядковый номер скрипта. Запускаются и останавливаютя сервисы от малых номеров к большим.

После загрузки всех сервисов процесс init продолжает запуск оставшихся процессов.

Для перехода на другой уровень испольнения непосредственно из консоли служит команда:

Управление службами (сервисами)

В каталоге /etc/init.d/ расположены скрипты запуска и остановки сервисов. Стандартный вид такого скрипта следующий:

#!/bin/sh # # chkconfig: 345 85 15 # description: Start and stop myservice # processname: myservice start() < daemon /путь_к_файлу/myservice touch /var/lock/subsys/myservice >stop() < killproc myservice rm -f /var/lock/subsys/myservice rm -f /var/run/myservice.pid >case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: myservice " exit 1 esac exit 0

Сервисы могут быть запущены «вручную» командой:

Также могут быть остановлены командой:

Получить информацию о том, на каких уровнях выполнения автоматически запускается данный сервис можно воспользоваться командой:

chkconfig —list имя_сервиса

Для добавления автоматического запуска сервиса используется команда:

chkconfig —level 345 имя_сервиса on

Для запрещения автоматического запуска сервиса используется команда:

chkconfig —level 345 имя_сервиса off

При добавлении автоматического запуска сервиса создаются ссылки в соответствующих каталогах (например, /etc/rc3.d/ , /etc/rc4.d/ , /etc/rc5.d/ ) на скрипт запуска сервиса из каталога /etc/init.d/ . При отключенни автоматического запуска эти ссылки удаляются.

Источник

Режимы работы систем unix

Любая система UNIX, и Solaris в том числе, может работать в нескольких режимах. Это, как минимум, однопользовательский и многопользовательский режимы. В однопользовательском режиме систему загружают только в экстренном случае – для какой-то серьезной модификации или ремонта. В этом режиме загружается только ядро и командный процессор – сетевые службы не задействуются. Многопользовательский режим – это обычный режим работы системы, который включается после загрузки по умолчанию. В ряде систем (например, в Linux) существует большее количество режимов работы (часто – семь, с номерами от 0 до 6, в Solaris к ним еще добавляется режим s ). Среди этих режимов выделяют режим выключения системы, однопользовательский режим и несколько многопользовательских, которые отличаются друг от друга тем, какие именно сетевые службы запускаются при старте системы.

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

Для загрузки системы в однопользовательском режиме, следует при загрузке дать команду

Для перехода из многопользовательского режима в однопользовательский дайте команду

Тот же эффект даст выполнение shutdown без параметров.

Для того, чтобы перевести систему из однопользовательского режима в многопользовательский, нужно перезагрузить компьютер или выйти из командного процессора однопользовательского режима ( exit или Ctrl-D, работает в большинстве случаев). Также можно запустить программу init с параметром-названием режима работы, например

Cуществует несколько режимов работы (runlevels) операционной системы. Режим с номером 1 соответствует однопользовательскому режиму, а 3 – многопользовательскому. Режим номер 0 – это остановка (на этот уровень систему переводит команда shutdown ).

О режимах работы системы можно узнать больше из руководства по системе:

В Solaris 10 введено новое понятие «этап» (milestone), которое чем-то похоже на «режим работы». Этап – это определенное состояние системы, в котором запущены характерные для него службы. Этап, по сути, – это определенный набор служб. Например, для того, чтобы оставить работать только те службы, которые характерны для однопользовательского режима работы, следует дать команду

svcadm milestone -d milestone/single-user:default

Этап, указываемый команде svcadm milestone, может быть ключевым словом «single-user», «multi-user» или «multi-user-server». Кроме этого, есть специальные этапы «all» (запуск всех служб, которые должны быть запущены при старте системы) and «none» (временный запрет всех служб, кроме svc:/system/svc/restarter:default ). При выдаче этой команды в указанной форме этап становится этапом по умолчанию и сохраняется таковым при перезагрузке системы.

Для перевода системы в другой режим работы следует использовать вызов init напрямую, – переход к другому этапу не вызывает перехода к новому режиму работы. Из соображений совместимости в Solaris 10 режимы работы контролируются процессом init, как и в других системах семейства System V.

Термин «файловая система» в литературе используется для обозначения трех разных понятий.

  1. Во-первых, файловая система – это набор правил и конструкций, описывающих то, как сохраняются файлы на диске. В этом смысле мы употребляем, например, выражение «файловая система FAT32», и «файловая система» здесь тождественна понятию «тип файловой системы».
  2. Во-вторых, файловая система – это совокупность всех файлов, хранимых в компьютере.
  3. В-третьих, и это значение термина характерно именно для UNIX-систем, файловая система – это совокупность всех файлов на разделе диска или устройстве, или, что точнее, файловая система – это логическая единица монтирования (то, что можно смонтировать командой mount в отдельный каталог дерева каталогов).

Источник

Оцените статью
Adblock
detector