Иллюстрированный самоучитель по теории операционных систем

Введение 2
Основные функции операционных систем 3
Классификация ОС 4
Семейства операционных систем 6
Выбор операционной системы 7
Открытые системы 8
Представление данных в вычислительных системах 9
Введение в двоичную арифметику 10
Представление рациональных чисел 14
Представление текстовых данных 17
Представление изображений 18
Представление звуков 20
Упаковка данных 21
Контрольные суммы 23
Введение в криптографию 25
Машинные языки 28
Системы команд 29
Форматы команд машинного языка 32
Команды перехода 33
Регистры 34
Адресация оперативной памяти 36
Режимы адресации 38
Вырожденные режимы адресации 39
Абсолютная адресация 40
Косвенно-регистровый режим 41
Косвенно-регистровый режим со смещением 43
Базово-индексный режим. Сложные режимы адресации. 47
Адресация с использованием счетчика команд 48
Банки памяти 49
CISC- и RISC-процессоры 52
Языки ассемблера 53
Многопроходное ассемблирование 55
Загрузка программ 56
Процедура загрузки 57
Абсолютная загрузка 58
Разделы памяти 59
Относительная загрузка 60
Базовая адресация 62
Позиционно-независимый код 63
Оверлеи (перекрытия) 65
Сборка программ 66
Объектные библиотеки 71
Сборка в момент загрузки 73
Динамические библиотеки 76
Загрузка самой ОС 79
Управление оперативной памятью 83
Открытая память 84
Алгоритмы динамического управления памятью 86
Сборка мусора 96
Открытая память (продолжение) 97
Управление памятью в MacOS и Win16 100
Системы с базовой виртуальной адресацией 102
Сегментная и страничная виртуальная память 105
Сегментная и страничная виртуальная память 106
Сегменты, страницы и системные вызовы 109
Взаимно недоверяющие подсистемы 114
Сегменты, страницы и системные вызовы (продолжение) 117
Разделяемые библиотеки 118
Страничный обмен 123
Поиск жертвы 124
Управление своп-файлом 128
Одноуровневая память 130
Компьютер и внешние события 133
Компьютер и внешние события 134
Опрос 135
Канальные процессоры и прямой доступ к памяти 136
Прерывания 138
Исключения 140
Многопроцессорные архитектуры 143
Параллелизм с точки зрения программиста 147
Параллелизм с точки зрения программиста 148
Формулировка задачи 149
Примитивы взаимоисключения 151
Мертвые и живые блокировки 153
Примитивы синхронизации 156
Семафор Дейкстры. Семафоры и прерывания. 157
Захват участков файлов 158
Мониторы и серверы транзакций 159
Гармонически взаимодействующие последовательные потоки 160
Примеры реализаций средств гармонического взаимодействия 162
Системы, управляемые событиями 165
Реализация многозадачности на однопроцессорных компьютерах 168
Кооперативная многозадачность 169
Вытесняющая многозадачность 171
Планировщики с приоритетами 175
Монолитные системы и системы с микроядром 177
Внешние устройства 179
Периферийные устройства 180
Доступ к внешним устройствам 181
Простые внешние устройства 182
Порты передачи данных 184
Шины 191
Устройства графического вывода 198
Запоминающие устройства прямого доступа 202
Производительность жестких дисков 208
Дисковые массивы 209
Сети доступа к дискам 211
Драйверы внешних устройств 212
Драйверы внешних устройств 213
Функции драйверов 215
Многоуровневые драйверы 217
Загрузка драйверов 220
Архитектура драйвера 221
Введение в конечные автоматы 224
Сложный конечный автомат 227
Запросы к драйверу 229
Синхронный ввод-вывод 230
Асинхронный ввод-вывод 231
Сервисы ядра, доступные драйверам 232
Автоконфигурация 233
Выделение памяти. Таймеры. 234
Обмен данными с пользовательским процессом 235
Сервисные функции 236
Асинхронная модель ввода-вывода с точки зрения приложений 237
Дисковый кэш 239
Спулинг 241
Файловые системы 242
Файловые системы. Файлы с точки зрения пользователя. 243
Монтирование файловых систем 244
Формат имен файлов 246
Операции над файлами 247
Тип файла 248
Простые файловые системы 250
"Сложные" файловые системы 254
Устойчивость файловой системы к сбоям питания 258
Восстановление ФС после сбоя 260
Файловые системы с регистрацией намерений 262
Устойчивость ФС к сбоям диска 264
Драйверы файловых систем 265
Безопасность 266
Проблема защиты 267
Формулировка задачи 268
Сессии и идентификаторы пользователя 270
Аутентификация 271
Аутентификация в сети 273
Криптографические методы аутентификации 276
Авторизация 278
Списки контроля доступа 279
Полномочия 284
Изменение идентификатора пользователя 287
Ресурсные квоты 288
Атаки на систему безопасности. Отказ в сервисе. 289
Троянские программы 290
Типичные уязвимые места 291
Ошибки программирования 292
Практические рекомендации 296
Приложение. Обзор архитектур современных ОС. 297
MVS, OS/390, z/OS 298
Семейство Unix 299
Распространение UNIX 300
Микроядро. Minix. Open Software Foundation. 301
GNU Not Unix. Х/Ореn. 302
UNIX System V Release 4 303
Linux 304
Семейство СР/М 305
Win16 307
OS/2 1.x 308
IBM OS/2 309
Windows NT/2000/XP 310
Windows 95/98/ME. Windows СЕ. 312