Студентам > Рефераты > Лекции по операционным системам
Лекции по операционным системамСтраница: 2/2
Непривилегированные модули – обычные программные
модули. которые могут быть прерваны во время своей работы. Следовательно их
нельзя в общем случае считать разделяемыми, потому что если после прерывания
вычисления такого модуля запустить его исчо раз по требованию вычислительно
процесса, то промежуточные расчеты для прерванных вычислений могут быть
потеряны.
Реентерабельные программные модули (reenter able)
допускают повторное многократное прерывание своего исполнения и повторный их
запуск при обращении из других задач. Для чего такие программные модули должны
быть созданы таким образом, чтобы было обеспечено сохранение промежуточных
вычислений для прерываемых вычислений и возврат к ним, когда вычислительный
процесс возвращается к прерванной ранее точке.
Это может быть реализовано двумя способами с
помощью статических методов определения памяти и динамических методов. Основной,
часто используемый метод – метод динамической памяти. (рисунок нарисуй) 1)
Привилегированный модуль, который заказывает в системной области памяти блок
ячеек для хранения текущих промежуточных данных. 2) Основное тело
реентерабельного программного модуля, которое может быть прервано работает в
непривилегированном режиме. 3) Привилегированный модуль освобождающий в
системной области памяти блок памяти, используемой для хранения промежуточных
данных. Системная область памяти используется динамическим образом для
буферизованного ввода/вывода и реентерабельной обработки.
Основная идея построения и работы реентерабельного
программного модуля заключается в том, что в головной своей части, с помощью
обращения из системной привилегированной секции осуществляется запрос на
получение в системной области памяти блока ячеек, необходимого для размещения
всех текущих и промежуточных данных. При этом на вершину стека помещается
указатель адрес области данных и её объем. Все текущие переменные
реентерабельного модуля располагаются в системной программной области памяти. В
конце привилегированной программной секции система прерываний включается во
время работы центральной основной части возможно прерывание этой секции. Если
новое прерывание не возникает, то в последней, заключительной секции
осуществляется запрос на освобождение используемого блока системной памяти.
Если же во время работы центральной секции возникнет прерывание и другой
вычислительный процесс обращается к тому же самому программному модулю, то для
нового процесса вновь запрашивается блок памяти в системной области памяти и в
вершину стека записывается новый указатель. Возможно многократное повторное
вхождение в реентерабельный программный модуль до тех пор, пока в системной
области памяти выделенной специально для реентерабельной обработки есть
свободные ячейки.
При статическом выделении памяти заранее
фиксируется число вычислительных процессов, для которых резервируется область
памяти в которой будут располагаться переменные реентерабельных программных
модулей. Чаще всего в качестве таких процессов выделяют процессы ввода/вывода.
в этом случае говорят о реентерабельных драйверах (реентерабельный драйвер
может управлять параллельно несколькими однотипными устройствами).
Повторновходимые (re-entrance) программные модули. Под этим термином программные
модули, которые тоже допускают свое многократное использование, но в отличие от
реентерабельных их нельзя прерывать. Повторновходимые модули состоят из
привилегированных секций. Повторное обращение к ним возможно только после
завершения какой-нибудь из таких секций. После выполнения очередной
привилегированной секции управление может быть передано супервизору и если он
предоставит возможность выполняться другому процессу, то возможно повторное
вхождение в рассматриваемый модуль. В повторновходимых программных модулях
четко предопределены все допустимые точки входа. В реальной жизни повторновходимые
модули встречаются чаще, чем реентерабельные.
Информационные ресурсы могут существовать как в
виде переменных, находящихся в оперативно памяти, так и в виде файлов. Если
процессы могут использовать информационные ресурсы только для чтения, то такие
информационные ресурсы можно разделять. Если же процессы могут изменять
информационные ресурсы, то необходимо каким-то
образом организовывать работу с такими данными.
№8
1. Интерфейсные оболочки.
2. Понятие многопоточности.
3. Сколько и каких типов
дескрипторов задач может быть в системе? От чего должно зависеть это число?
№9
1. Вычислительный ресурс.
2. Обслуживание прерываний.
3. Что такое привилегированный
программный модуль. Почему нельзя создать мультипрограммную ОС, в которой бы не
было привилегированных программных модулей?
№10
1. Системы программирования.
Кросс-системы.
2. Понятие ресурса. Виды унд типы
оных.
3. Процесс. Задача.
№11
1. Дескриптор процесса.
Для того чтобы ОС могла управлять процессами она
должна располагать всей необходимой для этого информацией. С этой целью на
каждый процесс заводится опр. информационная структура, наз. дескриптором
процесса или описатель задач или блок управления задачами. В общем случае
структура дескриптора процесса: 1) Индентификатор процесса PI process identification; 2) тип или класс
процесса, который определяет для супервизора некоторые правила предоставления
ресурсов; 3) приоритет процесса, в соответствии с которым супервизор
предоставляет ресурсы; 4) опред. в каком состоянии находится процесс.???; 5)
защищенная область памяти или адрес такой зоны, в которой хранятся текущие
значения регистров процессора. Если процесс прерывается, не закончив работы,
эта информация называется контекстом задачи; 6) информацию о ресурсах, которыми
процесс владеет или имеет право пользоваться (указатели на открытые файлы,
информация о незавершенных процессах ввода/вывода); 7) место или его адрес для
организации общения с другими процессами; 8) параметры времени запуска.
Описатели задач как правило располагаются в
оперативной памяти с целью ускорить работу супервизора, который организует
задачи в очереди как в списке и отображает изменения состояния процесса
перемещением соответствующего описателя из одного списка в другой. Для каждого
состояния ОС ведет соотв. список задач, которые находятся в этом состоянии.
Единственным исключением является состояние выполнения для однопроцессорной
системы. Для описания состояния ожидания может быть не один список, а столько,
сколько разных видов ресурсов может выделить состояние ожидания. Например
состояние ожидания завершения операции ввода/вывода может быть столько сколько
устройств ввода/вывода имеется в системе. В некоторых ОС количество описателей
определено жестко и заранее
2. Внешние и внутренние прерывания.
3. Перечислите процедуру обслуживания прерываний. Объясните,
как можно ея организовать.
№12
1. Мультипрограммный и однопрограммный режимы работы
вычислительной системы.
Дж. фон Нейман разработал архитектуру принцип
архитектуры современных компьютерных систем. Все устройства компьютера
работают под управлением центрального процессора. Поэтому осуществлял и
выполнял и операции ввода/вывода. С введением в состав специальных контроллеров
позволило организовать…
Было предложено организовать мультипрограммный,
мультизадачный режим работы вычислительной системы. Он заключается в том, что
пока один вычислительный процесс или задача ожидает завершения очередной
операции ввода/вывода другая задача может быть поставлена на решение.
При мультипрограммировании
повышается пропускная способность системы, но отдельный процесс никогда не
сможет быть выполнен быстрее, чем бы он был выполнен при однопрограммном
режиме.
ОС поддерживает мультипрограммирование и старается
эффективно использовать ресурсы, путем организации к ним очередей запроса, которые
составляются тем или иным способом. Это требование достигается содержанием в
памяти более одного процесса ожидающего процессор и более одного процесса
готового использовать другие ресурсы. Общая схема выделения ресурсов такова:
при необходимости использовать какой либо ресурс, ОЗУ, устройство ввода/вывода
процесс обращается к супервизору ОС. Супервизор ОС – центральный управляющий
модуль ОС, который может состоять из нескольких модулей например супервизор
ввода/вывода, супервизор прерываний, супервизор программ, диспетчер задач и т.
п.
Задача посредством специальных вызовов команд или
директив сообщает о своем требовании супервизору ОС, при этом указывается вид
ресурса и если надо его объем. Директива обращения к ОС передает ей управление,
переводя процессор в привилегированный режим работы (если такой существует).
Не все ОС имеют 2 режима работы. Режимы работы
бывают привилегированными (режим супервизора), пользовательскими, режим
эмуляции.
Ресурс может быть выдан задаче по ее запросу если:
1 Ресурс свободен и в системе нет запросов от задач
более высокого приоритета к этому ресурсу.
2 Текущий запрос и ранее полуученый запросы
допускают совместное использование ресурса.
3 Ресурс используется задачей более низкого
приоритета и может быть временно отобран.
Получив запрос, ОС либо удовлетворяет его и
возвращает управление задаче, выдавшей сей запрос, либо, если ресурс занят,
ставит задачу в очередь к ресурсу. Переводя задачу в состояние ожидания
(блокируя). очередь к ресурсу может быть организованна несколькими способами.
Но чаще всего с помощью специальной структуры. После окончания работы с
ресурсом задача опять с помощью специального вызова супервизора сообщает ОС об
отказе от ресурса. Или ОС забирает ресурс сама, если управление возвращается к
супервизору после выполнения какой либо системной функции. Супервизор ОС,
получив управление, по этому обращению освобождает ресурс и проверяет имеется
ли очередь к освободившемуся ресурсу. Если очередь есть, то в зависимости от
принятой дисциплины обслуживания и приоритетов заявок он выводит из состояния
ожидания задачу ждущую ресурс и переводит её в состояние готовности к
выполнению, после этого управление либо передается этой задаче, либо
возвращается к той, которая только что освободила ресурс. При выдаче запроса на
ресурс задача может указать хочет ли она владеть ресурсом монопольно или
допускает совместное использование с другими задачами. Например, с файлом можно
работать монопольно, а можно работать и нескольким задачам. Если в системе
имеется некоторая совокупность ресурсов, то упорядочить их использование можно
на основе определенной стратегии. Эта стратегия подразумевает четкую
формулировку целей следуя которой можно добиться эффективного распределения
ресурсов.
2. Программные прерывания.
Распределение прерываний по уровням приоритета.
3. Что такое привилегированный
программный модуль. Почему нельзя создать мультипрограммную ОС, в которой бы не
было привилегированных программных модулей?
№13
1. Основные ф-ции ОС.
№14
1. Операционные среды. Эмуляторы.
Виртуальные машины.
2. Утилиты. Системные программные
модули.
3. Для чего каждая задача имеет свой дескриптор.
№15
1. Ресурсы вычислительной системы.
Схема выделения ресурсов.
2. Обработка прерываний при участии
супервизоров ОС.
3. у
№16
1. Мультипрограммные ОС и ОС реального времени.
2. Работа реентерабельного программного
модуля.
Copyright © Radioland. Все права защищены. Дата публикации: 2004-09-01 (0 Прочтено) |