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). Повторно входимые модули состоят из привилегированных секций и повторное обращение к ним возможно только после завершения работы какой-нибудь из секций. Т.е. в таких модулях четко определены все допустимые точки входа для прерывания модуля. Повторно входимые модули встречаются чаще, чем реентерабельные.


 

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

39755. ФИЗИОЛОГИЧЕСКИЕ ОСНОВЫ МЫШЛЕНИЯ 34 KB
  Итак мы переходим к следующему вопросу – Физиологические основы мышления. Центральным в человеческой теории мышления является взгляд на роль слова в рефлекторном процессе. Слово является средством умственного общения и условием развития мышления.
39756. Формы мышления 129.5 KB
  Взаимосвязь понятий и представлений очень сложна. Рубинштейн Формирование понятий Подход Менчинской Н. Образование искусственных понятий: методика двойной стимуляции. Менчинская Наталия Александровна Усвоение понятий в процессе обучения Ребенок не сразу овладевает тем или иным научным понятием этот процесс не сводится к простому копированию в сознании учащихся понятий Вводимых учителем.
39757. Из истории учений о характере 305.5 KB
  Первая по времени попытка изучения характера принадлежит Платону который создал типологию характеров основанную на этических принципах. Сохранился трактат Теофраста о характерах в котором описано 30 характеров. Описание каждого характера дано под знаком одной господствующей рельефно выраженной черты: притворство лесть и скучный рассказчик и т.Понятие характера в отечественной психологии.
39758. Понятие эмоций и чувств 297.09 KB
  Понятие эмоций и чувств. Роль эмоций и чувств в жизни человека Терминологические расхождения Соотношения понятий эмоция чувства эмоциональные состояния Место эмоций и чувств в структуре психики Основные качества эмоций и чувств Эмоции и деятельность Теории эмоций и чувств II. Физиологические теории эмоций и чувств Теория Джемса Лонге ее критика Таламическая теория эмоций КеннонаБарда Эксперименты Олдса Д. Павлова роль коры больших полушарий головного мозга Роль ретикулярной формации и второй сигнальной...
39759. Виды мышления 36.5 KB
  Это: нагляднодейственное нагляднообразное словеснологическое мышление. Нагляднодейственное мышление существует и у высших животных. Нахождение этого способа называется нагляднодейственным мышлением см. В психологии выделяется так же как самостоятельный вид нагляднообразное мышление.
39760. Определение внимания 129.5 KB
  Различие в восприятии нами внешних воздействий зависит от внимания. Физологические основы внимания. В исследовании физиологических основ внимания особенно большая заслуга принадлежит отечественным физиологам: И.
39761. Понятие воли 131 KB
  Само же понятие воли как стороны сознания формировалось медленно. Сложность изучения проблемы воли состоит в том что как в обыденном так и в научном сознании воля понимается поразному. Пушкина: волю первую твою я исполню как мою или в обыденном языке делать чтото насильно означает делать против своей воли как проявление силы характера противопоставление: волевой безвольный.
39762. Воображение 149.5 KB
  Сходства и различия воображения с восприятием памятью и мышлением; 3 Функции воображения. Физиологические и психологические механизмы воображения воображение и органические процессы 1. Связь воображения с реальностью: а закон двойного выражения чувств б закон общего эмоционального знака в закон эмоциональной реальности 4. Психологический механизм воображения а диссоциация б ассоциация.