Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаба1-Solaris.doc
Скачиваний:
5
Добавлен:
22.05.2015
Размер:
77.82 Кб
Скачать

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

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

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

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

boot –s

или

b –s

программе-загрузчику.

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

init s

или

init S

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

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

init 3

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

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

man init

В 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 в отдельный каталог дерева каталогов).

В системах UNIX до 2004 года существовала толькоодна концепцияфайловых систем, основанная на представлении файловой системы компьютера как единого дерева, отдельные "ветви" которого могут быть расположены на различных физических носителях или в различных разделах одного и того же носителя. Концепция предполагала необходимость разметки любого физического носителя (часто – вручную, т.е. системный администратор должен был спланировать разметку диска и потратить некоторое время на его разметку с помощью fdisk, format или аналогичного инструмента).

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

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

С появлением больших дисковых массивов, состоящих из десятков и сотен дисков, особенно в системах, связанных с высокопроизводительными вычислениями и обработкой больших объемов данных, потребовалось собирать из физических дисков виртуальные тома. Для этого разные производители систем использовали разные приложения, среди которых большую популярность получил Logical Volume Manager (LVM) для Linux. Однако, хотя применение LVM облегчало группировку разделов в логические тома большого объема, необходимость размечать каждый диск и создавать на нем разделы сохранялась.

Поэтому в 2004 году появиласьвторая концепцияфайловой системы, которая тоже предполагала существование единого логического дерева каталогов, но на уровне физических устройств требовала создания единого пула, из которого можно выделить произвольный объем для любой файловой системы (в смысле "логической единицы монтирования"). Эта концепция представляла дисковую память таким же образом, как виртуальную память, в которой работают процессы в UNIX.

В самом деле, когда вы запускаете новое приложение и оно запрашивает у системы некий объем памяти для работы, система обходится без указания, в каких именно микросхемах памяти разместить данные и код нового приложения! Так и новая концепция пулов устройств требовала лишь указания, какие физические устройства (или, если администратор пожелает, их части) будут входить в пул. После этого вы можете пожелать выделить какой угодно объем памяти для ваших файлов или файловых систем, и он будет вам предоставлен – если только хватит места в пуле (понятно, что если у вас есть диск объемом 250 Гб и вы просите выделить место для записи 500-гигабайтного файла, то места может и не хватить!)

Вторая концепция была впервые воплощена в файловой системе ZFS, разработанной компанией Sun Microsystems в 2004 году; ее поддержка появилась в Solaris 10. К началу 2008 года код поддержки ZFS был перенесен во FreeBSD и Mac OS X Leopard.