Чтение онлайн

на главную - закладки

Жанры

Технологии программирования

Костерин В В

Шрифт:

Если надо реализовать меню выбора отдельных программ, то невозможно обойтись последовательным вызовом команд командного файла. Для этого случая можно написать программу, которая визуализирует меню на экране и возвращает номер выбранного пользователем меню операционной системе. Возвратить номер выбранной темы меню можно вызовом подпрограммы Halt (номер_мен) модуля DOS Turbo Pascal, где номер_мен — значение выбранного номера темы меню.

Далее, используя команды DOS, организуйте вызов нужных программ командным файлом:

IF ERRORLEVEL 2 GOTO ITEM2

IF ERRORLEVEL 1 GOTO ITEM1

……………………..

:ITEM1

……………………..

:ITEM2

……………………..

Используя

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

Вместо стандартного монитора командных файлов для вызова в произвольном порядке уже готовых программ можно написать программу своего монитора на основе подпрограммы вызова готовых программ.

Хотя проектирование систем из отдельных программ выполняется, по крайней мере, последние 30 лет, но не выработано никакой методики, кроме не особенно полезного совета: изобразите функциональную схему процесса, а затем разбейте процесс на программы.

6.3. СИСТЕМЫ ИЗ ОТДЕЛЬНЫХ РЕЗИДЕНТНЫХ ПРОГРАММ

Резидентная программа — программа, которая постоянно находится в оперативной памяти машины и не препятствует запуску новых программ. После запуска резидентная программа становится как бы частью операционной системы MS DOS путем изменения значения границы памяти операционной системы, далее она настраивает какое-то прерывание на передачу управления в свою точку входа, а затем завершает работу. Можно запустить еще несколько резидентных программ и обычную программу. После выполнения заданных прерываний MS DOS запускаются соответствующие резидентные программы.

Каждая из резидентных программ может быть загружена в любой последовательности. Резидентные программы могут содержать вектора прерываний, которые указывают на блоки данных каждой из программ. Эти блоки могут содержать идентификатор программы для контроля наличия программы и данные межпрограммного обмена. Ненужные программы могут быть удалены как при помощи специальных программ, так и с помощью универсальной программы Release.

6.4. СИСТЕМЫ ИЗ ПРОГРАММ, ОБМЕНИВАЮЩИХСЯ ДАННЫМИ ЧЕРЕЗ ПОРТЫ

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

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

6.5. ПОДХОД К ПРОЕКТИРОВАНИЮ АРХИТЕКТУРЫ СИСТЕМЫ НА ОСНОВЕ АБСТРАКТНЫХ МАШИН ДЕЙКСТРЫ

Самый нижний уровень абстракции — это уровень аппаратуры. Каждый уровень реализует абстрактную машину с все большими возможностями.

Принцип 1. На каждом уровне абсолютно ничего не известно о свойствах более высоких уровней. Этим достигается сокращение связей между уровнями.

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

Принцип 3. Каждый уровень представляет собой отдельно откомпилированные программы. Некоторые из этих модулей являются внутренними для уровня, т. е. недоступными другим уровням. Имена остальных модулей известны на более высоком уровне и представляют собой сопряжения с этим уровнем.

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

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

Принцип 6. Предположения, которые на каждом уровне делаются относительно других уровней, должны быть минимальными, эти предположения могут принимать вид соглашений, которые должны соблюдаться перед выполнением функций, либо относиться к представлению данных или факторов внешней среды.

Принцип 7. Связи между уровнями ограничены явными аргументами, передаваемыми с одного уровня на другой. Недопустимо совместное использование глобальных данных несколькими уровнями. Более того, желательно полностью исключить использование глобальных данных (даже внутри уровня) в системе.

Принцип 8. Всякая функция, выполняемая уровнем абстракции, должна быть представима единственным входом. Аргументы, пересылаемые между уровнями, должны быть отдельными элементами данных, а не сложными структурами.

Поделиться:
Популярные книги

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

На Ларэде

Кронос Александр
3. Лэрн
Фантастика:
фэнтези
героическая фантастика
стимпанк
5.00
рейтинг книги
На Ларэде

Охота на попаданку. Бракованная жена

Герр Ольга
Любовные романы:
любовно-фантастические романы
5.60
рейтинг книги
Охота на попаданку. Бракованная жена

Кай из рода красных драконов

Бэд Кристиан
1. Красная кость
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Кай из рода красных драконов

Хозяйка Проклятой Пустоши. Книга 2

Белецкая Наталья
2. Хозяйка Проклятой Пустоши
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка Проклятой Пустоши. Книга 2

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Потусторонний. Книга 2

Погуляй Юрий Александрович
2. Господин Артемьев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Потусторонний. Книга 2

Чапаев и пустота

Пелевин Виктор Олегович
Проза:
современная проза
8.39
рейтинг книги
Чапаев и пустота

Солнечный корт

Сакавич Нора
4. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Солнечный корт

Лютая

Шёпот Светлана Богдановна
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Лютая

Ведьмак (большой сборник)

Сапковский Анджей
Ведьмак
Фантастика:
фэнтези
9.29
рейтинг книги
Ведьмак (большой сборник)

Наследие Маозари 4

Панежин Евгений
4. Наследие Маозари
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Наследие Маозари 4

Ученик

Губарев Алексей
1. Тай Фун
Фантастика:
фэнтези
5.00
рейтинг книги
Ученик

Начальник милиции. Книга 5

Дамиров Рафаэль
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 5