- •Введение
- •Понятие операционной системы. Типы операционных систем
- •Функции операционной системы
- •Структура операционной системы. Ос 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 для работы с файлами
- •Стандартные библиотечные функции ввода/вывода
- •Поточные функции ввода/вывода
- •Литература
- •Оглавление
Класс устройства
Некоторые устройства ввода/вывода работают посимвольно, другие поблочно. Типичным примером устройства с посимвольным обменом может служить терминал. ЭВМ осуществляет обмен данными с терминалом в побайтовом режиме. Специальные файлы, обеспечивающие связь с устройствами такого типа, называют байт-ориентированными.
Для блочных устройств характерен обмен большими блоками информации, чтобы ускорить обмен и сделать его более эффективным. Так работают все дисковые устройства, которые называются блочными, а специальные файлы, обслуживающие их, - блок-ориентированными.
Специальные файлы не содержат какой-либо символьной информации, поэтому в листинге каталога их длина не указывается.
Тип и номер
Для специальных файлов в поле длины помещаются главный и дополнительный номера соответствующего устройства. Первый из них определяет тип устройства, второй - идентифицирует его среди однотипных. Например, UNIX может одновременно обслуживать несколько десятков, а то и сотен терминалов. Каждый из них должен иметь свой собственный специальный файл, поэтому наличие главного и дополнительного номеров позволяет установить требуемое соответствие между устройством и файлом.
Таким образом, специальные файлы являются средством унификации ввода/вывода в UNIX и в своей совокупности образуют другую важную особенность файловой системы UNIX - ее физическую структуру. Физическая структура файловой системы зависит от количества имеющихся дисковых устройств и способа их разделения на разделы. Любое дисковое устройство имеет как минимум один раздел, максимальное количество разделов на одном устройстве определяется конкретной реализацией UNIX.
Физически раздел представляет собой набор определенных меток на дисковом устройстве и запись в таблице разделения диска (как правило, в первых цилиндрах диска) содержащую, информацию о координатах на. диске и размерах раздела.
-
Связь физической и логической структур
Любой раздел содержит как минимум один каталог, этот каталог можно рассматривать как корневой каталог для данного раздела дискового устройства (как и любой другой, этот каталог может содержать подкаталоги). Связь между разделом и таким каталогом устанавливается в процессе "монтирования" (mount) файловой системы, при этом раздел дискового устройства монтируется на каталог.
Дисковое разделение производится обычно при инсталляции UNIX и является как бы логическим продолжением утилиты FDISK. В отличие от MS DOS, на каждом разделе (partition) в UNIX может быть создано дополнительное количество дисковых разделений (slice). Эти куски дискового пространства могут затем использоваться для создания файловых систем и для других целей - swap, для СУБД и т.д. Дополнительное дисковое разделение выполняется в UNIX с помощью специальных утилит (например, divvy в SCO UNIX).
Таким образом, каталог не может иметь размер больший, чем размер раздела, на который он смонтирован. Выбор способа разделения дискового устройства в значительной степени зависит от задач, которые предполагается решать на конкретной системе. Еще относительно недавно было принято считать, что разделение дискового устройства на несколько разделов в некоторых случаях может дать выигрыш в производительности системы, но сегодня, с появлением новых дисковых устройств, совершенствованием их контроллеров и реализации файловых систем, такое утверждение уже не представляется обоснованным. Кроме того, излишнее увеличение количества разделов приводит к росту неэффективного расхода дискового пространства на системные нужды.