Важнейшей частью операционной системы, непосредственно влияющей на функционирование вычислительной машины, является подсистема управления процессами. Процесс (или по-другому, задача) — абстракция, описывающая выполняющуюся программу. Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов.
Category Archives for Системное программное обеспечение
Системное программное обеспечение
Состояния и свойства процессов
Основными характеристиками процесса являются следующие состояния: 1. Порождение, подготовка для первого использования на процессоре; 2. Готовность — программы не исполняются, но все готово кроме ЦП;
Контекст и дескриптор процесса
На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды.
Алгоритмы планирования процессов
Создать процесс — это значит: 1. создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст; 2. включить дескриптор нового процесса в очередь готовых процессов;
Вытесняющие и невытесняющие алгоритмы планирования
Существует два основных типа процедур планирования процессов — вытесняющие (preemptive) и невытесняющие (non-preemptive).
Проблема синхронизации
Процессам часто нужно взаимодействовать друг с другом, например, один процесс может передавать данные другому процессу, или несколько процессов могут обрабатывать данные из общего файла. Во всех этих случаях возникает проблема синхронизации процессов, которая может решаться приостановкой и активизацией процессов, организацией очередей, блокированием и освобождением ресурсов.
Критическая секция
Критическая секция — это часть программы, в которой осуществляется доступ к разделяемым данным. Чтобы исключить эффект гонок по отношению к некоторому ресурсу, необходимо обеспечить, чтобы в каждый момент в критической секции, связанной с этим ресурсом, находился максимум один процесс. Этот прием называют взаимным исключением.
Тупики. Нити
Тупики – это еще одна проблема синхронизации. Рассмотрим пример тупика. Пусть двум процессам, выполняющимся в режиме мультипрограммирования, для выполнения их работы нужно два ресурса, например, принтер и диск. На рисунке показаны фрагменты соответствующих программ.
Свойства и классификация ресурсов.
Ресурсом является средство вычислительной системы, которая м.б. выделено процессу на определенное время. 1. Классификационный признак — реальность существования: — физические — реально существующие ресурсы, при распределении м/у пользователями, облад. всеми присущими ему физическими характеристиками.
Концепция виртуализации
Концепция виртуальности в той или иной форме реализации рассматривается как средство уменьшения конфликтов при управлен. процессами и распределен. ресурсов. Виды обмана, достиг. при помощи виртуализ.:
Дисциплины распределения ресурсов, используемых в ОС
Основные положения дисциплины распределения ресурсов: 1. Дисциплины формирования очередей на ресурсы или совокупности правил, определяющих размещение процессов в очереди.
Типы адресов
Для идентификации переменных и команд используются символьные имена (метки), виртуальные адреса и физические адреса (рисунок 2.7). Символьные имена присваивает пользователь при написании программы на алгоритмическом языке или ассемблере.
Методы распределения памяти без использования дискового пространства
Все методы управления памятью могут быть разделены на два класса: методы, которые используют перемещение процессов между оперативной памятью и диском, и методы, которые не делают этого.
Распределение памяти фиксированными разделами
Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины. Это может быть выполнено вручную оператором во время старта системы или во время ее генерации. Очередная задача, поступившая на выполнение, помещается либо в общую очередь (рисунок 2.9,а), либо в очередь к некоторому разделу (рисунок 2.9,б).
Распределение памяти разделами переменной величины
В этом случае память машины не делится заранее на разделы. Сначала вся память свободна. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди.
Перемещаемые разделы
Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших либо в сторону младших адресов, так, чтобы вся свободная память образовывала единую свободную область (рисунок 2.11).
Страничное распределение
На рисунке 2.12 показана схема страничного распределения памяти. Виртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного для данной системы размера, называемые виртуальными страницами.
СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ
Виртуальное адресное пространство процесса делится на сегменты, размер которых определяется программистом с учетом смыслового значения содержащейся в них информации. Отдельный сегмент может представлять собой подпрограмму, массив данных и т.п. Иногда сегментация программы выполняется по умолчанию компилятором.
Странично-сегментное распределение
Как видно из названия, данный метод представляет собой комбинацию страничного и сегментного распределения памяти и, вследствие этого, сочетает в себе достоинства обоих подходов. Виртуальное пространство процесса делится на сегменты, а каждый сегмент в свою очередь делится на виртуальные страницы, которые нумеруются в пределах сегмента.
УПРАВЛЕНИЕ ПАМЯТЬЮ В MS-DOS
Целью работы является ознакомление с механизмами управления памятью в операционной системе MS-DOS и исследование особенностей их использования.
Способы адресации в командах языка Ассемблера. Знакомство с некоторыми функциями 21 прерывания DOS.
РЕЖИМЫ АДРЕСАЦИИ Под адресацией данных подразумевают способы описания соответствующих адресов хранения операндов, используемых в программе. Различают основные способы описания операндов (и соответствующие формы адресации):
РЕЗИДЕНТНЫЕ ПРОГРАММЫ И ОБРАБОТКА ПРЕРЫВАНИЙ В MS-DOS
Целью работы является ознакомление со структурой программы, резидентной в оперативной памяти, особенностями ее создания и использования, а также исследование обработки прерываний в MS-DOS.
Создание и использование макроопределений и макрокоманд. Библиотеки макроопределений.
Ассемблер имеет макросредства, которые определяются программистом. Для этого задаются имя макроса, директива МАСRO. Завершается макроопределение директивой ENDM. <имя макроопр.> MACRO <тело макроопред., состоящее из операторов > ENDM < конец макроопред.>.
Обход тупиков
Обход тупика можно интерпретировать как запрет входа в опасное состояние. Если ни одно из 4х условий не исключено, то вход в опасное состояние можно предотвратить при наличии у системы информации о последовательности запросов связанных с каждым параллельным процессом. Доказано, что если вычисления находятся в любом не опасном состоянии, то существует, по крайней мере, одна последовательность Читать далее
Методы борьбы с тупиками.
Борьба с тупиками основывается на одной из 3х стратегий: — предотвращение тупика; — обход тупика; — распознавание тупика с последующим восстановлением.
Модель пространства состояний системы.
Пусть состояние ОС будет сводиться к состоянию различных ресурсов в системе. Состояние системы изменяются процессами, когда они либо запрашивают, либо освобождают ресурс. Пусть эти два состояния будут единственными. Если процесс не блокирован в денном состоянии, он может изменить его на новое.
Формальные модели для изучения проблемы тупиковых ситуаций.
Существует много моделей для изучения тупиковых ситуаций. Наиболее часто используются 4 из них: — сети Петри; — вычислительные схемы; — модели пр-ва состояний; — модель Холта.
Файловые системы Windows NT и улучшенное управление дисками. HPFS, NTFS.
Файловые системы Windows NT и улучшенное управление дисками содержит информацию начальной загрузки и указатель на корневой каталог, использование тома будет невозможно. Использование системой HPFS утилиты chkdsk при каждой начальной загрузке системы и восстановление диска после ошибок требуют больших временных затрат. Кроме того, HPFS предполагает использование 512-байтовых секторов, которые не очень подходят для больших томов.
Главная файловая таблица NTFS
Каждый файл на томе NTFS представлен записью в специальном файле, называемом главной файловой таблицей (MFA — master file table). NTFS резервирует первые 16 записей таблицы для специальной информации.
Атрибуты файла NTFS
NTFS просматривает каждый файл (или каталог) как набор атрибутов файла. Такие элементы, как имя файла, информация зашиты и даже данные — все это атрибуты файла. Каждый атрибут идентифицирован кодом типа атрибута и, необязательно, именем атрибута.
