24545

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

Доклад

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

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

Русский

2013-08-09

48.36 KB

13 чел.

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


 

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

44211. Аудит и разработка системы управления качеством организации обособленного подразделения «Атомремонтсервис» 1.38 MB
  Политика организации в области качества Распределение ответственности за элементы системы управления качеством Документированная методика индивидуальное задание Постоянное улучшение системы управления качеством Экономическая часть Безопасность жизнедеятельности и гражданская оборона...
44212. Исследование возможностей аппаратной реализации IPS/IDS на основе ПЛИС 364.5 KB
  Информационные системы и технологии Информационные системы и технологии в компьютерных сетях Допущено к защите На данный момент почти все организации и предприятия используют корпоративные информационные системы. Становится актуальной проблема поддержания полноценной и безопасной работы системы в целом. А поскольку все системы связаны Internetтехнологиями особое внимание уделяется защите информации.
44213. Теоретические основы налогообложения субъектов малого бизнеса 82 KB
  Приступая к рассмотрению особенностей налогообложения определим необходимые и достаточные условия для того чтобы коммерческая организация имеющая статус юридического лица могла быть отнесена к субъектам малого бизнеса : 1 в её УК доля принадлежащая одному или нескольким юридическим лицам не являющимися субъектами малого бизнеса не превышает 25 ; 2 средняя численность работников за отчетный период не должна превышать предельных уровней установленных для малых предприятий. В Российской Федерации развитие налогообложения...
44214. Выявление взаимосвязи между терминальными ценностями и когнитивно-поведенческими установками 2.63 MB
  Взаимосвязь терминальных ценностей с когнитивно-поведенческими установками старших школьников Научный руководитель: Асеева Инна Николаевна Цель: выявление взаимосвязи между терминальными ценностями и когнитивно-поведенческими установками Объект: терминальные ценности личности Предмет: взаимосвязь терминальных ценностей с когнитивно-поведенческими установками старших школьников Гипотеза: существуют особенности в структуре взаимосвязи терминальных ценностей с когнитивно-поведенческими установками старших...
44215. Программное обеспечение вычислительной техники и автоматизированных систем 176.5 KB
  Особым образом описывается порядок подготовки дипломной работы к защите, комплектование работы, получение необходимых подписей, подготовка к рецензии. Предлагается примерный план-тезис устной защиты дипломной работы перед Государственной аттестационной комиссией
44216. Разработка мероприятий по повышению эффективности использования информационных технологий управления предприятием ЧТПУП «Балтийский Легион» 571.5 KB
  Краткая характеристика деятельности предприятия Анализ финансово-экономических показателей предприятия Следовательно повышение эффективности управленческой деятельности становится одним из направлений совершенствования деятельности предприятия в целом. Сравнительная легкость внедрения новых решений благодаря наличию специализированных подразделений предприятия вычислительных центров.
44217. АНАЛІЗ ЕФЕКТИВНОСТІ ІНФОРМАЦІЙНОЇ СИСТЕМИ У ГОТЕЛЬНОМУ КОМПЛЕКСІ «ЦЕНТРАЛЬ» 665 KB
  Інформація потрібна всім: керуючим структурам, коллективам підприємств, громадським організаціям, всім працюючим. Неможливо спиратися тільки на інтуїцію, на свій життєвий і практичний досвід, необхідно одержувати і освоювати всі розширюється інформацію, що допомагає вирішувати виникаючі питання.
44218. МОДИФИКАЦИЯ МЕТОДА ОПРЕДЕЛЕНИЯ МИЕЛОПЕРОКСИДАЗЫ ПОЛИМОРФНОЯДЕРНЫХ ГРАНУЛОЦИТОВ ПЕРИФЕРИЧЕСКОЙ КРОВИ ДЛЯ СПЕКТОРОФОТОМЕТРИЧЕСКОЙ ОЦЕНКИ РЕЗУЛЬТАТОВ 2.65 MB
  Цель работы модификация лабораторного метода для спектрофотометрического определения спонтанной активности миелопероксидазы полиморфноядерных гранулоцитов периферической крови человека и его сравнительная оценка с различными лабораторными методами определения активности миелопероксидазы нейтрофилов с точки зрения основных требований предъявляемых к лабораторным методам определения активности ферментов в клинических условиях. Определение активности миелопероксидазы с помощью модифицированного лабораторного метода позволяет оценить спонтанную...
44219. СЕМЕЙНОЕ ЧТЕНИЕ: ПРОБЛЕМЫ ПОДДЕРЖКИ И СТИМУЛИРОВАНИЯ В СОВРЕМЕННЫХ УСЛОВИЯХ 665.5 KB
  Особенно тревожная ситуация сложилась с детским и подростковым чтением проблемы чтения ныне встали в один ряд с важнейшими государственными задачами защиты и обеспечения безопасности российской национальной культуры. Проблемами детского чтения считаются недостаточность специальных знаний у родителей о чтении детей о воспитании и педагогике детей экономические и финансовые причины; и др. В современных условиях очень важно позиционировать значение семейного чтения для каждого человека живущего как в нашей стране так и за рубежом....