ПРЕДИСЛОВИЕ
ГЛАВА 1. ОБЩИЙ ОБЗОР ОСОБЕННОСТЕЙ СИСТЕМЫ
1.1 ИСТОРИЯ
1.2 СТРУКТУРА СИСТЕМЫ
Архитектура системы UNIX
1.3 ОБЗОР С ТОЧКИ ЗРЕНИЯ ПОЛЬЗОВАТЕЛЯ
1.3.1 Файловая система
Пример древовидной структуры файловой системы
Программа копирования файла
1.3.2 Среда выполнения процессов
Программа порождения нового процесса
1.3.3 Элементы конструкционных блоков
1.4 ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ
1.5 ПРЕДПОЛАГАЕМАЯ АППАРАТНАЯ СРЕДА
Процессы и режимы их выполнения
1.5.1 Прерывания и особые ситуации
1.5.2 Уровни прерывания процессора
Стандартные уровни прерываний
1.5.3 Распределение памяти
1.6 ВЫВОДЫ
ГЛАВА 2. ВВЕДЕНИЕ В АРХИТЕКТУРУ ЯДРА ОПЕРАЦИОННОЙ СИСТЕМЫ
2.1 АРХИТЕКТУРА ОПЕРАЦИОННОЙ СИСТЕМЫ UNIХ
Блок-схема ядра операционной системы
2.1 АРХИТЕКТУРА ОПЕРАЦИОННОЙ СИСТЕМЫ UNIХ
2.2 ВВЕДЕНИЕ В ОСНОВНЫЕ ПОНЯТИЯ СИСТЕМЫ
2.2.1 Обзор особенностей подсистемы управления файлами
Таблицы файлов, дескрипторов файла и индексов
Формат файловой системы
2.2.2 Процессы
Стеки задачи и ядра для программы копирования.
Информационные структуры для процессов
Состояния процесса и переходы между ними
Пример программы, создающей список
Список с указателями, некорректный
2.3 СТРУКТУРЫ ДАННЫХ ЯДРА
2.4 УПРАВЛЕНИЕ СИСТЕМОЙ
Многократная приостановка выполнения
2.5 ВЫВОДЫ И ОБЗОР ПОСЛЕДУЮЩИХ ГЛАВ
2.6 УПРАЖНЕНИЯ
ГЛАВА 3. БУФЕР СВЕРХОПЕРАТИВНОЙ ПАМЯТИ (КЕШ)
3.1 ЗАГОЛОВКИ БУФЕРА
Заголовок буфера
3.2 СТРУКТУРА ОБЛАСТИ БУФЕРОВ (БУФЕРНОГО ПУЛА)
Список свободных буферов
Буферы в хеш-очередях
3.3 МЕХАНИЗМ ПОИСКА БУФЕРА
Алгоритм выделения буфера
Поиск буфера - случай 1: буфер в хеш-очереди
Алгоритм высвобождения буфера
Второй случай выделения буфера
Третий случай выделения буфера
Четвертый случай выделения буфера
. Состязание за свободный буфер
. Пятый случай выделения буфера
3.4 ЧТЕНИЕ И ЗАПИСЬ ДИСКОВЫХ БЛОКОВ
. Состязание за свободный буфер
. Алгоритм чтения дискового блока
. Алгоритм чтения блока с продвижением
. Алгоритм записи дискового блока
3.5 ПРЕИМУЩЕСТВА И НЕУДОБСТВА БУФЕРНОГО КЕША
3.6 ВЫВОДЫ
3.7 УПРАЖНЕНИЯ
ГЛАВА 4. ВНУТРЕННЕЕ ПРЕДСТАВЛЕНИЕ ФАЙЛОВ
Алгоритмы файловой системы
4.1 ИНДЕКСЫ
4.1.1 Определение
Пример дискового индекса
4.1.2 Обращение к индексам
Алгоритм выделения индексов в памяти
Освобождение индекса
4.1.3 Освобождение индексов
4.2 СТРУКТУРА ФАЙЛА ОБЫЧНОГО ТИПА
Размещение непрерывных файлов
Блоки прямой и косвенной адресации в индексе
Объем файла в байтах при размере блока 1 Кбайт
Преобразование адреса смещения
Размещение блоков в файле и его индексе
4.3 КАТАЛОГИ
. Формат каталога /etc
4.4 ПРЕВРАЩЕНИЕ СОСТАВНОГО ИМЕНИ
. Алгоритм превращения имени пути поиска в индекс
4.5 СУПЕРБЛОК
4.6 НАЗНАЧЕНИЕ ИНДЕКСА НОВОМУ ФАЙЛУ
. Алгоритм назначения новых индексов
. Два массива номеров свободных индексов
. Алгоритм освобождения индекса
. Размещение номеров свободных индексов в суперблоке
. Конкуренция в назначении индексов
. Конкуренция в назначении индексов (продолжение)
4.7 ВЫДЕЛЕНИЕ ДИСКОВЫХ БЛОКОВ
. Список номеров свободных дисковых блоков с указателями
. Алгоритм выделения дискового блока
. Запрашивание и освобождение дисковых блоков
4.8 ДРУГИЕ ТИПЫ ФАЙЛОВ
4.9 ВЫВОДЫ
4.10 УПРАЖНЕНИЯ
ГЛАВА 5. СИСТЕМНЫЕ ОПЕРАЦИИ ДЛЯ РАБОТЫ С ФАЙЛОВОЙ СИСТЕМОЙ
Функции для работы с файловой
5.1 OPEN
Алгоритм открытия файла
Структуры данных после открытия
Структуры данных после того, как
5.2 READ
Алгоритм чтения из файла
Параметры ввода-вывода, хранящиеся в пространстве процесса
Пример программы чтения из файла
Процессы, ведущие чтение и запись файла
5.3 WRIТЕ
Чтение из файла с использованием двух дескрипторов
5.4 ЗАХВАТ ФАЙЛА И ЗАПИСИ
5.5 УКАЗАНИЕ МЕСТА В ФАЙЛЕ, ГДЕ
5.6 CLOSЕ
. Программа, содержащая вызов системной функции lseek
. Таблицы после закрытия файла
5.7 СОЗДАНИЕ ФАЙЛА
. Алгоритм создания файла
5.8 СОЗДАНИЕ СПЕЦИАЛЬНЫХ ФАЙЛОВ
. Алгоритм создания новой вершины
. Алгоритм смены текущего каталога
5.9 СМЕНА ТЕКУЩЕГО И КОРНЕВОГО КАТАЛОГА
5.10 СМЕНА ВЛАДЕЛЬЦА И РЕЖИМА ДОСТУПА К ФАЙЛУ
5.11 STAT И FSTАТ
. Дерево процессов и совместное использование каналов
5.12 КАНАЛЫ
5.12.1 Системная функция pipе
. Алгоритм создания каналов (непоименованных)
5.12.2 Открытие поименованного канала
5.12.3 Чтение из каналов и запись в каналы
. Логическая схема чтения и записи в канал
5.12.4 Закрытие каналов
5.12.5 Примеры
. Чтение из канала и запись в канал
. Чтение и запись в поименованный канал
5.13 DUР
. Структуры данных после выполнения функции dup
. Программа на языке Си, иллюстрирующая
5.14 МОНТИРОВАНИЕ И ДЕМОНТИРОВАНИЕ ФАЙЛОВЫХ СИСТЕМ
. Дерево файловых систем до и после выполнения функции mount
. Алгоритм монтирования файловой системы
5.14.1 Пересечение точек монтирования
. Структуры данных после монтирования
. Модификация алгоритма получения доступа к индексу
. Модификация алгоритма синтаксического анализа имени файла
5.14.2 Демонтирование файловой системы
. Алгоритм демонтирования файловой системы
. Файлы в дереве файловой системы
5.15 LINК
. Алгоритм связывания файлов
5.16 UNLINК
. Взаимная блокировка процессов при выполнении функции link
ArtCAM Pro 5.5 User Guide см. раздел
Советы по P-CAD см. раздел