О-54 |
Олифер, В. Г. Сетевые операционные системы [Текст] : учеб. пособие / В. Г. Олифер, Н. А. Олифер. – СПб : Питер, 2003. – 539 с. : ил.
Эта книга - не о конкретной системе и даже не о конкретном типе операционных систем. Она рассматривает фундаментальные концепции и принципы построения, справедливые для большинства известных на сегодня операционных систем. В первую очередь эта книга рекомендуется студентам и аспирантам различных специальностей направления "Информатика и вычислительная техника" как учебное пособие по курсам "Операционные системы" и "Организация вычислительных процессов". Кроме того, она может быть полезна специалистам: программистам, сетевым администраторам и профессионалам по коммуникационному оборудованию. И, наконец, книга может заинтересовать всех, кто имеет дело с компьютерами и хочет больше узнать о том, как устроены современные операционные системы.
Допущено Министерством образования Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки дипломированных специалистов "Информатика и вычислительная техника".
Краткое содержание
Введение 10
Глава 1. Эволюция операционных систем 13
Глава 2. Назначение и функции операционной системы 29
Глава 3. Архитектура операционной системы 57
Глава 4. Процессы и потоки 87
Глава 5. Управление памятью 162
Глава 6. Аппаратная поддержка мультипрограммирования
на примере процессора Pentium 215
Глава 7. Ввод-вывод и файловая система 253
Глава 8. Дополнительные возможности файловых систем 335
Глава 9. Концепции распределенной обработки в сетевых ОС 380
Глава 10. Сетевые службы 416
Глава 11. Сетевая безопасность 468
Приложение. Модель ISO/OSI . 514
Ответы к задачам и упражнениям . 519
Рекомендуемая литература 525
Алфавитный указатель 527
Содержание
Введение 10
Для кого эта книга 10
Структура книги 11
От издательства 12
Глава 1. Эволюция операционных систем 13
Появление первых операционных систем 13
Появление мультипрограммных операционных
систем для мэйнфреймов 15
Операционные системы и глобальные сети 18
Операционные системы мини-компьютеров и
первые локальные сети 19
Развитие операционных систем в 80-е годы 20
Особенности современного этапа развития
операционных систем 24
Выводы 27
Задачи и упражнения . 28
Глава 2. Назначение и функции операционной системы 29
Операционные системы для автономного компьютера 29
ОС как виртуальная машина 30
ОС как система управления ресурсами 31
Функциональные компоненты операционной
системы автономного компьютера 32
Управление процессами 33
Управление памятью 34
Управление файлами и внешними устройствами 35
Защита данных и администрирование 37
Интерфейс прикладного программирования 38
Пользовательский интерфейс 39
Сетевые операционные системы 39
Сетевые и распределенные ОС 40
Два значения термина "сетевая ОС" 41
Функциональные компоненты сетевой ОС 42
Сетевые службы и сетевые сервисы 43
Встроенные сетевые службы и сетевые оболочки 45
Одноранговые и серверные сетевые операционные системы 48
ОС в одноранговых сетях 48
ОС в сетях с выделенными серверами 50
Требования к современным операционным системам 52
Выводы 54
Задачи и упражнения 55
Глава 3. Архитектура операционной системы 57
Ядро и вспомогательные модули ОС 57
Ядро в привилегированном режиме 60
Многослойная структура ОС 64
Аппаратная зависимость и переносимость ОС 68
Типовые средства аппаратной поддержки ОС 69
Машинно-зависимые компоненты ОС 71
Переносимость операционной системы 72
Микроядерная архитектура 74
Концепция 74
Преимущества и недостатки микроядерной архитектуры 76
Совместимость и множественные прикладные среды 79
Двоичная совместимость и совместимость исходных текстов 79
Трансляция библиотек 80
Способы реализации прикладных программных сред 81
Выводы 84
Задачи и упражнения 86
Глава 4. Процессы и потоки .87
Мультипрограммирование . 87
Мультипрограммирование в системах пакетной обработки 88
Мультипрограммирование в системах разделения времени 91
Мультипрограммирование в системах реального времени 92
Мультипроцессорная обработка 93
Планирование процессов и потоков .. 96
Понятия "процесс" и "поток" 97
Создание процессов и потоков 100
Планирование и диспетчеризация потоков 103
Состояния потока 105
Вытесняющие и невытесняющие алгоритмы планирования 107
Алгоритмы планирования, основанные на квантовании . . . 110
Алгоритмы планирования, основанные на приоритетах 113
Смешанные алгоритмы планирования 116
Планирование в системах реального времени 119
Моменты перепланировки 121
Мультипрограммирование на основе прерываний 124
Назначение и типы прерываний 124
Механизм прерываний 125
Программные прерывания 129
Диспетчеризация и приоритезация прерываний в ОС . 129
Функции централизованного диспетчера
рерываний на примере Windows NT …. 131
Процедуры обработки прерываний и текущий процесс 135
Системные вызовы 136
Синхронизация процессов и потоков 140
Цели и средства синхронизации 140
Необходимость синхронизации и гонки 142
Критическая секция 144
Блокирующие переменные 145
Семафоры 148
Тупики 150
Синхронизирующие объекты ОС 153
Сигналы 156
Выводы 157
Задачи и упражнения 159
Глава 5. Управление памятью 162
Функции ОС по управлению памятью 162
Типы адресов 163
Алгоритмы распределения памяти 170
Распределение памяти фиксированными разделами 171
Распределение памяти динамическими разделами 172
Перемещаемые разделы 174
Свопинг и виртуальная память . 175
Страничное распределение 178
Сегментное распределение 188
Сегментно-страничное распределение 191
Разделяемые сегменты памяти 196
Кэширование данных 198
Иерархия запоминающих устройств 198
Кэш-память 199
Принцип действия кэш-памяти 200
Проблема согласования данных 202
Способы отображения основной памяти на кэш 203
Схемы выполнения запросов в системах с кэш-памятью 207
Выводы 210
Задачи и упражнения 212
Глава 6. Аппаратная поддержка мультипрограммирования
на примере процессора Pentium 215
Регистры процессора 215
Привилегированные команды 219
Средства поддержки сегментации памяти 219
Виртуальное адресное пространство 220
Преобразование адресов 223
Защита данных при сегментной организации памяти 225
Сегментно-страничный механизм 231
Средства вызова процедур и задач 235
Вызов процедур 235
Вызов задачи 239
Механизм прерываний 241
Кэширование в процессоре Pentium 244
Буфер ассоциативной трансляции 245
Кэш первого уровня 248
Совместная работа кэшей разного уровня 249
Выводы 251
Задачи и упражнения 251
Глава 7. Ввод-вывод и файловая система 253
Задачи ОС по управлению файлами и устройствами 254
Организация параллельной работы устройств
ввода-вывода и процессора ............... 254
Согласование скоростей обмена и кэширование данных 255
Разделение устройств и данных между процессами 256
Обеспечение удобного логического интерфейса между устройствами
и остальной частью системы . 257
Поддержка широкого спектра драйверов и простота включения
нового драйвера в систему 257
Динамическая загрузка и выгрузка драйверов 259
Поддержка нескольких файловых систем . 259
Поддержка синхронных и асинхронных операций ввода-вывода 260
Многослойная модель подсистемы ввода-вывода 261
Общая схема 261
Менеджер ввода-вывода 263
Многоуровневые драйверы 264
Специальные файлы 269
Логическая организация файловой системы 270
Цели и задачи файловой системы 270
Типы файлов 272
Иерархическая структура файловой системы 273
Имена файлов 274
Монтирование 275
Атрибуты файлов 278
Логическая организация файла 279
Физическая организация файловой системы 282
Диски, разделы, секторы, кластеры 282
Физическая организация и адресация файла 286
Физическая организация FAT 290
Физическая организация s5 и ufs 294
Физическая организация NTFS 299
Файловые операции 308
Два способа^организации файловых операций 308
Открытие файла 309
Обмен данными с файлом 312
Блокировки файлов 314
Стандартные файлы ввода и вывода, перенаправление вывода 315
Контроль доступа к файлам 317
Доступ к файлам как частный случай доступа к
разделяемым ресурсам 317
Механизм контроля доступа 319
Организация контроля доступа в ОС UNIX 322
Организация контроля доступа в ОС Windows NT 324
Выводы 332
Задачи и упражнения 333
Глава 8. Дополнительные возможности файловых систем 335
Специальные файлы и аппаратные драйверы 335
Специальные файлы как универсальный интерфейс 335
Структурирование аппаратных драйверов 339
Структура драйвера Windows NT 340
Структура драйвера UNIX 344
Отображаемые в память файлы 349
Дисковый кэш 352
Традиционный дисковый кэш 354
Дисковый кэш на основе виртуальной памяти 356
Отказоустойчивость файловых и дисковых систем 357
Восстанавливаемость файловых систем 358
Избыточные дисковые подсистемы RAID 367
Обмен данными между процессами и потоками 373
Конвейеры 374
Именованные конвейеры 375
Очереди сообщений 375
Разделяемая память 376
Выводы 376
Задачи и упражнения 378
Глава 9. Концепции распределенной обработки в сетевых ОС 380
Модели сетевых служб и распределенных приложений . , 380
Способ разделения приложений на части 381
Двухзвенные схемы 381
Трехзвенные схемы 384
Механизм передачи сообщений в распределенных системах 385
Синхронизация 388
Буферизация в примитивах передачи сообщений 391
Способы адресации 393
Надежные и ненадежные примитивы 396
Механизм Sockets ОС UNIX 398
Вызов удаленных процедур 402
Концепция удаленного вызова процедур 402
Генерация стабов 406
Формат сообщений RPC 406
Связывание клиента с сервером 408
Особенности реализации RPC на
примере систем Sun RPC и DCE RPC 410
Выводы 413
Задачи и упражнения 414
Глава 10. Сетевые службы 416
Сетевые файловые системы 416
Принципы построения 416
Модель сетевой файловой системы 417
Интерфейс сетевой файловой службы 424
Вопросы1 реализации сетевой файловой системы 427
Размещение клиентов и серверов по компьютерам и
в операционной системе 427
Файловые серверы типа stateful и stateless 428
Кэширование 430
Репликация 434
Примеры сетевых файловых служб: FTP и NFS 437
Служба каталогов 442
Назначение и принципы организации 442
Служба каталогов NDS 446
Межсетевое взаимодействие 451
Основные подходы к организации межсетевого взаимодействия 452
Трансляция 454
Мультиплексирование стеков протоколов 456
Инкапсуляция протоколов 462
Выводы 464
Задачи-и упражнения 465
Глава 11. Сетевая безопасность …….. 468
Основные понятия безопасности 469
Конфиденциальность, целостность и доступность данных . 469
Классификация угроз 470
Системный подход к обеспечению безопасности 473
Политика безопасности 474
Базовые технологии безопасности 476
Шифрование 477
Аутентификация, авторизация, аудит 485
Технология защищенного канала 489
Технологии аутентификации 491
Сетевая аутентификация на основе многоразового пароля 491
Аутентификация с использованием одноразового пароля 493
Аутентификация на основе сертификатов 496
Аутентификация информации 501
Система Kerberos 504
Первичная аутентификация 506
Получение разрешения на доступ к ресурсному серверу 508
Получение доступа к ресурсу 509
Достоинства и недостатки 510
Выводы ……………………………. 510
Задачи и упражнения 512
Приложение. Модель ISO/OSI 514
Физический уровень 515
Канальный уровень 516
Сетевой уровень 516
Транспортный уровень 517
Сеансовый уровень 517
Уровень представления 518
Прикладной уровень 518
Ответы к задачам и упражнениям 519
Рекомендуемая литература 525
Алфавитный указатель 527
|