24545

Виды программных модулей

Доклад

Информатика, кибернетика и программирование

никакие внешние события не могут прервать работу модуля и он непрерывно выполняется от начала до конца. Структура привилегированного модуля приведена на рис. Структура привилегированного модуля Непривилегированные модули – это обычные программные модули которые могут быть прерваны во время своей работы.2 приведен пример использования реентерабельного модуля В процессами А и С.

Русский

2013-08-09

48.36 KB

12 чел.

Вопрос 8. Виды программных модулей.

§3.2 Виды программных модулей.

Под модулем, в общем случае, понимают функционально законченный элемент программы, выполненный в соответствии с межмодульными интерфейсами. Модуль имеет средства сопряжения с подобными элементами данной или другой программы и предполагает легкий способ модификации и замены при наличии заданных интерфейсов. Разделение ОС на модули происходит именно по функциональному признаку.

Модули, в особенности системные, могут использоваться как программные ресурсы и могут быть разделены несколькими выполняющимися процессами. Различают привилегированные, непривилегированные и реентерабельные программные модули.

Привилегированные модули, работают в привилегированном режиме при отключенной системе прерываний. Т.е. никакие внешние события не могут прервать работу модуля, и он непрерывно выполняется от начала до конца. Такой модуль может выступать как попеременно разделяемый ресурс. Структура привилегированного модуля приведена на рис. 3.1.

Рис. 3.1. Структура привилегированного модуля

Непривилегированные модули – это обычные программные модули, которые могут быть прерваны во время своей работы. В общем случае их нельзя считать разделяемыми, поскольку после прерывания его в рамках одного вычислительного процесса и вызова его вновь из другого процесса, промежуточные результаты прерванных вычислений могут быть утеряны.

Реентерабельные (reenterable) – повторно прерываемые модули допускают повторное многократное прерывание своего исполнения и повторный запуск из других процессов.

На рис. 3.2 приведен пример использования реентерабельного модуля В процессами А и С. Опишем состояние процессов в каждый из моментов времени Т1-Т6:

Т1 – модуль А обращается к модулю В;

Т2 – при выполнении модуля В, поступил запрос на прерывание от внешнего устройства (модуля С). Приоритет у процесса С выше, чем у А и В, поэтому модуль В временно прекращает свою работу и управление передается модулю С для обработки поступившего запроса;

Т3 – во время работы модуль С обратился к модулю В;

Т4 – модуль С получает результат своего запроса от модуля В;

Т5 – завершается обслуживание внешнего устройства и управление передается модулю В. Далее модуль В завершает процесс, инициированный модулем А, используя значения переменных, сохраненных в момент прерывания Т2;

Т6 – модуль В завершает свою работу и результат передается модулю А.

Рис. 3.2. Использование реентерабельного модуля В  процессами А и С

Принцип реентерабельности достигается за счет отделения кода программы от данных. При каждом обращении к модулю ему выделяется новая область памяти под данные. Выделение памяти может реализовано 2 способами: статическим и динамическим. Структура реентерабельного модуля при наиболее распространенном динамическом способе выделения памяти приведена на рис. 3.3.

Рис. 3.3. Структура реентерабельного модуля

В головной части реентерабельного модуля из системной привилегированной секции осуществляется запрос на получение в системной области памяти блока ячеек, необходимого для размещения всех текущих данных. При этом на вершину стека помещается указатель на начало области данных и ее объем. В этой системной области памяти располагаются текущие переменные реентерабельного модуля.

В конце привилегированной секции система прерываний включается, поэтому работа центральной (основной) части реентерабельного модуля может быть прервана. Если прерывания не было, то в третьей секции модуля осуществляется запрос на освобождение использованного блока системной памяти. Если же во время работы центральной секции возникает прерывание и к этому же реентерабельному модулю обращается другой процесс, то для нового процесса заказывается новый блок памяти и системной области памяти. На вершину стека записывается новый указатель. Возможно многократное повторное вхождение в реентерабельный модуль до тех пор, пока в соответствующей системной области памяти есть место.

При статическом способе выделения памяти для фиксированного числа процессов заранее резервируются области памяти для хранения переменных реентерабельных модулей: для каждого процесса – своя область памяти. Чаще всего в качестве таких процессов выступают процессы ввода/вывода и речь идет о реентерабельных драйверах, управляющих параллельно несколькими однотипными устройствами.

Кроме реентерабельных существуют еще и повторно входимые модули (reentrance). Повторно входимые модули состоят из привилегированных секций и повторное обращение к ним возможно только после завершения работы какой-нибудь из секций. Т.е. в таких модулях четко определены все допустимые точки входа для прерывания модуля. Повторно входимые модули встречаются чаще, чем реентерабельные.


 

А также другие работы, которые могут Вас заинтересовать

31640. Видеоадаптеры. Графические видеоадаптеры точечные 33.63 KB
  Последней командой графического файла является команда безусловного перехода на начало файла что обеспечивает регенерацию изображения. Структура графического адаптера с произвольным сканированием векторного типа: СМ сумматор ГВ генератор векторов Если адаптер работает в абсолютных координатах то ЦП сильно загружен в режиме редактирования или перемещения изображения. Адаптеры такого типа обладают отсутствием мерцания возможностью наложения изображения из видеоЗУ на стандартное телевизионное изображение от телекамеры или...
31641. Системные и локальные шины 23.51 KB
  Стоимость такой организации получается достаточно низкой поскольку для реализации множества путей передачи информации используется единственный набор линий шины разделяемый множеством устройств. Одна из причин больших трудностей возникающих при разработке шин заключается в том что максимальная скорость шины главным образом лимитируется физическими факторами: длиной шины и количеством подсоединяемых устройств и следовательно нагрузкой на шину. Эти физические ограничения не позволяют произвольно ускорять шины.
31642. Системная шина ISA 11.88 KB
  Эта системная шина отличалась наличием второго 36контактного дополнительного разъема для соответствующих плат расширения. Системная шина IS полностью включала в себя возможности старой 8разрядной шины. Шина IS позволяет синхронизировать работу процессора и шины с разными тактовыми частотами.
31643. Психологические особенности детей дошкольного возраста 55.5 KB
  Игра сюжетно – ролевая игра Наглядно – образное мышление Начало понятийного мышления Картина мира Произвольность поведения Самооценка Практическое овладение речью развитие функций речи Дошкольное детство большой отрезок жизни ребенка. Социальная ситуация развития Изменяется место ребенка в системе отношений уже не является центром своей семьи развивается способность к идентификации с людьми образами героев художественных произведений. Она оказывает значительное влияние на развитие ребенка. Но хотя жизнь в игре протекает в...
31644. Психологическая готовность ребёнка к обучению в школе. Проблемы адаптации первоклассника к школе 55.5 KB
  Психологическая готовность ребёнка к обучению в школе. Проблемы адаптации первоклассника к школе. Тема готовности ребенка к школе в отечественной психологии своими корнями уходит в труды Л.Эльконина готовность ребенка к обучению в школе определяет социальная зрелость.
31645. Психологические особенности детей младшего школьного возраста 54.5 KB
  Отчетливо виден социальный смысл учения отношение маленьких школьников к отметкам. Учебные действия школьников с помощью которых можно решить задачу. Самоконтроль Оценка Самооценка Особенности познавательного развития младших школьников. Внимание школьников зависит от: организации активной умственной деятельности.
31646. Мышление и воображение. Их роль в образовательном процессе 23.5 KB
  Виды воображения: по Немову Активное – человек по собственнуму желанию усилием воли вызывает соответствующие образы; Пассивное – образы возникают спонтанно помимо воли и желания человека; Продуктивное – дейчтвительность сознательно конструируется человеком а не просто механически копируется или воссоздается; Репродуктивное – ставится задача воспроизвести реальность в том виде какова она есть такое воображение больше напоминает память чем творчество. Фантазия это определенное чувство желания чегото конкретного ради чего...
31647. Память и внимание. Особенности формирования памяти и внимания в образовательном процессе 33.5 KB
  Особенности формирования памяти и внимания в образовательном процессе. Виды внимания: непроизвольное – оно может возникнуть по мимо желаний человека в силу какихто обстоятельств; произвольное – вызывается силою воли желанием самого человека ответственность интерес; послепроизвольное – возникает в силу появления устойчивого интереса к объекту является самым продуктивным и эффективным. Особенности внимания свойства: объем внимания определяется количеством объектов которые могут быть замечены человеком за короткий промежуток...
31648. Педагогическое общение: компоненты, функции, стили, модели и барьеры 62 KB
  Педагогическое общение: компоненты функции стили модели и барьеры Проблематика общения занимает значительное место в общей психологии и психологии личности. Главным средством общения является речь. Стороны общения: Коммуникативная сторона общения это передача информации. Особую роль для каждого участника общения играет значимость информации при условии что информация не только принята но и понята осмыслена.