- •Сетевые операционные системы
- •Глава 1. Эволюция операционных систем 22
- •Глава 2. Назначение и функции операционной системы 59
- •Глава 3. Архитектура операционной системы 95
- •Глава 4. Процессы и потоки 139
- •Глава 5. Управление памятью 260
- •Глава 6. Аппаратная поддержка мультипрограммирования на примере процессора Pentium 333
- •Глава 7. Ввод-вывод и файловая система 389
- •Глава 8. Дополнительные возможности файловых систем 512
- •Глава 9. Сеть как транспортная система 576
- •Глава 10. Концепции распределенной обработки в сетевых ос 686
- •Глава 11. Сетевые службы 736
- •Глава 12. Сетевая безопасность 855
- •Благодарности
- •Предисловие авторов ко второму изданию
- •Для кого эта книга
- •Структура книги
- •Глава 9 является компактным введением в сетевые технологии, о ее содержании уже рассказывалось при описании отличий второй редакции учебника.
- •От издательства
- •Глава 1. Эволюция операционных систем
- •Первые операционные системы
- •Мультипрограммные операционные системы для мэйнфреймов
- •Первые сетевые операционные системы
- •Операционные системы миникомпьютеров и первые локальные сети
- •Развитие операционных систем в 80-е годы
- •Развитие операционных систем в 90-е годы
- •Современный этап развития операционных систем персональных компьютеров
- •Надежность
- •Простота обслуживания
- •Пользовательский интерфейс
- •Средства информационной самоорганизации
- •Защита данных
- •Виртуальные распределенные вычислительные системы суперкомпьютеров
- •Задачи и упражнения
- •Глава 2. Назначение и функции операционной системы
- •Операционные системы для автономного компьютера
- •Ос как виртуальная машина
- •Ос как система управления ресурсами
- •Функциональные компоненты операционной системы автономного компьютера
- •Управление процессами
- •Управление памятью
- •Управление файлами и внешними устройствами
- •Защита данных и администрирование
- •Интерфейс прикладного программирования
- •Пользовательский интерфейс
- •Сетевые операционные системы
- •Функциональные компоненты сетевой ос
- •Сетевые службы и сетевые сервисы
- •Встроенные сетевые службы и сетевые оболочки
- •Одноранговые и серверные сетевые операционные системы
- •Ос в одноранговых сетях
- •Ос в сетях с выделенными серверами
- •Требования к современным операционным системам
- •Задачи и упражнения
- •Глава 3. Архитектура операционной системы
- •Ядро и вспомогательные модули ос
- •Ядро в привилегированном режиме
- •Многослойная структура ос
- •Аппаратная зависимость и переносимость ос
- •Типовые средства аппаратной поддержки ос
- •Машинно-зависимые компоненты ос
- •Переносимость операционной системы
- •Микроядерная архитектура Концепция
- •Преимущества и недостатки микроядерной архитектуры
- •Совместимость и множественные прикладные среды
- •Двоичная совместимость и совместимость исходных текстов
- •Трансляция библиотек
- •Способы реализации прикладных программных сред
- •Система виртуальных машин
- •Задачи и упражнения
- •Глава 4. Процессы и потоки
- •Мультипрограммирование
- •Мультипрограммирование в системах пакетной обработки
- •Мультипрограммирование в системах разделения времени
- •Мультипрограммирование в системах реального времени
- •Мультипроцессорная обработка
- •Планирование процессов и потоков
- •Понятия «процесс» и «поток»
- •Создание процессов и потоков
- •If(fork()) { действия родительского процесса }
- •Планирование и диспетчеризация потоков
- •Состояния потока
- •Вытесняющие и не вытесняющие алгоритмы планирования
- •Алгоритмы планирования, основанные на квантовании
- •Алгоритмы планирования, основанные на приоритетах
- •Смешанные алгоритмы планирования
- •Планирование в системах реального времени
- •Моменты перепланирования
- •Мультипрограммирование на основе прерываний Назначение и типы прерываний
- •Аппаратная поддержка прерываний
- •Программные прерывания
- •Диспетчеризация и приоритезация прерываний в ос
- •Функции централизованного диспетчера прерываний на примере ос семейства Windows nt
- •Процедуры обработки прерываний и текущий процесс
- •Системные вызовы
- •Синхронизация процессов и потоков Цели и средства синхронизации
- •Необходимость синхронизации и гонки
- •Критическая секция
- •Блокирующие переменные
- •Семафоры
- •Системные синхронизирующие объекты
- •Задачи и упражнения
- •Глава 1. Эволюция операционных систем 22
- •Глава 2. Назначение и функции операционной системы 59
- •Глава 3. Архитектура операционной системы 95
- •Глава 4. Процессы и потоки 139
- •Глава 5. Управление памятью 260
- •Глава 6. Аппаратная поддержка мультипрограммирования на примере процессора Pentium 333
- •Глава 7. Ввод-вывод и файловая система 389
- •Глава 8. Дополнительные возможности файловых систем 512
- •Глава 9. Сеть как транспортная система 576
- •Глава 10. Концепции распределенной обработки в сетевых ос 686
- •Глава 11. Сетевые службы 736
- •Глава 12. Сетевая безопасность 855
- •Глава 5. Управление памятью
- •Функции ос по управлению памятью
- •Типы адресов
- •Риc. 5.6. Общая и индивидуальные части виртуальных адресных пространств
- •Алгоритмы распределения памяти
- •Фиксированные разделы
- •Динамические разделы
- •Перемещаемые разделы
- •Виртуальная память
- •Страничное распределение
- •Оптимизация страничной виртуальной памяти
- •Двухуровневое страничное распределение памяти
- •Сегментно-страничное распределение
- •Разделяемые сегменты памяти
- •Кэширование данных. Универсальная концепция
- •Иерархия памяти
- •Принцип действия кэш-памяти
- •Проблема согласования данных
- •Отображение основной памяти на кэш
- •Схемы выполнения запросов в системах с кэш-памятью
- •Задачи и упражнения
- •Глава 6. Аппаратная поддержка мультипрограммирования на примере процессора Pentium
- •Регистры процессора
- •Привилегированные команды
- •Средства поддержки сегментации памяти
- •Виртуальное адресное пространство
- •Преобразование адресов
- •Защита данных при сегментной организации памяти
- •Сегментно-страничный механизм
- •Средства вызова процедур и задач
- •Вызов процедур
- •Вызов задач
- •Механизм прерываний
- •Кэширование в процессоре Pentium
- •Буфер ассоциативной трансляции
- •Кэш первого уровня
- •Совместная работа кэшей разного уровня
- •Задачи и упражнения
- •Глава 7. Ввод-вывод и файловая система
- •Задачи ос по управлению файлами и устройствами
- •Согласование скоростей обмена и кэширование данных
- •Разделение устройств и данных
- •Программный интерфейс к устройствам
- •Поддержка широкого спектра драйверов
- •Динамическая загрузка и выгрузка драйверов
- •Поддержка файловых систем
- •Синхронный и асинхронный режимы
- •Многослойная модель подсистемы ввода-вывода Общая схема
- •Менеджер ввода-вывода
- •Многоуровневые драйверы
- •Логическая организация файловой системы
- •Цели и задачи файловой системы
- •Типы файлов
- •Иерархическая структура файловой системы
- •Имена файлов
- •Монтирование
- •Атрибуты файлов
- •Логическая организация файла
- •Физическая организация файловой системы
- •Диски, разделы, секторы, кластеры
- •Физическая организация и адресация файла
- •Физическая организация fat
- •Физическая организация s5 и ufs
- •Физическая организация ntfs
- •Структура тома ntfs
- •Структура файлов ntfs
- •Каталоги ntfs
- •Файловые операции фс с запоминанием и без запоминания состояния операций
- •Открытие файла
- •Обмен данными с файлом
- •Блокировки файлов
- •Стандартные файлы ввода и вывода, перенаправление вывода
- •Контроль доступа к файлам Файл как разделяемый ресурс
- •Механизм контроля доступа
- •Контроль доступа в ос Unix
- •Контроль доступа в ос семейства Windows nt Общая характеристика
- •Разрешения на доступ к каталогам и файлам
- •Встроенные группы пользователей и их права
- •Задачи и упражнения
- •Глава 8. Дополнительные возможности файловых систем
- •Специальные файлы и аппаратные драйверы Специальные файлы как универсальный интерфейс
- •Структурирование аппаратных драйверов
- •Структура драйвера ос семейства Windows nt
- •Структура драйвера Unix
- •Блок-ориентированные драйверы
- •Байт-ориентированные драйверы
- •Отображаемые на память файлы
- •Дисковый кэш
- •Традиционный дисковый кэш
- •Дисковый кэш на основе виртуальной памяти
- •Отказоустойчивость файловых и дисковых систем
- •Восстанавливаемость файловых систем. Причины нарушения целостности файловых систем
- •Протоколирование транзакций
- •Восстанавливаемость файловой системы ntfs
- •Избыточные дисковые подсистемы raid
- •Обмен данными между Процессами и потоками
- •Конвейеры
- •Именованные конвейеры
- •Очереди сообщений
- •Разделяемая память
- •Задачи и упражнения
- •Глава 9. Сеть как транспортная система
- •Роль сетевых транспортных средств ос
- •Коммутация пакетов Пакеты
- •Буферы и очереди
- •Методы продвижения пакетов
- •Протокол и стек протоколов
- •Семиуровневая модель osi
- •Физический уровень
- •Канальный уровень
- •Сетевой уровень
- •Транспортный уровень
- •Сеансовый уровень
- •Уровень представления
- •Прикладной уровень
- •Стек tcp/ip Структура стека
- •Классы ip-адресов
- •Использование масок
- •Частные и публичные iр-адреса
- •Символьные имена и dns
- •Протокол dhcp
- •Ручное конфигурирование таблиц
- •Протоколы маршрутизации
- •Реализация стека протоколов в универсальной ос
- •Структура транспортных средств универсальной ос
- •Конфигурирование параметров стека tcp/ip
- •Функциональная схема маршрутизатора
- •Основные характеристики Cisco ios
- •Модульная структура ios
- •Прерывания и управление процессами
- •Организация памяти
- •Работа с буферами пакетов
- •Программная маршрутизация и ускоренная коммутация
- •Поддержка QoS
- •Задачи и упражнения
- •Глава 10. Концепции распределенной обработки в сетевых ос
- •Модели сетевых служб и распределенных приложений
- •Разделение приложений на части
- •Двухзвенные схемы
- •Трехзвенные схемы
- •Механизм передачи сообщений в распределенных системах
- •Синхронизация
- •Буферизация в примитивах передачи сообщений
- •Способы адресации
- •Надежные и ненадежные примитивы
- •Механизм Sockets ос Unix
- •Вызов удаленных процедур
- •Концепция удаленного вызова процедур
- •Генерация стабов
- •Формат rPp-сообщений
- •Связывание клиента с сервером
- •Особенности реализации rpc на примере систем Sun rpc и dce rpc
- •Задачи и упражнения
- •Глава 11. Сетевые службы
- •Сетевая файловая система
- •Модель неоднородной сетевой файловой системы
- •Модель загрузки-выгрузки и модель удаленного доступа
- •Архитектурные решения
- •Производительность, надежность и безопасность сетевой файловой системы
- •Семантика разделения файлов
- •Файловые stateful- и stateless-cepверы
- •Место расположения кэша
- •Способы распространения модификаций
- •Проверка достоверности кэша
- •Репликация файлов
- •Прозрачность репликации
- •Согласование реплик
- •Пример. Протокол передачи файлов ftp
- •Пример. Файловая система nfs
- •Справочная сетевая служба Назначение справочной службы
- •Архитектура справочной службы
- •Децентрализованная модель
- •Централизованная модель
- •Централизованная модель с резервированием
- •Декомпозиция справочной службы на домены
- •Распределенная модель
- •Основные концепции справочной службы Active Directory Домены, контроллеры доменов
- •Объекты
- •Глобальный каталог
- •Иерархическая структура Active Directory
- •Иерархия организационных единиц
- •Иерархия доменов. Доверительные отношения
- •Пространство имен
- •Репликация в Active Directory
- •Межсетевое взаимодействие
- •Основные подходы к организации межсетевого взаимодействия
- •Трансляция
- •Мультиплексирование стеков протоколов
- •Инкапсуляция протоколов
- •Задачи и упражнения
- •Глава 12. Сетевая безопасность
- •Основные понятия безопасности Конфиденциальность, целостность и доступность данных
- •Классификация угроз
- •Системный подход к обеспечению безопасности
- •Политика безопасности
- •Базовые технологии безопасности
- •Шифрование
- •Симметричные алгоритмы шифрования
- •Несимметричные алгоритмы шифрования
- •Криптоалгоритм rsa
- •Односторонние функции шифрования
- •Аутентификация, авторизация, аудит Аутентификация
- •Авторизация доступа
- •Технология защищенного канала
- •Технологии аутентификации Сетевая аутентификация на основе многоразового пароля
- •Аутентификация с использованием одноразового пароля
- •Синхронизация по времени
- •Использование слова-вызова
- •Аутентификация на основе сертификатов
- •Сертифицирующие центры
- •Инфраструктура с открытыми ключами
- •Аутентификация информации
- •Цифровая подпись
- •Аутентификация программных кодов
- •Система Kerberos
- •Первичная аутентификация
- •Получение разрешения на доступ к ресурсному серверу
- •Получение доступа к ресурсу
- •Достоинства и недостатки
- •Задачи и упражнения
- •Ответы к задачам и упражнениям Глава 1
- •Глава 2
- •Глава 3
- •Глава 4
- •Глава 5
- •Глава 6
- •Глава 7
- •Глава 8
- •Глава 9
- •Глава 10
- •Глава 11
- •Глава 12
- •Рекомендуемая литература
- •Сетевые операционные системы: Учебник для вузов
Защита данных
На современном этапе развития операционных систем на передний план вышли средства обеспечения безопасности. Это связано с возросшей ценностью информации, обрабатываемой компьютерами, а также с повышенным уровнем угроз, существующих при передаче данных через Интернет. Разнообразные атаки, вирусы, троянские кони и невероятно увеличившееся количество спама серьезно мешают эффективной работе на компьютере, подключенном к Интернету. Интернет был создан как открытая среда для общения исследователей, и с приходом службы Web его открытость послужила причиной его огромной популярности для массового пользователя. Но сегодня эта открытость одновременно является и источником многочисленных помех в работе, так как каждый хакер в Интернете может атаковать ваш компьютер, рассылая вирусы или просто бомбардируя вас ненужными письмами. В результате значительная часть ресурсов ОС направлена сегодня на защиту компьютера от злоумышленников. Все больше средств распознавания и блокировки подозрительных действий включается в ОС и приложения, что, с одной стороны, защищает пользователя, а с другой — мешает его нормальной работе, так как даже для выполнения часто повторяющихся и рутинных операций, например, для сохранения вложений в письма, приходится преодолевать блокировки ОС, что для рядового пользователя иногда весьма непросто.
Виртуальные распределенные вычислительные системы суперкомпьютеров
Для ОС суперкомпьютеров и серверов одной из перспективных задач является поддержка работы компьютера в составе виртуальной распределенной вычислительной системы, узлы которой общаются через сеть, желательно — через Интернет. В сущности, это возврат к первоначальному назначению Интернета, который создавался для связи нескольких суперкомпьютеров и организации доступа к их вычислительным ресурсам многочисленных сотрудников исследовательских центров. Впоследствии Интернет стал основой для других сетевых сервисов: сначала сервисов файловых архивов и электронной почты, а потом и такого массового сервиса, как Web, дающего возможность использовать интернет-серверы как универсальные справочные системы, хранящие информацию практически любого вида в свободном формате, удобном для просмотра пользователями с помощью единственной программы — интернет-браузера. Эти сервисы используют в основном способности компьютеров по хранению данных в виде обычного набора файлов, их передаче по сети и представлению в удобном формате. При этом вычислительная мощность удаленных серверов (которые могут представлять собой и суперкомпьютеры) остается недоступной для пользователей Интернета — вы не можете запустить свою программу на удаленном сервере, так как этот сервер обычно не поддерживает такую услугу.
Долгое время совместное использование вычислительной мощности компьютеров через Интернет не было первоочередной задачей для разработчиков ОС и приложений, так как массовый пользователь не сталкивается с задачами, требующими для своего выполнения вычислительной мощности суперкомпьютеров. Однако сегодня очередь дошла до применения Интернета в интересах и других классов пользователей, которым нужны сверхвысокие вычислительные мощности, таких как ученые-исследователи, инженеры-конструкторы, медики, метеорологи и другие категории профессионалов. Для решения такого рода задач традиционно использовались мэйнфреймы и суперкомпьютеры. При этом для особо требовательных приложений суперкомпьютеры объединялись в кластер — группу тесно связанных компьютеров, которая скоординировано выполняла параллельные ветви единой задачи. Но хотя классические кластеры и были распределенными системами, их узлы были сосредоточены в пределах сравнительно небольшой области покрытия локальной сети и принадлежали они, как правило, одной организации.
Сегодняшние возможности, предоставляемые Интернетом по связи компьютеров в масштабах всего земного шара, а также новые потребности пользователей привели к созданию кластеров компьютеров, рассредоточенных по различным странам и лабораториям, но способных работать как традиционные кластеры по решению сложных вычислительных задач.
Возник новый термин — Grid Computing (или просто Grid1), который произошел от другого давно существующего термина Power Grid, относящегося к энергетической сети, объединяющей электростанции и потребителей электроэнергии. Grid Computing — это метафора, цель которой показать, что использование вычислительной мощности удаленных мощных компьютеров становится таким же простым, как потребление электроэнергии мощных электростанций в каждом жилом доме.
Разработка и поддержание сервисов разделения вычислительной мощности компьютеров через Интернет является весьма сложной задачей. Конечной целью является создание сервиса, который бы позволял создавать виртуальные организации, получающие по запросу доступ к вычислительным мощностям и накопителям компьютеров, рассредоточенным по различным суперкомпьютерным центрам и лабораториям. В таком случае, например, любая небольшая лаборатория, которой потребовалось обрабатывать в течение месяца большой массив экспериментальных данных, может получить в свое распоряжение дорогой суперкомпьютер, направив заявку в соответствующую службу, в результате чего необходимый виртуальный компьютер становится доступным сотрудникам лаборатории через Интернет.
Сегодня Grid — это концепция, подкрепленная набором стандартов. Существует форум Open Grid, который помогает разработке таких стандартов и реализации на их базе программных средств и соответствующих сервисов. Первые практические Grid-сервисы были созданы в CERN, том же самом европейском центре ядерных исследований, в котором появился на свет сервис WWW. Разработка Grid-сервисов широко поддерживается Европейским Союзом, в результате чего было создано несколько паневропейских Grid-сервисов, например, в рамках проекта Enabling Grids for E-sciencE (EGEE). На момент написания этой книги (начало 2007 года) Grid-сервис EGEE состоял из более 20 000 процессоров и обладал суммарной емкостью дисковой памяти в 5 000 000 гигабайтов. Еще одной практической реализацией идеи Grid является сервис PlanetLab, который также предоставляет виртуальную вычислительную мощность ученым-исследователям.
На пути использования виртуальных Grid-кластеров стоит проблема распараллеливания сложных вычислительных задач. Сегодня существует много задач, которые не распараллеливаются естественным образом, так что ученым еще предстоит потрудиться для того, чтобы сделать их пригодными для Grid-сервисов. Но существует и большое количество распределенных баз данных, для которых Grid является естественной средой выполнения. Например, множество медицинских данных создается в каждом крупном медицинском центре при наблюдении над больными, и возможность сопоставить их с помощью виртуальной Grid-машины является очень ценной для медиков. Такие же проблемы у метеорологов, собирающих данные от многочисленных датчиков и спутников; ученые астрономы также стоят перед задачей обработки данных, получаемых от телескопов, расположенных в разных странах. Так что потенциальных пользователей у виртуальных Grid-систем много, осталось сделать эти сервисы доступными.
Для организации Grid-вычислений нужна их программная поддержка. До недавнего времени эта поддержка реализовывалась в дополнительном относительно ОС слое программного обеспечения, но очевидно, что было бы хорошо внедрить в ОС некоторые дополнительные функции, позволяющие разделять процессор через Интернет. В середине 2006 года стартовал проект XtreemOS, спонсируемый Европейским Союзом, который ставит своей задачей создание специализированной Grid-OC на основе кода Linux. Компания Microsoft в конце 2006 года при презентации Windows Vista также объявила о серьезности своих намерений в области создания операционных систем для вычислительных кластеров.
На этом мы заканчиваем обзор важнейших событий, которые произошли в мире операционных систем за последние полвека. Краткую хронологию этих событий вы найдете в табл. 1.1.
Таблица 1.1. Эволюция ОС. Хронология событий
2006 |
ОС Windows Vista , старт второй очереди проекта виртуальной распределенной вычислительной системы (Grid) |
2000 |
Windows 2000 |
1995 |
ОС для мэйнфреймов OS/390 |
1993 |
Windows NT 3.1; NetWare 4.0 |
1991 |
Первая ОС семейства LINUX ' |
1987 |
OS/2 — первая мультипрограммная ОС для персонального компьютера |
1985 |
Первая ОС семейства Windows |
1984 |
Первая ОС семейства Мае |
1983 |
Первая ОС семейства NetWare |
1981 |
Операционная система MS-DOS для персонального компьютера |
1980 |
Принят стандарт технологии Ethernet локальных сетей , |
1979 |
Рабочий вариант стека TCP/IP |
1976 |
Первое сетевое приложение UUCP для Unix |
1974 |
Сетевые технологии SNA и Х.25 |
1973 |
Операционные системы RSX-11 и RT-11 для миникомпыотеров |
1970 |
Глобальная вычислительная сеть ARPANET |
1969 |
Первая ОС семейства Unix |
1968 |
Многомашинная система разделения времени АИСТ |
1965 |
Первые мультипрограммные ОС: MULTICS, OS/360 |
1964 |
Первое семейство программно совместимых компьютеров IBM System/360 |
1962 |
Программный монитор для БЭСМ-6 |
1961 |
Первая реализация виртуальной памяти компанией Burroughs для ее компьютера В5000 |
1960 |
Первые программные мониторы — прообразы операционных систем |
1951 |
Первая советская электронная вычислительная машина М-1 |
1945 - 1950 |
Первые ламповые компьютеры в Западной Европе и США |
Но эволюция ОС на этом не заканчивается. Возможно, именно сейчас зарождается нечто, чему мы пока не способны дать правильную оценку, как не могли, например, оценить перспективы Интернета при его зарождении в конце 60-х, то есть нечто, что через несколько лет будет признано революционным событием, повлиявшим на всю дальнейшую историю операционных систем.
Выводы
История ОС насчитывает примерно полвека. Она во многом определяется развитием элементной базы и вычислительной аппаратуры.
Первые цифровые вычислительные машины, появившиеся в начале 40-годов, работали без операционных систем, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления.
Прообразом современных операционных систем явились мониторные системы середины 50-х, которые автоматизировали действия оператора по выполнению пакета заданий.
В 1965-1975 годах переход к интегральным микросхемам открыл путь к появлению следующего поколения компьютеров, ярким представителем которых является IBM/360. В этот период были реализованы практически все основные концепции, присущие современным ОС: мультипрограммирование, мультипроцессирование, многотерминальный режим, виртуальная память, файловые системы, разграничение доступа и сетевая работа.
Реализация мультипрограммирования потребовала внесения очень важных изменений в аппаратуру компьютера. В процессорах появились привилегированный и пользовательский режимы работы, специальные регистры для быстрого переключения с одной задачи на другую, средства защиты областей памяти, а также развитая система прерываний.
В конце 60-х были начаты работы по созданию глобальной сети ARPANET, явившейся отправной точкой для Интернета, — глобальной общедоступной сети, которая стала для многих сетевых ОС испытательным полигоном, позволившим проверить в реальных условиях возможности их взаимодействия, степень масштабируемости, способность работы при экстремальной нагрузке.
К середине 70-х годов широкое распространение получили миникомпьютеры. Архитектура миникомпьютеров была значительно упрощена по сравнению с мэйнфреймами, что нашло отражение и в их ОС. Экономичность и доступность миникомпьютеров послужила мощным стимулом для создания локальных сетей. Предприятие, которое теперь могло позволить себе иметь несколько миникомпьютеров, нуждалось в организации совместного использования данных и дорогого периферийного оборудования. Первые локальные сети строились с помощью нестандартного коммуникационного оборудования и нестандартного программного обеспечения.
С середины 70-х годов началось массовое использование Unix, уникальной для того времени ОС, которая сравнительно легко переносилась на различные типы компьютеров. Хотя ОС Unix была первоначально разработана для миникомпьютеров, ее гибкость, элегантность, мощные функциональные возможности и открытость позволили ей занять прочные позиции во всех классах компьютеров.
В конце 70-х годов был создан рабочий вариант стека протоколов TCP/IP. В 1983 году стек протоколов TCP/IP был стандартизован. Независимость от производителей, гибкость и эффективность, доказанные успешной работой в Интернете, сделали протоколы TCP/IP не только главным транспортным механизмом Интернета, но и основным стеком большинства сетевых ОС.
Начало 80-х годов ознаменовалось знаменательным для истории операционных систем событием — появлением персональных компьютеров, которые стали мощным катализатором бурного роста локальных сетей, создав для этого отличную материальную основу в виде десятков и сотен компьютеров, расположенных в пределах одного здания. В результате поддержка сетевых функций стала для ОС персональных компьютеров необходимым условием.
В 80-е годы были приняты основные стандарты на коммуникационные технологии для локальных сетей: в 1980 году — Ethernet, в 1985 — Token Ring, в конце 80-х — FDDI. Это позволило обеспечить совместимость' сетевых ОС на нижних уровнях, а также стандартизовать интерфейс ОС с драйверами сетевых адаптеров.
К началу 90-х практически все ОС стали сетевыми, способными поддерживать работу с разнородными клиентами и серверами. Появились специализированные сетевые ОС, предназначенные исключительно для решения коммуникационных задач, например, система IOS компании Cisco Systems, работающая на маршрутизаторах.
Особое внимание в течение всего последнего десятилетия уделялось корпоративным сетевым ОС, для которых характерны высокая степень масштабируемости, поддержка сетевой работы, развитые средства обеспечения безопасности, способность работать в гетерогенной среде, наличие средств централизованного администрирования и управления.
Развитие ОС для персональных компьютеров ставит задачи повышения их надежности, удобства эксплуатации, эффективности поиска и представления информации.
Операционные системы суперкомпьютеров будут наделяться функциями поддержки виртуальных кластеров, способных разделять вычислительную мощность компьютера через Интернет.
