Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »Остальные рефераты

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

Тип: учебное пособие
Категория: Остальные рефераты
Скачать
Купить
Методические указания к лабораторным работам по дисциплине"АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ РЕАЛЬНОГО ВРЕМЕНИ"ОБЩАЯ ХАРАКТЕРИСТИКА ЗАДАНИЙВсе задания, представленные ниже, представляют собой задачи на организацию доступа к общему (разделяемому, критическому) ресурсу некоторого числа параллельных процессов. Для практической реализации заданий следует использовать библиотечный модуль MultiObj, являющийся ядром управления параллельными процессами в среде MS DOS.Для управления доступом к общему ресурсу следует создать объект - монитор. Монитор состоит из множества переменных состояния и множества процедур, которые используют эти переменные. Некоторые из этих процедур, называемые внешними, доступны пользователю и называются точками входа в монитор. Процессы, которые используют монитор для синхронизации, не имеют прямого доступа к переменным состояния. Они могут воспользоваться монитором только путем вызова внешних процедур. Процедуры монитора включают операции, которые позволяют блокировать и активизировать процессы в соответствие со спецификацией задачи. Условия установки и снятия блокировки записываются в виде функций переменных состояния и механизм работы монитора гарантирует, что все преобразования этих переменных происходят при взаимном исключении.Монитор имеет следующее общее описание (в терминах объектно-ориентированного языка Pascal): Type TMonitor = Object {данные - переменные состояния} Constructor Init(...); Destructor Done; Virtual; Procedure Enter; Procedure Exit; End {TMonitor}.В качестве данных выступают параметры спецификации задачи и очереди ожидания процессов.Метод TMonitor.Enter, анализируя данные, выполняет следующие действия:- проверяет условия входа в критический участок; при выполнении этих условий процесс, вызвавший метод, продолжает выполняться, войдя в критический участок; при невыполнении - процесс блокируется в очереди монитора;- устанавливает необходимые значения переменных состояния при блокировании процесса и при продолжении выполнения в критическом участке.Метод TMonitor.Exit выполняет следующие действия:- устанавливает необходимые значения переменных состояния при выходе из критического участка;- проверяет условия возможной активизации ждущих процессов и активизирует их при выполнении этих условий.Структура процедуры, реализующей процесс, осуществляющий доступ к критическому ресурсу с помощью монитора, будет выглядеть следующим образом:Procedure Process;Begin {действия процесса до входа в критический участок} Monitor.Enter; {действия процесса в критическом участке} Monitor.Exit; {действия процесса после выхода из критического участка}End {Process};здесь Monitor - это переменная типа TMonitor, являющаяся экземпляром указанного объекта.Количество различающихся методов входа в критический участок и методов выхода из него определяется количеством разновидностей процессов в каждой прикладной задаче.В каждой из перечисленных ниже задач требуется создать свой монитор и запрограммировать его, используя ядро MultiObj. Методика решения каждой задачи, приведенная в разделе "Методикарешения", ориентирована на использование ядра MultiObj. Основой решения каждой задачи является формирование и формализация условий входа в критический участок и условий активизации ждущихпроцессов при выходе из критического участка.Методика решения задачи 1 рассмотрена более подробно, чем остальных задач. Методика решения каждой задачи предлагает один выриант решения, что конечно же, не исключает возможности решения задачи с помощью других алгоритмов. Для тех, кто затрудняется создать свой монитор, рекомендуется запрограммировать условия, предлагаемые в методике решения каждого задания.Предполагается, что для решения задач группа разбивается на бригады по 2 - 3 человека и программирует задачи по типу лабораторных работ. Практическое решение каждой задачиоформляется в виде отчета (одного на бригаду). Отчет должен содержать:- спецификацию задачи;- обоснование условий входа в критический участок и активизации ждущих процессов при выходе из него для каждой разновидности процессов;- текст программы с комментариями.Требования к программам, реализующим задания:- программа должна выглядеть как законченный продукт – иметь меню, иметь Помощь, описывающую программу и правила работы с ней, и функционирующую хотя бы вне мультизадачного режима, иметь средства, отображающие на экране действия и состояния всехпроцессов.К тексту задания прилагается текстовый файл мультизадачного объектноориентированного ядра MultiObj.Pas, с помощью которого необходимо реализовать программы заданий. Объекты ядра допустимо перекрывать при необходимости.Прилагается также простейший вариант реализации задачи 1 в качестве примера.Задача 1. МОДЕЛЬ ЖЕЛЕЗНОДОРОЖНОГО ПЕРЕГОНАЖелезная дорога, соединяющая два города А и В, включает участок, на котором имеется только единственный путь, см. схему.Движение поездов на единственном пути подчиняется следующим ограничениям:- на свободный единственный путь может войти поезд любого направления;- пока на единственном пути находится поезд некоторого направления, на него не может войти поезд другого направления, но может войти поезд того же направления. --->--------¬ ------>---- v ^
Другие файлы:

Методические указания к лабораторным работам по дисциплине "электромеханические системы"

Методические указания к лабораторным работам "Легкие бетоны на пористом заполнителе"
Методические указания к лабораторным работам разработаны на кафедре технологии строительных материалов и изделий Оренбургского государственного униве...

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

Методические указания к лабораторным работам по дисциплине “Системы автоматизации проектирования программного обеспечения”

Методические указания к дипломным и курсовым работам и к лабораторным работам по дисциплине