- •Сетевые операционные системы
- •Управление процессами
- •Управление процессами
- •Файловая система
- •Эволюция ос Первый период (1945 -1955)
- •Второй период (1955 - 1965)
- •Третий период (1965 - 1980)
- •Особенности алгоритмов управления ресурсами
- •Четвертый период (1980 - настоящее время)
- •Классификация ос
- •Особенности аппаратных платформ
- •Особенности областей использования
- •Особенности методов построения
- •Сетевые операционные системы Структура сетевой операционной системы
- •Одноранговые сетевые ос и ос с выделенными серверами
- •Ос для рабочих групп и ос для сетей масштаба предприятия
- •Управление локальными ресурсами
- •Управление процессами
- •Состояние процессов
- •Контекст и дескриптор процесса
- •Алгоритмы планирования процессов
- •Вытесняющие и невытесняющие алгоритмы планирования
- •Средства синхронизации и взаимодействия процессов
- •Управление памятью
- •Типы адресов
- •Методы распределения памяти без использования дискового пространства
- •Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •Методы распределения памяти с использованием дискового пространства Понятие виртуальной памяти
- •Страничное распределение
- •Сегментное распределение
- •Странично-сегментное распределение
- •Свопинг
- •Иерархия запоминающих устройств. Принцип кэширования данных
- •Средства аппаратной поддержки управления памятью и многозадачной среды в микропроцессорах Intel 80386, 80486 и Pentium
- •Средства поддержки сегментации памяти
- •Сегментно-страничный механизм
- •Средства вызова подпрограмм и задач
- •Управление вводом-выводом
- •Физическая организация устройств ввода-вывода
- •Организация программного обеспечения ввода-вывода
- •Обработка прерываний
- •Драйверы устройств
- •Независимый от устройств слой операционной системы
- •Пользовательский слой программного обеспечения
- •Файловая система
- •Имена файлов
- •Типы файлов
- •Логическая организация файла
- •Физическая организация и адрес файла
- •Права доступа к файлу
- •Кэширование диска
- •Общая модель файловой системы
- •Отображаемые в память файлы
- •Современные архитектуры файловых систем
- •Управление распределенными ресурсами Базовые примитивы передачи сообщений в распределенных системах
- •Способы адресации
- •Блокирующие и неблокирующие примитивы
- •Буферизуемые и небуферизуемые примитивы
- •Надежные и ненадежные примитивы
- •Вызов удаленных процедур (rpc) Концепция удаленного вызова процедур
- •Базовые операции rpc
- •Этапы выполнения rpc
- •Динамическое связывание
- •Семантика rpc в случае отказов
- •Синхронизация в распределенных системах
- •Алгоритм синхронизации логических часов
- •Алгоритмы взаимного исключения
- •Неделимые транзакции
- •Процессы и нити в распределенных системах Понятие "нить"
- •Различные способы организации вычислительного процесса с использованием нитей
- •Вопросы реализации нитей
- •Нити и rpc
- •Распределенные файловые системы
- •Интерфейс файлового сервиса
- •Интерфейс сервиса каталогов
- •Семантика разделения файлов
- •Вопросы разработки структуры файловой системы
- •Кэширование
- •Репликация
- •Проблемы взаимодействия операционных систем в гетерогенных сетях Понятия "internetworking" и "interoperability"
- •Гетерогенность
- •Основные подходы к реализации взаимодействия сетей
- •Мультиплексирование стеков протоколов
- •Использование магистрального протокола
- •Вопросы реализации
- •Сравнение вариантов организации взаимодействия сетей
- •Службы именования ресурсов и проблемы прозрачности доступа
- •Доменный подход
- •Основной и резервные контроллеры домена
- •Четыре модели организации связи доменов
- •Современные концепции и технологии проектирования операционных систем Требования, предъявляемые к ос 90-х годов
- •Расширяемость
- •Переносимость
- •Совместимость
- •Безопасность
- •Многоуровневые системы
- •Тенденции в структурном построении ос
- •Монолитные системы
- •Модель клиент-сервер и микроядра
- •Объектно-ориентированный подход
- •Множественные прикладные среды
- •Сетевой пакет dce фирмы osf
- •Концепции unix System V Release 4 Управление процессами Образ, дескриптор, контекст процесса
- •Порождение процессов
- •Планирование процессов
- •Файловые системы unix System V Release 4
- •Традиционная файловая система s5
- •Виртуальная файловая система vfs
- •Сетевая файловая система nfs
- •Управление памятью. Свопинг
- •Система ввода-вывода
- •Подсистема буферизации
- •Драйверы
- •Коммерческие реализации unix
- •Дополнительные свойства UnixWare по сравнению с unix System V Release 4
- •I. Поддержка мультипроцессирования
- •Микроядро Mach
- •Введение в Mach История Mach
- •Цели Mach
- •Основные концепции Mach
- •Сервер Mach bsd unix
- •Управление процессами в Mach Процессы
- •Примитивы управления процессами
- •Планирование
- •Управление памятью в Mach
- •Виртуальная память
- •Разделение памяти
- •Внешние менеджеры памяти
- •Распределенная разделяемая память в Mach
- •Коммуникации в ядре Mach
- •Отправка и получение сообщений
- •Сервер сетевых сообщений
- •Сетевые продукты фирмы Novell История и версии сетевой ос NetWare
- •Версия NetWare 4.1
- •Концепции построения NetWare Структура NetWare и обзор особенностей
- •Способы повышения производительности
- •Способы обеспечения открытости и расширяемости
- •Способы обеспечения надежности
- •Защита информации
- •Управление процессами
- •Файловая система
- •Основные направления развития NetWare Поддержка мультипроцессирования
- •Обеспечение процессорной независимости
- •Сетевые системные утилиты NetWare Connect 1.0 фирмы Novell
- •WinView for Networks v2.2 фирмы Citrix Systems
- •Шлюзы ip-сетей
- •Системы обработки сообщений mhs и GroupWise
- •Семейство сетевых ос компании Microsoft Сетевые продукты Microsoft
- •История Windows nt
- •Версии Windows nt
- •Области использования Windows nt
- •Концепции Windows nt Структура: nt executive и защищенные подсистемы
- •Множественные прикладные среды
- •Объектно-ориентированный подход
- •Процессы и нити
- •Алгоритм планирования процессов и нитей
- •Сетевые средства
- •Совместимость Windows nt с NetWare
- •Средства BackOffice
- •Сервер баз данных sql Server
- •Шлюз sna Server
- •Почтовые системы Microsoft Mail и система коллективной работы Microsoft Exchange
- •Система управления компьютерами System Management Server
- •Операционная система os/2 История развития os/2 и ее место на рынке
- •Битва Microsoft - ibm на рынке настольных ос
- •Os/2 - постепенные улучшения
- •Общая характеристика
- •Внутренняя организация os/2 Warp
- •Файловая система hpfs
- •Общая характеристика
- •Сетевые возможности
- •Управление сервером lan Server 4.0
- •Совместимость с NetWare
Введение
Определение операционной системы
Эволюция ОС
Первый период (1945 -1955)
Второй период (1955 - 1965)
Третий период (1965 - 1980)
Четвертый период (1980 - настоящее время)
Классификация ОС
Особенности алгоритмов управления ресурсами
Особенности аппаратных платформ
Особенности областей использования
Особенности методов построения
Сетевые операционные системы
Структура сетевой операционной системы
Одноранговые сетевые ОС и ОС с выделенными серверами
ОС для рабочих групп и ОС для сетей масштаба предприятия
Управление локальными ресурсами
Управление процессами
Состояние процессов
Контекст и дескриптор процесса
Алгоритмы планирования процессов
Вытесняющие и невытесняющие алгоритмы планирования
Средства синхронизации и взаимодействия процессов
Нити
Управление памятью
Типы адресов
Методы распределения памяти без использования дискового пространства
Распределение памяти фиксированными разделами
Распределение памяти разделами переменной величины
Перемещаемые разделы
Методы распределения памяти с использованием дискового пространства
Понятие виртуальной памяти
Страничное распределение
Сегментное распределение
Странично-сегментное распределение
Свопинг
Иерархия запоминающих устройств. Принцип кэширования данных
Средства аппаратной поддержки управления памятью и многозадачной среды в микропроцессорах Intel 80386, 80486 и Pentium
Средства поддержки сегментации памяти
Сегментно-страничный механизм
Средства вызова подпрограмм и задач
Управление вводом-выводом
Физическая организация устройств ввода-вывода
Организация программного обеспечения ввода-вывода
Обработка прерываний
Драйверы устройств
Независимый от устройств слой операционной системы
Пользовательский слой программного обеспечения
Файловая система
Имена файлов
Типы файлов
Логическая организация файла
Физическая организация и адрес файла
Права доступа к файлу
Кэширование диска
Общая модель файловой системы
Отображаемые в память файлы
Современные архитектуры файловых систем
Управление распределенными ресурсами
Базовые примитивы передачи сообщений в распределенных системах
Способы адресации
Блокирующие и неблокирующие примитивы
Буферизуемые и небуферизуемые примитивы
Надежные и ненадежные примитивы
Вызов удаленных процедур (RPC)
Концепция удаленного вызова процедур
Базовые операции RPC
Этапы выполнения RPC
Динамическое связывание
Семантика RPC в случае отказов
Синхронизация в распределенных системах
Алгоритм синхронизации логических часов
Алгоритмы взаимного исключения
Неделимые транзакции
Процессы и нити в распределенных системах
Понятие "нить"
Различные способы организации вычислительного процесса с использованием нитей
Вопросы реализации нитей
Нити и RPC
Распределенные файловые системы
Интерфейс файлового сервиса
Интерфейс сервиса каталогов
Семантика разделения файлов
Вопросы разработки структуры файловой системы
Кэширование
Репликация
Проблемы взаимодействия операционных систем в гетерогенных сетях
Понятия "internetworking" и "interoperability"
Гетерогенность
Основные подходы к реализации взаимодействия сетей
Шлюзы
Мультиплексирование стеков протоколов
Использование магистрального протокола
Вопросы реализации
Сравнение вариантов организации взаимодействия сетей
Службы именования ресурсов и проблемы прозрачности доступа
Доменный подход
Основной и резервные контроллеры домена
Четыре модели организации связи доменов
Современные концепции и технологии проектирования операционных систем
Требования, предъявляемые к ОС 90-х годов
Расширяемость
Переносимость
Совместимость
Безопасность
Тенденции в структурном построении ОС
Монолитные системы
Многоуровневые системы
Модель клиент-сервер и микроядра
Объектно-ориентированный подход
Множественные прикладные среды
Сетевой пакет DCE фирмы OSF
Семейство операционных систем UNIX
История и общая характеристика семейства операционных систем UNIX
Концепции UNIX System V Release 4
Управление процессами
Образ, дескриптор, контекст процесса
Порождение процессов
Планирование процессов
Файловые системы UNIX System V Release 4
Традиционная файловая система s5
Виртуальная файловая система VFS
Сетевая файловая система NFS
Управление памятью. Свопинг
Система ввода-вывода
Подсистема буферизации
Драйверы
Коммерческие реализации UNIX
UnixWare
Дополнительные свойства UnixWare по сравнению с UNIX System V Release 4
Solaris
SCO UNIX System V/386
Микроядро Mach
Введение в Mach
История Mach
Цели Mach
Основные концепции Mach
Сервер Mach BSD UNIX
Управление процессами в Mach
Процессы
Примитивы управления процессами
Нити
Планирование
Управление памятью в Mach
Виртуальная память
Разделение памяти
Внешние менеджеры памяти
Распределенная разделяемая память в Mach
Коммуникации в ядре Mach
Порты
Отправка и получение сообщений
Сервер сетевых сообщений
Эмуляция BSD UNIX в Mach
Сетевые продукты фирмы Novell
История и версии сетевой ОС NetWare
Версии 4.0, 4.01 и 4.02
Версия NetWare 4.1
Концепции построения NetWare
Структура NetWare и обзор особенностей
Способы повышения производительности
Способы обеспечения открытости и расширяемости
Способы обеспечения надежности
Защита информации
Управление процессами
Файловая система
Основные направления развития NetWare
Поддержка мультипроцессирования
Обеспечение процессорной независимости
Операционные системы рабочих станций фирмы Novell
Сетевые системные утилиты
NetWare Connect 1.0 фирмы Novell
WinView for Networks v2.2 фирмы Citrix Systems
Шлюзы IP-сетей
Системы обработки сообщений MHS и GroupWise
Семейство сетевых ОС компании Microsoft
Сетевые продукты Microsoft
История Windows NT
Версии Windows NT
Windows NT 3.1
Windows NT 3.5
Windows NT 4.0
Области использования Windows NT
Концепции Windows NT
Структура: NT executive и защищенные подсистемы
Множественные прикладные среды
Объектно-ориентированный подход
Процессы и нити
Алгоритм планирования процессов и нитей
Сетевые средства
Совместимость Windows NT с NetWare
Средства BackOffice
Сервер баз данных SQL Server
Шлюз SNA Server
Почтовые системы Microsoft Mail и система коллективной работы Microsoft Exchange
Система управления компьютерами System Management Server
Windows 95 и будущее семейства Windows
Операционная система OS/2
История развития OS/2 и ее место на рынке
Битва Microsoft - IBM на рынке настольных ОС
OS/2 - постепенные улучшения
OS/2 Warp
Общая характеристика
Внутренняя организация OS/2 Warp
Файловая система HPFS
LAN Server 4.0
Общая характеристика
Сетевые возможности
Управление сервером LAN Server 4.0
Совместимость с NetWare
Обзор сетевых операционных систем
Введение
Определение операционной системы
Операционная система в наибольшей степени определяет облик всей вычислительной системы в целом. Несмотря на это, пользователи, активно использующие вычислительную технику, зачастую испытывают затруднения при попытке дать определение операционной системе. Частично это связано с тем, что ОС выполняет две по существу мало связанные функции: обеспечение пользователю-программисту удобств посредством предоставления для него расширенной машины и повышение эффективности использования компьютера путем рационального управления его ресурсами.
ОС как расширенная машина
Использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающих наличие и типы ошибок, которые, очевидно, надо анализировать. Даже если не входить в курс реальных проблем программирования ввода-вывода, ясно, что среди программистов нашлось бы не много желающих непосредственно заниматься программированием этих операций. При работе с диском программисту-пользователю достаточно представлять его в виде некоторого набора файлов, каждый из которых имеет имя. Работа с файлом заключается в его открытии, выполнении чтения или записи, а затем в закрытии файла. Вопросы подобные таким, как следует ли при записи использовать усовершенствованную частотную модуляцию или в каком состоянии сейчас находится двигатель механизма перемещения считывающих головок, не должны волновать пользователя. Программа, которая скрывает от программиста все реалии аппаратуры и предоставляет возможность простого, удобного просмотра указанных файлов, чтения или записи - это, конечно, операционная система. Точно также, как ОС ограждает программистов от аппаратуры дискового накопителя и предоставляет ему простой файловый интерфейс, операционная система берет на себя все малоприятные дела, связанные с обработкой прерываний, управлением таймерами и оперативной памятью, а также другие низкоуровневые проблемы. В каждом случае та абстрактная, воображаемая машина, с которой, благодаря операционной системе, теперь может иметь дело пользователь, гораздо проще и удобнее в обращении, чем реальная аппаратура, лежащая в основе этой абстрактной машины.
С этой точки зрения функцией ОС является предоставление пользователю некоторой расширенной или виртуальной машины, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальную машину.
ОС как система управления ресурсами
Идея о том, что ОС прежде всего система, обеспечивающая удобный интерфейс пользователям, соответствует рассмотрению сверху вниз. Другой взгляд, снизу вверх, дает представление об ОС как о некотором механизме, управляющем всеми частями сложной системы. Современные вычислительные системы состоят из процессоров, памяти, таймеров, дисков, накопителей на магнитных лентах, сетевых коммуникационной аппаратуры, принтеров и других устройств. В соответствии со вторым подходом функцией ОС является распределение процессоров, памяти, устройств и данных между процессами, конкурирующими за эти ресурсы. ОС должна управлять всеми ресурсами вычислительной машины таким образом, чтобы обеспечить максимальную эффективность ее функционирования. Критерием эффективности может быть, например, пропускная способность или реактивность системы. Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач:
планирование ресурса - то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс;
отслеживание состояния ресурса - то есть поддержание оперативной информации о том, занят или не занят ресурс, а для делимых ресурсов - какое количество ресурса уже распределено, а какое свободно.
Для решения этих общих задач управления ресурсами разные ОС используют различные алгоритмы, что в конечном счете и определяет их облик в целом, включая характеристики производительности, область применения и даже пользовательский интерфейс. Так, например, алгоритм управления процессором в значительной степени определяет, является ли ОС системой разделения времени, системой пакетной обработки или системой реального времени.
