Страница: 9/11
Основная идея построения и работы реентерабельного программного модуля заключается в том, что в головной своей части, с помощью обращения из системной привилегированной секции осуществляется запрос на получение в системной области памяти блока ячеек, необходимого для размещения всех текущих и промежуточных данных. При этом на вершину стека помещается указатель адрес области данных и её объем. Все текущие переменные реентерабельного модуля располагаются в системной программной области памяти. В конце привилегированной программной секции система прерываний включается во время работы центральной основной части возможно прерывание этой секции. Если новое прерывание не возникает, то в последней, заключительной секции осуществляется запрос на освобождение используемого блока системной памяти. Если же во время работы центральной секции возникнет прерывание и другой вычислительный процесс обращается к тому же самому программному модулю, то для нового процесса вновь запрашивается блок памяти в системной области памяти и в вершину стека записывается новый указатель. Возможно многократное повторное вхождение в реентерабельный программный модуль до тех пор, пока в системной области памяти выделенной специально для реентерабельной обработки есть свободные ячейки.
При статическом выделении памяти заранее фиксируется число вычислительных процессов, для которых резервируется область памяти в которой будут располагаться переменные реентерабельных программных модулей. Чаще всего в качестве таких процессов выделяют процессы ввода/вывода. в этом случае говорят о реентерабельных драйверах (реентерабельный драйвер может управлять параллельно несколькими однотипными устройствами).
Повторновходимые (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) параметры времени запуска.
Реферат опубликован: 26/02/2010