- •Проектирование Операционных Систем
- •Определение ос
- •Промышленная эксплуатация
- •Принцип модульности
- •Принцип функциональной избирательности
- •Принцип перемещаемости
- •Принцип защиты
- •Состояние процессов
- •Переходы между состояниями
- •Классификация процессов
- •Характеристики процессов
- •Определение
- •Классификация ресурсов
- •Интерфейс пользователя
- •Командный интерфейс
- •Примеры командных файлов из операционных систем
- •Эльбрус
- •3. Vm, os/2: rexx (пример аналога команды unix Grep)
- •Графический интерфейс
- •Основные понятия gui
- •Обработка прерываний
- •Подсистемы ос
- •Подсистема управления процессами
- •Долгосрочное планирование
- •Краткосрочное планирование
- •Дескрипторы процессов
- •Искусственное снижение уровня мультипрограммирования
- •Подсистема распределения ресурсов
- •Подсистема управления памятью
- •Два уровня распределения оперативной памяти
- •Задачи распределения памяти
- •Выделение
- •Подсистема управления вводом/выводом
- •Требования к подсистеме управления ввода/вывода:
- •Буферизация ввода вывода
- •Пример реализации ввода/вывода в системе unix
- •Пример реализации ввода/вывода в ос vm
- •Организация виртуальной памяти
- •Структуризация адресных пространств
- •Схемы страничной структуризации.
- •Схемы сегментной структуризации.
- •Сегментно-страничная структуризация
- •Требования к вп
- •Задачи управления виртуальной памятью
- •Задача размещения
- •Задача перемещения
- •Задача взаимного исключения
- •Задача «производитель-потребитель»
- •Модификации данной задачи
- •Задача «читатели-писатели»
- •Задача «обедающие философы»
- •Механизмы синхронизации Критерии оценки механизмов синхронизации
- •Архитектура механизмов синхронизации
- •Синхронизация с помощью прерываний
- •Синхронизация при помощи переменной состояния
- •Семафоры
- •Простые семафоры
- •Множественные семафоры
Дескрипторы процессов
Процесс – понятие абстрактное. Но ему соответствуют и вполне осязаемые компоненты:
-
Программа, по которой он выполняется.
-
Ресурсы, предоставленные процессу.
-
А также дескриптор хранящий всю значимую информацию о процессе.
Процесс – динамический объект, изменяющий свое состояние и набор используемых ресурсов. Такие изменения плохо предсказуемы, тем не менее, дескриптор всегда должен отражать актуальное состояние процесса. Информация заносится в дескриптор совместно планировщиком и диспетчером.
Состав дескриптора
-
Идентификация.
-
Информация о ресурсах.
-
Информация о состоянии.
-
Контекст.
-
Информация о родственных связях.
-
Информация планировщика.
-
Информация диспетчера.
Дескрипторы обычно объединяются в списки (очереди, таблицы), в общем как-то упорядочиваются.
Искусственное снижение уровня мультипрограммирования
Предоставление ЦПУ без предоставления оперативной памяти бессмысленно. Для исполнения каждому процессору нужен рабочий набор.
Рабочий набор – объем памяти, использованной процессом за определенный интервал времени.
Прогноз величины рабочего набора делает планировщик. Если суммарный рабочий набор всех процессов превосходит объем оперативной памяти доступной для использования, существенно возрастают накладные расходы на страничный обмен. Во избежание этого, часть процессов может быть переведена в состояние готовности. Таким образом происходит искусственное снижение уровня мультипрограммирования. В результате суммарное затраченное процессорное время будет меньше, чем без снижение уровня мультипрограммирования. Иными словами, работа будет выполнена быстрее, а эффективность использования вычислительной техники будет выше.
Подсистема распределения ресурсов
Существует две схемы распределения ресурсов:
При централизованной схеме распределением ресурсов занимается центральная программа, отвечающая за его бесконфликтное использование. Ресурс предоставляется и освобождается по специальным запросам выдаваемым процессором. Управляющая программа всецело учитывает свойства распределяемого ресурса.
При децентрализованной схеме процессы захватывают и освобождают ресурсы самостоятельно, основываясь при этом на формальных правилах и соглашениях.
ОС обычно предоставляет удобные средства для выполнения подобных соглашений.
Независимо от выбранной схемы, при построении системы распределения ресурсов необходимо решить следующие задачи:
-
Выбрать приемлемое правило удовлетворения запросов на каждый из распределяемых ресурсов в системе, с целью достижения наибольшего эффекта.
-
Обосновать и обеспечить необходимую степень динамизма в выделение и освобождении ресурсов.
-
Определить степень автоматизации процесса распределения ресурсов.
Ресурсы могут выделяться статически, в момент порождения процесса, и динамически, по мере его развития. Оба похода имеют свои плюсы и минусы.
Чаще всего встречается ситуация, когда процессу, при создании, выделяется минимально необходимый объем ресурсов, а затем, по необходимости, остальные требуемые ресурсы. Для персональных компьютеров, с их единственным пользователем, вопрос эффективности распределения ресурсов стоит не так остро. На первый план выходит требование комфортности работы. Одной из причин этого, является удешевление аппаратной части персональных компьютеров.