Мегаобучалка Главная | О нас | Обратная связь


Построение метамодели «асинхронный процесс»



2020-02-03 189 Обсуждений (0)
Построение метамодели «асинхронный процесс» 0.00 из 5.00 0 оценок




Задание

 

1. Выбрать вычислительный процесс и на его примере:

- построить метамодель «асинхронный процесс» и определить свойства исходного процесса на основе анализа метамодели;

- выполнить операции над процессом: репозиция, редукция, композиция, и оценить полученные результаты с практической точки зрения;

- построить предметную интерпретацию метамодели на основе сети Петри и сделать вывод о динамических характеристиках исходного процесса.


Описание процесса

 

В качестве процесса я выбрал процесс ввода символа с клавиатуры и вывода его на экран. Краткие сведения о клавиатуре и принцип её действия описаны далее.

 

Клавиатура

 

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

Принцип действия. Клавиатура относится к стандартным средствам персонального компьютера. Ее основные функции не нуждаются в поддержке специальными системными программами (драйверами). Необходимое программное обеспечение для начала работы с компьютером уже имеется в микросхеме ПЗУ в составе базовой системы ввода-вывода (BIOS), и потому компьютер реагирует на нажатия клавиш сразу после включения.

 

Принцип действия клавиатуры заключается в следующем

 

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

2. Скан-код поступает в микросхему, выполняющую функции порта клавиатуры. (Порты — специальные аппаратно-логические устройства, отвечающие за связь процессора с другими устройствами.) Данная микросхема находится на основ ной плате компьютера внутри системного блока.

3. Порт клавиатуры выдает процессору прерывание с фиксированным номером. Для клавиатуры номер прерывания — 9 (Interrupt 9, Int 9).

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

5. Определив адрес начала программы, обрабатывающей возникшее прерывание, процессор переходит к ее исполнению. Простейшая программа обработки кла виатурного прерывания «зашита» в микросхему ПЗУ, но программисты могут «подставить» вместо нее свою программу, если изменят данные в векторе пре рываний.

6. Программа-обработчик прерывания направляет процессор к порту клавиатуры, где он находит скан-код, загружает его в свои регистры, потом под управле нием обработчика определяет, какой код символа соответствует данному скан- коду.

7. Далее обработчик прерываний отправляет полученный код символа в небольшую область памяти, известную как буфер клавиатуры, и прекращает свою работу, известив об этом процессор.

8. Процессор прекращает обработку прерывания и возвращается к отложенной задаче.

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


Построение метамодели «асинхронный процесс»

 

Поставим нашему асинхронному процессу в соответствие четвёрку , в которой:

 — непустое множество ситуаций;

 — отношение непосредственного следования ситуаций, определённое на множестве ;

 — множество инициаторов;

1. Выделить компоненты рассматриваемого процесса.

a) Клавиша (скан-код).

 

К = 1 / К = 0:  клавиша нажата / нет.

 

б) Порт клавиатуры (прерывание).

 

ПК = 1 / ПК = 0: в порт поступил скан-код / нет.

 

в) Вектор прерываний.

 

ВП = 1 / ВП = 0: вектор прерываний получил запрос от процессора / нет.

 

г) Процессор (обработчик прерываний).

 

П = 1 / П = 0: процессор обработал код / нет.

 

д) Буфер клавиатуры.

 

БК = 1 / БК = 0: буфер клавиатуры переполнен / нет.


е) Символ.

 

С = 1 / С = 0:  печать возможна / нет

 

2. Сформировать множество ситуаций рассматриваемого процесса.

1) Клавиша нажата.    

 

 

2) Порт клавиатуры получил скан-код.

 

 

3) Активизируется вектор прерываний.

 

 

4) Процессор определил код символа.

 

 

5) Буфер клавиатуры получает код символа, буфер не переполнен, печать символа возможна.

 

асинхронный процесс редукция репозиция

6) Буфер клавиатуры получает код символа, буфер переполнен, печать символа невозможна.

 

К ПК ВП П БК С
1 0 0 0 0 0
1 1 0 0 0 0
1 1 1 0 0 0
1 1 1 1 0 0
1 1 1 1 0 1
1 1 1 1 1 0

 



2020-02-03 189 Обсуждений (0)
Построение метамодели «асинхронный процесс» 0.00 из 5.00 0 оценок









Обсуждение в статье: Построение метамодели «асинхронный процесс»

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (189)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)