- •Введение
- •Понятие операционной системы. Типы операционных систем
- •Функции операционной системы
- •Структура операционной системы. Ос ms dos
- •Файлы и каталоги на дисках
- •Драйверы устройств
- •Базовая система ввода-вывода (bios)
- •Загрузчик операционной системы
- •Ядро ms dos
- •Командный процессор dos
- •Внешние команды dos
- •Файловая структура диска
- •Стартовый сектор
- •Каталоги
- •Область данных
- •Операционные системы Windows
- •Выбор платформы Windows
- •Термины
- •Архитектура Windows Режимы выполнения программного кода
- •Многозадачность
- •Управление памятью в Windows
- •Выполнение приложений
- •Интерфейс прикладного программирования Win32
- •Реестр Windows
- •Операционная система unix
- •Ядро и процессы unix
- •Диспетчер unix
- •Процессы unix
- •Дескриптор и контекст процесса
- •Иерархия процессов
- •Идентификаторы процесса
- •Группы процессов
- •Взаимодействие процессов
- •Процессы-«демоны»
- •Межпроцессные коммуникации unix
- •Сигналы
- •Сигналы unix по мере возрастания их значений:
- •Семафоры
- •Программные каналы (Pipes)
- •Очереди сообщений
- •Разделяемая память
- •Многопользовательская защита в unix
- •Идентификаторы пользователя и группы
- •Код защиты файла
- •Привилегированный пользователь
- •Эффективные и реальные идентификаторы
- •Свопинг и пейджинг в unix
- •Буфер кеш-памяти
- •Управление вводом/выводом
- •Специальные файлы
- •Взаимодействие драйверов с программной и аппаратной средой
- •Файловая система unix
- •Основные системные каталоги
- •Корневой каталог /
- •Каталог /var
- •Каталог /etc
- •Каталог /usr
- •Каталог /home (/export/home)
- •Каталог/opt (/opti, /opt2, ... /optn)
- •Команды управления swap
- •Команда mkfile
- •Специальные файлы
- •Класс устройства
- •Тип и номер
- •Связь физической и логической структур
- •Создание и монтирование файловой системы
- •Дисковые устройства в unix
- •Внутренняя структура файловой системы Распределение дискового пространства
- •Индексные дескрипторы
- •Системные вызовы unix для работы с файлами
- •Стандартные библиотечные функции ввода/вывода
- •Поточные функции ввода/вывода
- •Литература
- •Оглавление
-
Создание и монтирование файловой системы
Новую файловую систему можно создать с помощью команды mkfs (make file system). Например, выражение # /sbin/mkfs /dev/dsk/f1t 512 означает: создать файловую систему на флоппи-диске b размером в 512 блоков.
На одном диске можно создать несколько файловых систем. Некоторые системы UNIX используют по одной файловой системе на диске, а другие - по несколько.
После того как mkfs начнет работать, она дает возможность отказаться, прежде чем продолжать. После того как выведется сообщение Mkfs: /dev/dsk/f1t? команда ожидает 10 с, прежде чем начать создание файловой системы, в течение которых, если вы решили отказаться, вы должны успеть нажать клавишу DEL. Если команда продолжит работу, она выведет информацию о файловой системе, включая и число логических блоков, число i-узлов (т.е. максимальное количество файлов, которые могут быть сохранены в файловой системе) и число блоков файловой системы, в которые можно записывать данные.
Моно задать в команде количество i-узлов: второй аргумент задается как число:число, где первое число - размер в блоках, а второе - количество i-узлов. По умолчанию число i-узлов равно числу блоков, деленному на 4. Максимальное число i-узлов в одной файловой системе 65000. Если на этом диске нужно более 65000 i-узлов,.то нужно создавать 2-3 файловых системы.
Монтирование файловой системы - это прикрепление к общему дереву каталогов в любой его точке. Например, каталог / - это корневой (root) каталог системы. Кроме того, он является основанием файловой системы, которая всегда монтирована. Каталог /usr1 находится в корневом каталоге, но в данном случае является отдельной файловой системой от корневой, т. к. все файлы в нем находятся на отдельной части диска или на отдельном диске.
Для монтирования файловой системы используется команда /sbin/mount. Эта команда разрешает вам расположить данную файловую систему везде в существующей структуре каталогов:
#/sbin/mount/dev/dsk/os1/usr1 монтируй /dev/dsk/os1 на /usr 1.
Или: #/sbin/mount /dev/dsk/f1t /b монтируй /dev/dsk/f1t на /b.
Добавив опцию -r к команде /sbin/mount, можно смонтировать файловую систему так, чтобы она была доступна только для чтения. Диски, которые должны быть защищены от записи, необходимо монтировать по этому способу.
Когда монтируется файловая система, каталог, к которому она прикрепляется, должен быть в данный момент пустым, т. к. содержимое его будет недоступно, пока файловая система монтируется.
Чтобы получить информацию о файловых системах, которые смонтированы на данной системе UNIX, можно использовать команду /sbin/mount без аргументов:
# /sbin/mount
Эта команда выводит каталог, на который была смонтирована файловая система (например, usr1), устройство /dev, на котором она находится, час и дата, когда она была смонтирована.
Процессы могут обращаться к файлам в монтированной файловой системе и игнорировать тот факт, что система может отсоединяться.
Ядро поддерживает таблицу монтирования с записями о каждой монтированной файловой системе. В каждой записи таблицы монтирования содержатся:
-
номер устройства, идентифицирующий монтированную файловую систему (логический номер файловой системы);
-
указатель на буфер, где находится суперблок файловой системы;
-
указатель на корневой индекс монтированной файловой системы (/ для корневой файловой системы);
-
указатель на индекс каталога, ставшего точкой монтирования (например, каталог usr, принадлежащий корневой файловой системе).
Связь индекса точки монтирования с корневым индексом монтированной файловой системы, возникшая в результате выполнения системной функции mount, дает ядру возможность легко двигаться по иерархии файловых систем без получения от пользователей дополнительных сведений.
Для демонтирования файловой системы используется команда /sbin/umount. Эта команда имеет обратное действие по отношению к команде mount. Она освобождает файловую систему и как бы вынимает ее целиком из структуры каталогов, так что все ее собственные файлы и каталоги становятся недоступны:
#/sbin/umount /b
#/sbin/umount /dev/dsk/0s2.
Необходимо запомнить, что корневая файловая система не может быть демонтирована. Кроме того, команда umount не будет выполнена, если кто-нибудь использует файл из той файловой системы, которую пытаются демонтировать. Это может быть даже простое пребывание некоего пользователя в одном из каталогов демонтируемой файловой системы.
Все файловые системы монтируются один раз, как правило, при загрузке системы. Более того, на некоторые каталоги могут быть смонтированы файловые системы с удаленных машин.
Команды mount и umount относятся, к числу немногих команд UNIX, где пользователь встречается с аббревиатурой физических дисковыx устройств.