
- •Оглавление
- •1 Операционные системы. Общие понятия 6
- •2 Однопользовательские операционные системы 16
- •3 Сетевые операционные системы 18
- •4 Управление локальными ресурсами 23
- •5 Современные концепции и технологии проектирования операционных систем 60
- •Введение
- •1Операционные системы. Общие понятия
- •1.1Понятие и функции операционной системы
- •1.1.1Ос как расширенная машина
- •1.1.2Ос как система управления ресурсами
- •1.2Этапы развития ос
- •1.3Классификация ос
- •1.3.1Особенности алгоритмов управления ресурсами
- •Поддержка многозадачности
- •Поддержка многопользовательского режима
- •Вытесняющая и невытесняющая многозадачность
- •Поддержка многонитевости
- •Многопроцессорная обработка
- •1.3.2Особенности аппаратных платформ
- •1.3.3Особенности областей использования
- •1.3.4Особенности методов построения
- •2Однопользовательские операционные системы
- •2.1Структура однозадачной операционной системы
- •2.2Структура многозадачной операционной системы
- •3Сетевые операционные системы
- •3.1Структура сетевой операционной системы
- •3.2Одноранговые сетевые ос и ос выделенных серверов
- •4Управление локальными ресурсами
- •4.1Понятие ресурса
- •4.1.1Свойства и классификация ресурсов
- •4.1.2Действия над ресурсами
- •4.2Управление процессами
- •4.2.1Состояние процессов
- •4.2.2Алгоритмы планирования процессов
- •4.2.3Вытесняющая и невытесняющая многозадачность
- •4.2.4Нити
- •4.2.5Взаимодействие процессов Разделяемая память
- •Программные каналы
- •Системы, управляемые событиями
- •4.2.6Средства синхронизации процессов Проблема синхронизации
- •Критическая секция
- •4.3Управление памятью
- •4.3.1Типы адресов
- •4.3.2Методы распределения памяти без использования дискового пространства
- •Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •4.3.3Методы распределения памяти с использованием дискового пространства Понятие виртуальной памяти
- •Страничное распределение
- •Сегментное распределение
- •Странично-сегментное распределение
- •Свопинг
- •4.3.4Иерархия запоминающих устройств. Принцип кэширования данных
- •4.4Управление вводом-выводом
- •4.4.1Физическая организация устройств ввода-вывода
- •4.4.2Организация программного обеспечения ввода-вывода
- •Обработка прерываний
- •Драйверы устройств
- •Независимый от устройств, слой операционной системы
- •Пользовательский слой программного обеспечения
- •4.5Файловая система
- •4.5.1Имена файлов
- •4.5.2Типы файлов
- •4.5.3Логическая организация файла
- •4.5.4Физическая организация и адрес файла
- •4.5.5Права доступа к файлу
- •4.5.6Общая модель файловой системы
- •4.5.7Отображаемые в память файлы
- •4.5.8Современная архитектура файловой системы
- •5Современные концепции и технологии проектирования операционных систем
- •5.1Требования, предъявляемые к ос нового поколения
- •5.2Пользовательский интерфейс
- •5.2.1Интерфейс cli
- •5.2.2Интерфейс gui
- •5.3Операционная система Windows nt
- •5.3.1История создания
- •5.3.2Особенности Windows nt версий 4.0 и 5.0
- •5.3.3Требования к аппаратуре
- •5.3.4Области использования Windows nt
- •5.3.5Микроядерная структура Windows nt
- •5.3.6Планирование процессов и нитей
- •5.3.7Управление памятью
- •5.3.8Файловые системы Windows nt
- •Файловая система fat
- •Файловая система ntfs Структура ntfs
- •Короткие имена
- •Надежность ntfs
- •5.3.9Управление вводом-выводом в Windows nt
- •5.3.10Встроенная сетевая поддержка в Windows nt
- •5.3.11Доменная справочная служба Windows nt
- •5.3.12Служба каталогов Active Directory Общие сведения о службе каталогов
- •Архитектура Active Directory
- •Модель данных
- •Логическая структура
- •Модель защиты данных
- •Модель управления
- •Свойства Active Directory
- •Интеграция dns
- •Именование объектов
- •Доступ к Active Directory
- •Виртуальные контейнеры
- •Глобальный каталог
- •Безопасность
- •Репликация
- •Деревья и лес
- •Логическая структура
- •Публикация
- •Лабораторные работы по курсу «Операционные системы»
- •Управление файлами в ms dos
- •Основные отличия Windows от ms dos
- •Windows и объектно-ориентированное программирование
- •Принцип разделения ресурсов компьютера при работе нескольких задач в Windows
- •Динамически подключаемые библиотеки (dll) и принципы организации памяти Windows
- •Реестр Windows
- •Управление файлами в Windows
- •Общая организация традиционного ядра ос unix
- •Основные функции ядра
- •Принципы взаимодействия с ядром
- •Принципы обработки прерываний
- •Файловая система Linux
- •Задание на лабораторную работу
- •Состояние процессов
- •Алгоритмы планирования процессов
- •Взаимодействие и синхронизация процессов
- •Задание на лабораторную работу
- •Варианты заданий
- •Методы распределения памяти с использованием дискового пространства
- •Задание на лабораторную работу
- •Варианты заданий
- •Общая модель файловой системы
- •Физическая организация файла на устройстве внешней памяти
- •Файловая система fat
- •Файловая система ntfs
- •Файловая система ext2
- •Журналируемые файловые системы
- •Задание на лабораторную работу
- •Варианты заданий
- •Литература
Принцип разделения ресурсов компьютера при работе нескольких задач в Windows
MS DOS изначально проектировалась как однозадачная система. Поэтому в ней практически нет средств, позволяющих одновременно выполнять несколько программ (кроме утилиты print). Поскольку Windows ориентирована на работу одновременно нескольких программ, то монопольное владение ограниченными ресурсами, такими как устройства ввода-вывода, оперативная память и процессор, характерное для MS DOS, в данном случае недопустимо.
При создании программ для Windows нельзя напрямую обращаться к тем или иным устройствам. Это относится не только к дисплею или, скажем, к клавиатуре, но и к оперативной памяти, так как в любой момент времени диспетчер памяти Windows может вытеснить любой из блоков памяти, выделенных программе, на диск или переместить в другую область адресного пространства.
Поэтому если необходимо прикладной Windows-программе обратиться к какому-нибудь разделяемому ресурсу, нужно использовать функции Windows, а также специальную технику программирования для правильного взаимодействия создаваемой программы со средой Windows.
При соблюдении этих правил программа после инициализации будет находиться под управлением Windows, что позволяет использовать все функции среды по управлению задачами без их явного описания в самой программе.
Таким образом, разделение ресурсов, хотя и накладывает некоторые ограничения, предоставляет возможность программисту сосредоточиться на разработке собственно алгоритма программы, уделяя проработке интерфейса минимальное время.
Динамически подключаемые библиотеки (dll) и принципы организации памяти Windows
Если программа, предназначенная для работы в MS DOS, использует какие-либо библиотечные функции, то при компоновке выполняемого файла все эти функции помещаются в результирующий файл.
В Windows применяется принципиально иной метод, заключающийся в том, что в выполняемый модуль помещается не сама функция, а название библиотечного модуля и номер этой функции в данном модуле. Все вызовы этой функции в тексте программы преобразуются компилятором к виду дальних межсегментных вызовов как будто бы данная функция находится в другом сегменте оперативной памяти.
При загрузке программы и обращении к какой-либо из библиотечных функций Windows подгружает эту библиотеку в память и подставляет нужный адрес в команду вызова функции. Эта технология получила название динамически подключаемых библиотек — DLL (Dynamic Link Libraries).
Организация памяти в системе Windows включает глобальную область памяти, разделяемую всеми программами, и локальные динамические области, предназначенные для работы каждой отдельной программы Windows
В глобальную область памяти загружаются сегменты кода и данных программ. Эта область используется и в качестве динамической памяти. Сегменты, которые находятся в младших адресах глобальной области памяти, не могут перемещаться в другие части адресного пространства или вытесняться на диск. Такие сегменты называются фиксированными. В старших областях размещаются сегменты, которые могут и перемещаться, и вытесняться на диск Сегменты, которые не могут вытесняться на диск, но допускают перемещение в памяти, размещаются между фиксированными и вытесняемыми сегментами.
При возникновении запроса Windows на размещение фиксированного сегмента система с младших адресов начинает поиск непрерывной свободной области памяти нужного размера. Если такая область не найдена, Windows выполняет перемещение сегментов в старшие адреса памяти. Когда и эта мера не позволяет выделить участок памяти нужного размера Windows вытесняет на диск те сегменты, к которым было меньше всего обращений.
Для размещения в памяти перемещаемых, но невытесняемых сегментов Windows просматривает память, начинающуюся выше области фиксированных сегментов, перемещая или вытесняя сегменты на диск при необходимости. В области вытесняемых сегментов Windows всегда держит свободное непрерывное пространство, достаточное для размещения сегмента наибольшего размера.
При работе с локальной памятью используются те же принципы и алгоритмы, что и при работе с глобальной.