Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование для ЭВМ, Л.р.1-4.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
411 Кб
Скачать
☆

Содержание

1. Теоретические сведения 1

2. Алгоритмы 2

3. Тестовый пример 3

4. Контрольные вопросы 3

5. Варианты заданий 4

6. Содержание отчета 4

Приложение 1. Пример работы программы 4

Приложение 2. Код программы 5

Лабораторная работа №2 «Интерпретатор командного языка (кя) операционной системы»

Цель работы: изучить принцип работы командного языка (КЯ).

1.Теоретические сведения

Основная связь между пользователем и ОС осуществляется посредства командного языка (КЯ), на котором пользователь обращается к системе и указывает выполняемую задачу. КЯ имеет свой синтаксис и семантику. Синтаксис определяет, какие операторы можно определять, а семантика указывает, что они означают.

Командная система является полным набором модулей, структур данных и утверждений, которые определяют интерфейс между пользователем и системой. Важный аспект КЯ – форма и содержание языка ответов, который сообщает информацию пользователю.

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

Критерии при его проектировании: простота, выразительность и краткость, симметричность, легкость чтения, обнаружение и предотвращение ошибок, гибкость, подтверждение.

Интерпретатор командного языка (ИКЯ) получает запросы на выполнение команд через обращения к ОС(с использованием прерывания). Эти команды определяют обращения к функциям. Часть этих функций находится в системной области оперативно памяти. Другая часть – внешние, они размещаются на жёстком диске и вызываются на использование в транзитную часть системной области. В процессе выполнения этих функциональных модулей они также могут взаимодействовать с друг другом через прерывания, обрабатываемые ОС. Последнее часто не затрагивает работу ИКЯ. Работа ИКЯ базируется на использовании таблиц векторов прерывания.

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

2.Алгоритм

Шаг 1. Задание количества запросов для каждого процесса

Шаг 2. Сброс флага свободный ресурсы

Шаг 3. Все процессы завершены? Если да то печатать таблицу (пункт 9), если нет то:

Шаг 4. Освободить ресурсы

Шаг 5. Найти число завершенных процессов

Шаг 6. Были выполнены все процессы? Если да то (пункт 9), если нет то:

Шаг 7. Активизировать ранее остановленный процесс

Шаг 8. Выделение ресурсов, вернуться в пункт 3.

Шаг 9. Печать таблицу

Алгоритм изображен на рисунке 1.

Рис 1 Схема алгоритма