
- •Основные понятия
- •Операционная система (ос)
- •Система управления файлами
- •Интерфейсная оболочка
- •Системы программирования
- •Утилиты
- •Понятие операционной среды
- •Понятие вычислительного процесса и ресурса
- •Диаграмма состояния процесса
- •Реализация понятия последовательного процесса в ос (дескрипторы задач)
- •Процессы и потоки
- •Прерывание
- •Основные виды ресурсов
- •Классификация ос
Основные виды ресурсов
Процессор или точнее процессорное время
Память
Оперативная память характеризуется тем, что в ней:
может располагаться несколько процессов
в разные моменты память предоставляется для разных процессов
Внешняя память делится на собственно память и доступ к ней, которые считаются разными видами ресурсов. Данные ресурсы могут предоставляться независимо друг от друга, но для полной работы с внешней памятью, необходимо иметь оба эти ресурса. Собственно внешняя память может разделяться одновременно, а доступ к ней - попеременно.
Внешние устройства могут разделяться параллельно между разными процессами, если они используют механизм прямого доступа. Если же устройство работает с последовательным доступом, то оно не может считаться разделяемым ресурсом (принтер, стример).
Программные модули
Прежде всего, системные: модули могут быть однократно или многократно (повторно) используемые. Однократные могут быть правильно выполнены только один раз. Являются неделимым ресурсом. Обычно их не распределяют как ресурс. Как правило, используют только на этапе загрузки ОС. Следует помнить, что собственно двоичные файлы, в которых записаны эти модули после загрузки модулей не портятся.
Повторно используемые модули могут быть: привилегированные, непривилегированные, реентерабельные и повторно входимые).
Привилегированные модули работают в т.н. привилегированном режиме, т.е. при отключенной системе прерывания. Поэтому выполняются до конца. Структура модуля:
Отключение системы прерывания |
Собственно тело модуля |
Включение системы прерывания |
Непривилегированные модули - это обычные программные модули, которые могут быть прерваны во время своего выполнения. Их нельзя считать разделяемыми, т.к. если после прерывания выполнения такого модуля, используемого в рамках одного процесса, запустить его еще раз по требованию другого процесса, то промежуточные результаты для прерванных процессов могут быть потеряны.
Реентерабельные модули – допускают повторное многократное прерывание своего исполнения и повторный их запуск по обращению из других задач. Для этого они сохраняют промежуточные вычисления. Это реализуется с помощью статических или динамических методов выделения памяти под сохраняемые значения.
Структура реентерабельного модуля с динамическим выделением памяти.
Привилегированный модуль заказывает в системной области памяти блок ячеек для хранения текущих (промежуточных) данных |
Основное тело, которое может быть прервано. Работает в непривилегированном режиме |
Привилегированный модуль освобождает в системной области памяти блок ячеек, использованных для хранения промежуточных данных. |
Область памяти
Вершина стека |
|
Системная область памяти используется динамическим образом для буферизации ввода\вывода и реентерабельной обработки |
Стек |
Блок ячеек памяти для текущих переменных |
|
|
При статическом способе заранее для фиксированного числа процессов резервируется область памяти, в которой будут располагаться переменные реентерабельного модуля. Для каждого процесса – своя область памяти. Обычно этот способ используется для процессов ввода\вывода.
Информационные ресурсы - это данные, в виде переменных, находящиеся в оперативной памяти или в виде файлов. Если процессы используют данные только для чтения, то такие информационные ресурсы можно разделять.