Современные операционные системы (3-е издание)

Эндрю Таненбаум

Это с нетерпением ожидаемое, переработанное и исправленное издание всемирного бестселлера включает в себя сведения о последних достижениях в области технологий операционных систем. Книга построена на примерах и содержит информацию, необходимую для понимания функционирования современных операционных систем. Новое издание существенно изменено и дополнено и включает описание устройства и функционирования Windows Vista.

Благодаря практическому опыту, приобретенному при разработке нескольких операционных систем, и высокому уровню знания предмета Эндрю Таненбаум смог ясно и увлекательно рассказать о сложных вещах. В книге приводится множество важных подробностей, которых нет ни в одном другом издании.

Издательство: Питер, 2010 г.

ISBN 978-5-49807-306-4, 978-013006633

Количество страниц: 1120.

Содержание книги «Современные операционные системы (3-е издание)»:

  • 15 Предисловие
    • 17 От издательства
    • 17 Об авторе
  • 19 Глава 1. Введение
    • 21 1.1. Что такое операционная система?
      • 22 1.1.1. Операционная система как расширенная машина
      • 24 1.1.2. Операционная система в качестве менеджера ресурсов
    • 26 1.2. История операционных систем
      • 26 1.2.1. Первое поколение A945-1955): электронные лампы
      • 27 1.2.2. Второе поколение A955-1965): транзисторы и системы пакетной обработки
      • 29 1.2.3. Третье поколение A965-1980): интегральные схемы и многозадачность
      • 35 1.2.4. Четвертое поколение (с 1980 года по наши дни): персональные компьютеры
    • 39 1.3. Обзор аппаратного обеспечения компьютера
      • 40 1.3.1. Процессоры
      • 43 1.3.2. Многопоточные и многоядерные микропроцессоры
      • 44 1.3.3. Память
      • 48 1.3.4. Диски
      • 49 1.3.5. Ленты
      • 50 1.3.6. Устройства ввода-вывода
      • 54 1.3.7. Шины
      • 56 1.3.8. Загрузка компьютера
    • 58 1.4. Зоопарк операционных систем
      • 58 1.4.1. Операционные системы мейнфреймов
      • 58 1.4.2. Серверные операционные системы
      • 59 1.4.3. Многопроцессорные операционные системы
      • 59 1.4.4. Операционные системы персональных компьютеров
      • 60 1.4.5. Операционные системы карманных персональных компьютеров
      • 60 1.4.6. Встроенные операционные системы
      • 61 1.4.7. Операционные системы сенсорных узлов
      • 61 1.4.8. Операционные системы реального времени
      • 62 1.4.9. Операционные системы смарт-карт
    • 63 1.5. Понятия операционной системы
      • 63 1.5.1. Процессы
      • 65 1.5.2. Адресные пространства
      • 66 1.5.3. Файлы
      • 70 1.5.4. Ввод-вывод данных
      • 70 1.5.5. Безопасность
      • 70 1.5.6. Оболочка
      • 72 1.5.7. Онтогенез повторяет филогенез
    • 76 1.6. Системные вызовы
      • 80 1.6.1. Системные вызовы для управления процессами
      • 83 1.6.2. Системные вызовы для управления файлами
      • 84 1.6.3. Системные вызовы для управления каталогами
      • 86 1.6.4. Разные системные вызовы
      • 87 1.6.5. Windows Win32 API
    • 90 1.7. Структура операционной системы
      • 90 1.7.1. Монолитные системы
      • 91 1.7.2. Многоуровневые системы
      • 92 1.7.3. Микроядра
      • 95 1.7.4. Клиент-серверная модель
      • 96 1.7.5. Виртуальные машины
      • 100 1.7.6. Экзоядра
    • 100 1.8. Устройство мира согласно языку C
      • 101 1.8.1. Язык C
      • 102 1.8.2. Заголовочные файлы
      • 102 1.8.3. Большие программные проекты
      • 104 1.8.4. Модель времени выполнения
    • 104 1.9. Исследования в области операционных систем
      • 106 1.10. Краткое содержание остальных глав этой книги
      • 107 1.11. Единицы измерения
      • 108 1.12. Краткие выводы
    • 109 Вопросы
  • 112 Глава 2. Процессы и потоки
    • 112 2.1. Процессы
      • 113 2.1.1. Модель процесса
      • 115 2.1.2. Создание процесса
      • 118 2.1.3. Завершение процесса
      • 118 2.1.4. Иерархии процессов
      • 119 2.1.5. Состояния процессов
      • 121 2.1.6. Реализация процессов
      • 124 2.1.7. Моделирование режима многозадачности
    • 125 2.2. Потоки
      • 125 2.2.1. Применение потоков
      • 131 2.2.2. Классическая модель потоков
      • 136 2.2.3. Потоки в POSIX
      • 138 2.2.4. Реализация потоков в пользовательском пространстве
      • 141 2.2.5. Реализация потоков в ядре
      • 143 2.2.6. Гибридная реализация
      • 143 2.2.7. Активация планировщика
      • 145 2.2.8. Всплывающие потоки
      • 146 2.2.9. Превращение однопоточного кода в многопоточный
    • 150 2.3. Взаимодействие процессов
      • 151 2.3.1. Состязательная ситуация
      • 152 2.3.2. Критические области
      • 153 2.3.3. Взаимное исключение с активным ожиданием
      • 159 2.3.4. Приостановка и активизация
      • 162 2.3.5. Семафоры
      • 165 2.3.6. Мьютексы
      • 170 2.3.7. Мониторы
      • 176 2.3.8. Передача сообщений
      • 180 2.3.9. Барьеры
    • 181 2.4. Планирование
      • 182 2.4.1. Введение в планирование
      • 190 2.4.2. Планирование в пакетных системах
      • 192 2.4.3. Планирование в интерактивных системах
      • 199 2.4.4. Планирование в системах реального времени
      • 201 2.4.5. Политика и механизмы
      • 201 2.4.6. Планирование потоков
    • 203 2.5. Классические задачи взаимодействия процессов
      • 203 2.5.1. Задача обедающих философов
      • 207 2.5.2. Задача читателей и писателей
    • 208 2.6. Исследования, посвященные процессам и потокам
    • 209 2.7. Краткие выводы
    • 210 Вопросы
  • 216 Глава 3. Управление памятью
    • 217 3.1. Память без использования абстракций
    • 220 3.2. Абстракция памяти: адресные пространства
      • 221 3.2.1. Понятие адресного пространства
      • 223 3.2.2. Свопинг
      • 226 3.2.3. Управление свободной памятью
    • 230 3.3. Виртуальная память
      • 232 3.3.1. Страничная организация памяти
      • 236 3.3.2. Таблицы страниц
      • 238 3.3.3. Ускорение работы страничной организации памяти
      • 242 3.3.4. Таблицы страниц для больших объемов памяти
    • 245 3.4. Алгоритмы замещения страниц
      • 246 3.4.1. Оптимальный алгоритм замещения страниц
      • 247 3.4.2. Алгоритм исключения недавно использовавшейся страницы
      • 249 3.4.3. Алгоритм «первой пришла, первой и ушла»
      • 249 3.4.4. Алгоритм «второй шанс»
      • 250 3.4.5. Алгоритм «часы»
      • 251 3.4.6. Алгоритм замещения наименее востребованной страницы
      • 252 3.4.7. Моделирование LRU в программном обеспечении
      • 254 3.4.8. Алгоритм «Рабочий набор»
      • 258 3.4.9. Алгоритм WSCIock
      • 261 3.4.10. Краткая сравнительная характеристика алгоритмов замещения страниц
    • 262 3.5. Вопросы разработки систем страничной организации памяти
      • 262 3.5.1. Сравнительный анализ локальной и глобальной политики
      • 265 3.5.2. Управление загрузкой
      • 266 3.5.3. Размер страницы
      • 268 3.5.4. Разделение пространства команд и данных
      • 269 3.5.5. Совместно используемые страницы
      • 270 3.5.6. Совместно используемые библиотеки
      • 273 3.5.7. Отображаемые файлы
      • 273 3.5.8. Политика очистки страниц
      • 274 3.5.9. Интерфейс виртуальной памяти
    • 275 3.6. Вопросы реализации
      • 275 3.6.1. Участие операционной системы в процессе подкачки страниц
      • 276 3.6.2. Обработка ошибки отсутствия страницы
      • 277 3.6.3. Перезапуск команды
      • 279 3.6.4. Блокировка страниц в памяти
      • 279 3.6.5. Резервное хранилище
      • 282 3.6.7. Разделение политики и механизма
    • 283 3.7. Сегментация
      • 287 3.7.1. Реализация чистой сегментации
      • 288 3.7.2. Сегментация со страничной организацией памяти: система MULTICS
      • 292 3.7.3. Сегментация со страничной организацией памяти: система Intel Pentium
    • 297 3.8. Исследования в области управления памятью
    • 298 3.9. Краткие выводы
    • 299 Вопросы
  • 306 Глава 4. Файловые системы
    • 308 4.1. Файлы
      • 308 4.1.1. Имена файлов
      • 310 4.1.2. Структура файла
      • 311 4.1.3. Типы файлов
      • 313 4.1.4. Доступ к файлам
      • 314 4.1.5. Атрибуты файлов
      • 316 4.1.6. Операции с файлами
      • 317 4.1.7. Пример программы, использующей файловые системные вызовы
    • 320 4.2. Каталоги
      • 320 4.2.1. Системы с одноуровневыми каталогами
      • 320 4.2.2. Иерархические системы каталогов
      • 321 4.2.3. Имена файлов
      • 324 4.2.4. Операции с каталогами
    • 325 4.3. Реализация файловой системы
      • 325 4.3.1. Структура файловой системы
      • 326 4.3.2. Реализация файлов
      • 332 4.3.3. Реализация каталогов
      • 336 4.3.4. Совместно используемые файлы
      • 338 4.3.5. Файловые системы с журнальной структурой
      • 340 4.3.6. Журналируемые файловые системы
      • 342 4.3.7. Виртуальные файловые системы
    • 346 4.4. Управление файловой системой и ее оптимизация
      • 346 4.4.1. Управление дисковым пространством
      • 353 4.4.2. Резервное копирование файловой системы
      • 360 4.4.3. Непротиворечивость файловой системы
      • 364 4.4.4. Производительность файловой системы
      • 369 4.4.5. Дефрагментация дисков
    • 370 4.5. Примеры файловых систем
      • 370 4.5.1. Файловые системы компакт-дисков
      • 376 4.5.2. Файловая система MS-DOS
      • 379 4.5.3. Файловая система UNIX V7
    • 382 4.6. Исследования в области файловых систем
    • 383 4.7. Краткие выводы
    • 383 Вопросы
  • 387 Глава 5. Ввод и вывод информации
    • 387 5.1. Основы аппаратного обеспечения ввода-вывода
      • 388 5.1.1. Устройства ввода-вывода
      • 389 5.1.2. Контроллеры устройств
      • 390 5.1.3. Ввод-вывод, отображаемый на пространство памяти
      • 395 5.1.4. Прямой доступ к памяти (DMA)
      • 398 5.1.5. Еще раз о прерываниях
    • 403 5.2. Принципы создания программного обеспечения ввода-вывода
      • 403 5.2.1. Задачи, стоящие перед программным обеспечением ввода-вывода
      • 405 5.2.2. Программный ввод-вывод
      • 407 5.2.3. Ввод-вывод, управляемый прерываниями
      • 408 5.2.4. Ввод-вывод с использованием DMA
    • 408 5.3. Уровни программного обеспечения ввода-вывода
      • 409 5.3.1. Обработчики прерываний
      • 410 5.3.2. Драйверы устройств
      • 414 5.3.3. Программное обеспечение ввода-вывода, не зависящее от конкретных устройств
      • 421 5.3.4. Программное обеспечение ввода-вывода, работающее в пространстве пользователя
    • 423 5.4. Диски
      • 423 5.4.1. Аппаратная часть дисков
      • 441 5.4.2. Форматирование диска
      • 445 5.4.3. Алгоритмы планирования перемещения блока головок
      • 449 5.4.4. Обработка ошибок
      • 452 5.4.5. Стабильное хранилище данных
    • 456 5.5. Часы
      • 456 5.5.1. Аппаратная составляющая часов
      • 458 5.5.2. Программное обеспечение часов
      • 461 5.5.3. Программируемые таймеры
    • 463 5.6. Пользовательский интерфейс: клавиатура, мышь, монитор
      • 463 5.6.1. Программное обеспечение ввода информации
      • 469 5.6.2. Программное обеспечение вывода информации
    • 486 5.7. Тонкие клиенты
    • 488 5.8. Управление энергопотреблением
      • 490 5.8.1. Роль оборудования
      • 491 5.8.2. Роль операционной системы
      • 497 5.8.2. Роль прикладных программ
    • 499 5.9. Исследования в области ввода-вывода данных
    • 500 5.10. Краткие выводы
    • 501 Вопросы
  • 507 Глава 6. Взаимоблокировка
    • 508 6.1. Ресурсы
      • 508 6.1.1. Выгружаемые и невыгружаемые ресурсы
      • 510 6.1.2. Получение ресурса
    • 511 6.2. Введение во взаимоблокировки
      • 512 6.2.1. Условия возникновения ресурсных взаимоблокировок
      • 512 6.2.2. Моделирование взаимоблокировок
    • 516 6.3. Страусиный алгоритм
    • 516 6.4. Обнаружение взаимоблокировок и восстановление работоспособности
      • 516 6.4.1. Обнаружение взаимоблокировки при использовании одного ресурса каждого типа
      • 519 6.4.2. Обнаружение взаимоблокировки при использовании нескольких ресурсов каждого типа
      • 522 6.4.3. Выход из взаимоблокировки
    • 524 6.5. Уклонение от взаимоблокировок
      • 524 6.5.1. Траектории ресурса
      • 525 6.5.2. Безопасное и небезопасное состояние
      • 527 6.5.3. Алгоритм банкира для одного ресурса
      • 528 6.5.4. Алгоритм банкира для нескольких типов ресурсов
    • 530 6.6. Предотвращение взаимоблокировки
      • 530 6.6.1. Атака условия взаимного исключения
      • 531 6.6.2. Атака условия удержания и ожидания
      • 532 6.6.3. Атака условия невыгружаемости
      • 532 6.6.4. Атака условия циклического ожидания
    • 534 6.7. Другие вопросы
      • 534 6.7.1. Двухфазное блокирование
      • 534 6.7.2. Взаимные блокировки при обмене данными
      • 536 6.7.3. Активная взаимоблокировка
      • 538 6.7.4. Зависание
    • 539 6.8. Исследования в области взаимоблокировок
    • 540 6.9. Краткие выводы
    • 540 Вопросы
  • 545 Глава 7. Мультимедийные операционные системы
    • 546 7.1. Введение в мультимедиа
      • 550 7.1.1. Мультимедийные файлы
      • 552 7.1.2. Кодирование изображения
      • 555 7.1.3. Кодирование звука
    • 557 7.2. Сжатие видеоинформации
      • 557 7.2.1. Стандарт JPEG
      • 561 7.2.2. Стандарт MPEG
    • 563 7.3. Сжатие аудиоинформации
    • 567 7.4. Планирование процессов в мультимедийных системах
      • 567 7.4.1. Планирование однородных процессов
      • 568 7.4.2. Общие вопросы планирования работы в режиме реального времени
      • 570 7.4.3. Алгоритм планирования RMS
      • 572 7.4.4. Алгоритм планирования EDF
    • 574 7.5. Парадигмы мультимедийной файловой системы
      • 575 7.5.1. Функции управления кассетным видеомагнитофоном
      • 577 7.5.2. Виртуальный кинозал
      • 579 7.5.3. Виртуальный кинозал с функциональностью, присущей видеомагнитофону
    • 581 7.6. Размещение файлов
      • 582 7.6.1. Размещение файла на одном диске
      • 583 7.6.2. Две альтернативные стратегии файловой организации
      • 587 7.6.3. Размещение файлов для виртуального кинотеатра
      • 589 7.6.4. Размещение нескольких файлов на одном диске
      • 591 7.6.5. Размещение файлов на нескольких дисках
    • 594 7.7. Кэширование
      • 594 7.7.1. Блочное кэширование
      • 596 7.7.2. Кэширование файлов
    • 597 7.8. Планирование работы диска в интересах мультимедиа
      • 597 7.8.1. Статическое планирование работы диска
      • 599 7.8.2. Динамическое планирование работы диска
    • 601 7.9. Исследования в области мультимедиа
    • 601 7.10. Краткие выводы
    • 602 Вопросы
  • 607 Глава 8. Многопроцессорные системы
    • 610 8.1. Мультипроцессоры
      • 610 8.1.1. Мультипроцессорное аппаратное обеспечение
      • 620 8.1.2. Типы мультипроцессорных операционных систем
      • 625 8.1.3. Синхронизация мультипроцессоров
      • 630 8.1.4. Планирование работы мультипроцессора
    • 637 8.2. Мультикомпьютеры
      • 638 8.2.1. Аппаратное обеспечение мультикомпьютеров
      • 642 8.2.2. Низкоуровневые коммуникационные программы
      • 644 8.2.3. Коммуникационные программы пользовательского уровня
      • 648 8.2.4. Вызов удаленной процедуры
      • 651 8.2.5. Распределенная совместно используемая память
      • 657 8.2.6. Планирование мультикомпьютеров
      • 657 8.2.7. Балансировка нагрузки
    • 660 8.3. Виртуализация
      • 663 8.3.1. Требования, которые необходимо выполнить для осуществления виртуализации
      • 664 8.3.2. Гипервизоры первого типа
      • 665 8.3.3. Гипервизоры второго типа
      • 667 8.3.4. Паравиртуализация
      • 669 8.3.5. Виртуализация памяти
      • 671 8.3.6. Виртуализация устройств ввода-вывода
      • 673 8.3.7. Виртуальные приложения
      • 674 8.3.8. Виртуальные машины на многоядерных центральных процессорах
      • 674 8.3.9. Вопросы лицензирования
    • 675 8.4. Распределенные системы
      • 677 8.4.1. Сетевое оборудование
      • 681 8.4.2. Сетевые службы и протоколы
      • 685 8.4.3. Связующее программное обеспечение на основе документа
      • 687 8.4.4. Связующее программное обеспечение на основе файловой системы
      • 692 8.4.5. Связующее программное обеспечение, основанное на объектах
      • 694 8.4.6. Связующее программное обеспечение, основанное на взаимодействии
      • 700 8.4.7. Grid-системы
    • 700 8.5. Исследования в области многопроцессорных систем
    • 702 8.6. Краткие выводы
    • 703 Вопросы
  • 709 Глава 9. Безопасность
    • 711 9.1. Внешние условия, требующие принятия дополнительных мер безопасности
      • 711 9.1.1. Угрозы
      • 713 9.1.2. Злоумышленники
      • 714 9.1.3. Случайная утрата данных
    • 715 9.2. Основы криптографии
      • 716 9.2.1. Шифрование с секретным ключом
      • 717 9.2.2. Шифрование с открытым ключом
      • 718 9.2.3. Односторонние функции
      • 718 9.2.4. Цифровые подписи
      • 720 9.2.5. Криптографический процессор
    • 721 9.3. Механизмы защиты
      • 721 9.3.1. Домены защиты
      • 724 9.3.2. Списки управления доступом
      • 727 9.3.3. Перечни возможностей
      • 730 9.3.4. Надежные системы
      • 731 9.3.5. Высоконадежная вычислительная база
      • 733 9.3.6. Формальные модели систем безопасности
      • 734 9.3.7. Многоуровневая защита
      • 737 9.3.8. Тайные каналы
    • 742 9.4. Аутентификация
      • 743 9.4.1. Аутентификация с использованием паролей
      • 752 9.4.2. Аутентификация с использованием физического объекта
      • 755 9.4.3. Аутентификация с использованием биометрических данных
    • 758 9.5. Инсайдерские атаки
      • 759 9.5.1. Логические бомбы
      • 759 9.5.2. Лазейки
      • 760 9.5.3. Фальсификация входа в систему
    • 762 9.6. Использование дефектов программного кода
      • 763 9.6.1. Атаки, использующие переполнение буфера
      • 765 9.6.2. Атаки, использующие форматирующую строку
      • 767 9.6.3. Атаки, использующие возвращение управления в libc
      • 769 9.6.4. Атаки, использующие переполнение целочисленных значений
      • 770 9.6.5. Атаки, использующие внедрение программного кода
      • 771 9.6.6. Атаки, связанные с эскалацией привилегий
    • 771 9.7. Вредоносные программы
      • 775 9.7.1. Троянские кони
      • 777 9.7.2. Вирусы
      • 788 9.7.3. Черви
      • 790 9.7.4. Программы-шпионы
      • 794 9.7.5. Руткиты
    • 800 9.8. Средства защиты
      • 800 9.8.1. Брандмауэры
      • 802 9.8.2. Антивирусные и анти-антивирусные технологии
      • 810 9.8.3. Электронная подпись двоичных программ
      • 811 9.8.4. Тюремное заключение
      • 812 9.8.5. Обнаружение проникновения на основе модели
      • 814 9.8.6. Инкапсулированный мобильный код
      • 819 9.8.7. Безопасность в системе Java
    • 821 9.9. Исследования в области безопасности
    • 822 9.10. Краткие выводы
    • 823 Вопросы
  • 829 Глава 10. Изучение конкретных примеров: Linux
    • 830 10.1. История UNIX и Linux
      • 830 10.1.1. UNICS
      • 831 10.1.2. PDP-11 UNIX
      • 832 10.1.3. Переносимая система UNIX
      • 834 10.1.4. Berkeley UNIX
      • 834 10.1.5. Стандартная система UNIX
      • 836 10.1.6. MINIX
      • 837 10.1.7. Linux
    • 840 10.2. Обзор системы Linux
      • 840 10.2.1. Задачи Linux
      • 841 10.2.2. Интерфейсы системы Linux
      • 843 10.2.3. Оболочка
      • 846 10.2.4. Утилиты Linux
      • 848 10.2.5. Структура ядра
    • 851 10.3. Процессы в системе Linux
      • 851 10.3.1. Фундаментальные концепции
      • 854 10.3.2. Системные вызовы управления процессами в Linux
      • 858 10.3.3. Реализация процессов и потоков в Linux
      • 865 10.3.4. Планирование в Linux
      • 868 10.3.5. Загрузка Linux
    • 871 10.4. Управление памятью в Linux
      • 872 10.4.1. Фундаментальные концепции
      • 875 10.4.2. Системные вызовы управления памятью в Linux
      • 876 10.4.3. Реализация управления памятью в Linux
      • 883 10.4.4. Подкачка в Linux
    • 887 10.5. Ввод-вывод в системе Linux
      • 887 10.5.1. Фундаментальные концепции
      • 888 10.5.2. Работа с сетью
      • 890 10.5.3. Системные вызовы ввода-вывода в Linux
      • 891 10.5.4. Реализация ввода-вывода в системе Linux
      • 895 10.5.5. Модули в Linux
    • 896 10.6. Файловая система UNIX
      • 896 10.6.1. Фундаментальные принципы
      • 901 10.6.2. Вызовы файловой системы в Linux
      • 905 10.6.3. Реализация файловой системы Linux
      • 914 10.6.4. Файловая система NFS
    • 921 10.7. Безопасность в Linux
      • 921 10.7.1. Фундаментальные концепции
      • 923 10.7.2. Системные вызовы безопасности в Linux
      • 924 10.7.3. Реализация безопасности в Linux
    • 925 10.8. Резюме
    • 926 Вопросы
  • 931 Глава 11. Изучение конкретных примеров: Windows Vista
    • 931 11.1. История Windows Vista
      • 932 11.1.1. Восьмидесятые годы прошлого века: MS-DOS
      • 933 11.1.2. Девяностые годы прошлого столетия: Windows на базе MS-DOS
      • 933 11.1.3. Двухтысячный год: Windows на базе NT
      • 937 11.1.4. Windows Vista
    • 938 11.2. Программирование в Windows Vista
      • 940 11.2.1. Собственный интерфейс прикладного программирования NT
      • 944 11.2.2. Интерфейс прикладного программирования Win32
      • 948 11.2.3. Реестр Windows
    • 951 11.3. Структура системы
      • 951 11.3.1. Структура операционной системы
      • 967 11.3.2. Загрузка Windows Vista
      • 968 11.3.3. Реализация диспетчера объектов
      • 980 11.3.4. Подсистемы, DLL и службы пользовательского режима
    • 983 11.4. Процессы и потоки в Windows Vista
      • 983 11.4.1. Фундаментальные концепции
      • 988 11.4.2. Вызовы API для управления заданиями, процессами, потоками и волокнами
      • 994 11.4.3. Реализация процессов и потоков
    • 1002 11.5. Управление памятью
      • 1002 11.5.1. Фундаментальные концепции
      • 1007 11.5.2. Системные вызовы управления памятью
      • 1008 11.5.3. Реализация управления памятью
    • 1018 11.6. Кэширование в Windows Vista
    • 1021 11.7. Ввод-вывод в Windows Vista
      • 1021 11.7.1. Фундаментальные концепции
      • 1023 11.7.2. Вызовы интерфейса прикладного программирования ввода-вывода
      • 1026 11.7.3. Реализация ввода-вывода
    • 1031 11.8. Файловая система Windows NT
      • 1032 11.8.1. Фундаментальные концепции
      • 1033 11.8.2. Реализация файловой системы NTFS
    • 1044 11.9. Безопасность в Windows Vista
      • 1045 11.9.1. Фундаментальные концепции
      • 1047 11.9.2. Вызовы интерфейса прикладного программирования безопасности
      • 1048 11.9.3. Реализация безопасности
    • 1051 11.10. Резюме
    • 1052 Вопросы
  • 1055 Глава 12. Разработка операционных систем
    • 1055 12.1. Природа проблемы проектирования
      • 1056 12.1.1. Цели
      • 1057 12.1.2. Почему так сложно спроектировать операционную систему?
    • 1059 12.2. Разработка интерфейса
      • 1059 12.2.1. Руководящие принципы
      • 1061 12.2.2. Парадигмы
      • 1065 12.2.3. Интерфейс системных вызовов
    • 1068 12.3. Реализация
      • 1068 12.3.1. Структура системы
      • 1072 12.3.2. Механизм и политика
      • 1073 12.3.3. Ортогональность
      • 1074 12.3.4. Именование
      • 1076 12.3.5. Время связывания
      • 1077 12.3.6. Статические и динамические структуры
      • 1079 12.3.7. Реализация системы сверху вниз и снизу вверх
      • 1080 12.3.8. Полезные методы
    • 1085 12.4. Производительность
      • 1086 12.4.1. Почему операционные системы такие медленные?
      • 1087 12.4.2. Что следует оптимизировать?
      • 1088 12.4.3. Выбор между оптимизацией по скорости и по занимаемой памяти
      • 1090 12.4.4. Кэширование
      • 1092 12.4.5. Подсказки
      • 1092 12.4.6. Использование локальности
      • 1093 12.4.7. Оптимизируйте общий случай
    • 1093 12.5. Управление проектом
      • 1094 12.5.1. Мифический человеко-месяц
      • 1095 12.5.2. Структура команды
      • 1097 12.5.3. Роль опыта
      • 1098 12.5.4. Панацеи нет
    • 1099 12.6. Тенденции в проектировании операционных систем
      • 1099 12.6.1. Виртуализация
      • 1099 12.6.2. Многоядерные процессоры
      • 1100 12.6.3. Операционные системы с большим адресным пространством
      • 1101 12.6.4. Сеть
      • 1101 12.6.5. Параллельные и распределенные системы
      • 1102 12.6.6. Мультимедиа
      • 1102 12.6.7. Компьютеры на аккумуляторах
      • 1103 12.6.8. Встроенные системы
    • 1104 12.7. Сенсорные сети
    • 1104 12.8. Резюме
    • 1105 Вопросы
  • 1108 Глава 13. Библиография
    • 1108 13.1. Дополнительная литература
      • 1108 13.1.1. Введение и общие труды
      • 1109 13.1.2. Процессы и потоки
      • 1109 13.1.3. Управление памятью
      • 1109 13.1.4. Ввод-вывод
      • 1110 13.1.5. Файловые системы
      • 1110 13.1.6. Взаимоблокировка
      • 1110 13.1.7. Мультимедийные операционные системы
      • 1111 13.1.8. Многопроцессорные системы
      • 1112 13.1.9. Безопасность
      • 1113 13.1.10. Linux
      • 1114 13.1.11. Windows Vista
      • 1114 13.1.12. Принципы проектирования
  • 1115 Алфавитный список литературы

Инструкция как скачать книгу Эндрю Таненбаум: Современные операционные системы (3-е издание) в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Современные операционные системы (3-е издание)
Рейтинг книги:
1 голос
480

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: