- •Понятие и классификация ос
- •Основные задачи:
- •Эволюция ос
- •Основные понятия и концепции ос
- •Классификация ос
- •По особенности алгоритма управления ресурсом.
- •По особенностям аппаратных платформ.
- •По особенностям методов построения.
- •Управление процессами
- •Операции над процессами.
- •Алгоритмы планирования
- •2 Группы алгоритмов планирования
- •Потоки (Thread)
- •Средства взаимодействия и синхронизация процессов
- •Семафоры
- •Типовые ситуации с использованием s-ов.
- •Взаимное исключение на семафоре:
- •Синхронизация на семафоре:
- •Семафор как счетчик ресурсов:
- •Взаимоблокировки
- •Неделимые транзакции
- •Архитектура и управление процессами в ос семейства Windows
- •В каждой Windows системе выполняются процессы:
- •Процесс windows состоит из:
- •Синхронизация потоков
- •Для связи между процессами используются:
- •Архитектура процессов Unix.
- •Управление процессами.
- •Создание новых процессов.
- •Межпроцессное взаимодействие.
- •Файловая система
- •Функции файловой системы:
- •Типы файлов:
- •Структуризация фалов
- •Адресация и доступ к файлам
- •Размещение в виде связанного списка блоков дисковой памяти.
- •Использования связанного списка индексов.
- •Операции над файлом
- •Обобщённая модель файловой системы.
- •Отображаемые в память файлы.
- •Современная архитектура файловой системы.
- •Файловые системы windows.
- •Файловая система Fat.
- •Структура разделов под fat
- •Структура каталога ntfs
Неделимые транзакции
Транзакция – технология синхронизации высокого уровня.
Один процесс объявляет, что хочет начать транзакцию с одним или более процессами. В процессе работы могут использоваться объекты и ресурсы, изменения которых видны только процессам, участвующих в транзакции.
Организатор транзакции объявляет о ее фиксации. Если все участники готовы, то результат транзакции фиксируется и становится доступен внешним процессам.
Свойства транзакции:
Упорядочиваемость.
Если 2 или более транзакции выполняются одновременно, то конечный результат выглядит как если бы они выполнялись по очереди.
Неделимость.
Когда транзакция выполняется другие процессы не видят ее промежуточных результатов.
Постоянство.
После фиксации транзакции никакой сбой не отменит ее результатов.
Транзакции м.б. реализованы:
Процессы участники работают в индивидуальном рабочем пространстве, в котором происходят все изменения данных.
Модифицируются реальные объекты и ведется журнал, в котором указываются транзакция, измененные файлы, блоки, старые и новые значения.
Лекция № 5 041012
Архитектура и управление процессами в ос семейства Windows
Рис.1.
Существуют 4 типа пользовательских процессов:
Фиксирование процессов (диспетчер сеансов)
Процессы сервисов (диспетчер задач)
Пользовательские процессы (x64/x32 разрядные)
Подсистема окружения (библиотеки)
Компоненты ядра:
Исполнительная система Windows. Содержит базовые сервисы ОС, обеспечивающие управление памятью, потоками, ввод вывод и межпроцессное взаимодействие.
Ядро. Cодержит низкоуровневые функции ОС. Планирование потоков, диспетчеризацию прерываний и исключений, синхронизацию и т. д.
Драйверы устройств. Сюда же входят драйверы сетевые и файловых систем. Одна из особенностей ОС – фильтры файловых систем реализованы в виде драйверов.
Уровень абстрагирования от оборудование (HAL). Абстрагирует ядро драйвер и исполнительную систему от специфики оборудования.
Подсистема окон и графики. Реализует графическое отображение.
Ядро состоит из набора функций, используемых компонентами исполнительной подсистемы и включающих низкоуровневые, аппаратнозависимые средства поддержки разных процессорных архитектур.
Ядро состоит из набора объектов, реализующих системные механизмы, но не участвующих в принятии решений, связанных с системной политикой.
Основные группы объектов ядра:
Управляющие (controlobjects). Включают объект асинхронного и отложного вызова процедур и объекты диспетчера ввода-вывода.
Объекты диспетчера (dispatcherobjects). Реализуются средством синхронизации. Поток, семафор, события, таймер входят в состав.
Объект исполнительной подсистемы инкапсулюруют один или более объектов ядра. (высокоуровневые средства)
Уровень абстрагированного оборудования – это загружаемый модуль ядра, представляющий низкоуровневый интерфейс с аппаратной платформой. Обеспечивает переносимость ОС.
Драйверы устройств являются загружаемыми модулями режима ядра и могут выполняться в одном из 3 контекстов:
В контексте пользовательского потока, вызвавшего функцию ввода-вывода.
В контексте системного потока режима ядра.
Как результат прерывания
Типы драйверов устройств:
Драйверы аппаратных устройств – управляют через HAL оборудованием.
Драйверы файловой системы. Принимают запросы на файловый ввод-вывод и транслируют их запросы ввода-вывода конкретного устройства.
Драйверы фильтра файловой системы. Обеспечивают дополнительные функции: зазеркаливание, шифрование дисков и так далее.
Сетевые редиректоры– это драйверы файловых систем, передающие запросы на файловый ввод-вывод другим компьютерам в сети и принимающих такие запросы.
Драйверы протоколов – реализуют сетевые протоколы
Драйверы потоковых фильтров ядра. Действуют по цепочке для обработки потоков данных. Например, при записи или воспроизведении аудио или видео.