От авторов

Эта книга – не о конкретной операционной системе, и даже не о конкретном типе операционных систем. Она рассматривает операционные системы (ОС) с самых общих позиций, в ней излагаются фундаментальные концепции и принципы построения, справедливые для большинства ОС.

Действительно, различия между существующими ОС не столь существенны, как это кажется на первый взгляд. Разработчики операционных систем живут в едином мире без жестких границ, не препятствующих миграции хорошо зарекомендовавших себя концепций и механизмов из одной системы в другую. В результате в подавляющем большинстве операционных систем нам встречаются одни и те же принципы управления ресурсами компьютера: мультипрограммирование и мультипроцессирование, виртуальная память и свопинг, отображаемые в память файлы и удаленный вызов процедур.  Это позволяет при изучении ОС эффективно использовать подход «от общего к частному», отделяя детали реализации от основополагающей идеи.

С другой стороны, авторы старались избегать «сухого» академического изложения материала. Принципиальные положения иллюстрируются примерами механизмов конкретных ОС, как правило, наиболее распространенных систем или тех, которые стали вехами на пути развития вычислительной техники: Unix, OS/360, Windows NT, MS-DOS, NetWare, OS/2.

Эту книгу авторы рассматривают как своего рода дополнение и продолжение своей книги «Компьютерные сети».  Такая взаимосвязь объясняется тем, что для понимания работы сети необходимо знать не только устройство транспортной инфраструктуры сети (именно этим вопросам посвящена книга «Компьютерные сети»), но и принципы организации сетевых служб операционных систем, которые рассматриваются в данной книге.

 

Для кого эта книга

В первую очередь эта книга адресуется студентам и аспирантам различных специальностей направления «Информатика и вычислительная техника» как учебное пособие  по курсам «Операционные системы» и «Организация вычислительных процессов». В основу книги положен многолетний опыт преподавания указанных курсов одного из авторов на кафедре вычислительной техники в МИРЭА.

Кроме того, книга может быть полезна и для специалистов: программистов, которые хотят более эффективно использовать системные средства, сетевых администраторов, которым нужны знания принципов работы ОС для оптимизации операционной сетевой среды, специалистам по коммуникационному оборудованию, создающим транспортную инфраструктуру сети. Авторы убедились в этом, проводя в течение ряда лет курсы в московском Центре Информационных Технологий для специалистов-практиков, повышавших свою квалификацию в области операционных систем.

И, наконец, книга может заинтересовать всех, кто имеет дело с компьютерами и хочет больше узнать о том, как устроены современные операционные системы.

Структура книги

Первые три главы вводят читателя в проблематику операционных систем. После рассмотрения основных этапов эволюции ОС обсуждается назначение современной операционной системы. Затем исследуются функциональная и структурная организация ОС, а также основные подсистемы и компоненты, используемые для управления как локальными, так и разделяемыми сетевыми ресурсами. При этом рассматривается классическая многослойная организация  ОС с монолитным ядром, а также микроядерная архитектура. 

Следующие пять глав (с четвертой по восьмую) посвящены рассмотрению концепций и механизмов управления локальными ресурсами компьютера: процессором, памятью и внешними устройствами. Изучаются понятия процесса и потока, различные дисциплины планирования и диспетчеризации, применяемые в системах пакетной обработки, разделения времени и реального времени. Достаточно подробно рассматриваются различные схемы реализации механизма прерываний и его роль в организации вычислительного процесса.

Методы управления памятью рассматриваются в исторической ретроспективе – от самых простых схем с фиксированными разделами до современной сегментно-страничной организации памяти. Детально исследуется концепции виртуальной памяти и кэширования данных.

При рассмотрении файловой системы и внешних устройств применяется современных подход, согласно которому файловая система является неотъемлемой частью подсистемы ввода-вывода, состоящей из драйверов различного уровня, объединенных общим менеджером. В качестве примеров используются наиболее распространенные файловые системы, такие как ufs, NTFS и FAT. Изучаются такие важные функции файловых систем как устойчивость к сбоям и отказам, а также контроль доступа к хранимым данным.

Управление локальными ресурсами тесно связано с аппаратными средствами организации вычислительного процесса. Шестая глава полностью посвящена подробному описанию такого рода средств, встроенных в процессоры семейства Pentium. На примере этого процессора показано взаимодействие программных и аппаратных средств компьютера при планировании процессов и потоков, распределении памяти, защите данных на разных уровнях.

В последних трех главах рассматриваются сетевые функции ОС. Сначала обсуждается концепция распределенных вычислений, типы многозвенных приложений и средства их реализации – системы передачи сообщений и удаленного вызова процедур. Теоретические схемы иллюстрируются конкретными механизмами, такими как сокеты Беркли и механизмы Sun RPC и DCE RPC.

Концепция распределенных вычислений широко используется при изучении сетевой файловой службы, одной из основных компонент любой сетевой ОС. Рассматриваются различные протоколы взаимодействия клиентской и серверной частей файловой службы, такие как NFS, SMB, FTP и NCP. Далее изучаются назначение и архитектура службы каталогов как центрального элемента современной ОС.  Отдельный раздел посвящен проблеме взаимодействия сетевых служб в гетерогенной среде с использованием методов трансляции, мультиплексирования и инкапсуляции протоколов.

Завершает книгу глава, посвященная сетевой безопасности. Она включает описание основных угроз, возникающих при работе в сети, и различных подходов, используемых для защиты данных. Рассматриваются базовые технологии сетевой безопасности: шифрование, аутентификация, авторизация, цифровая подпись, цифровые сертификаты, аудит, защищенный канал.  Совместная работа различных технологий безопасности иллюстрируется на примере интегрированной системы защиты данных Kerberos.

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