Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ОС.doc
Скачиваний:
31
Добавлен:
01.04.2025
Размер:
4 Мб
Скачать
☆

Ос оперативной обработки

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

Для примера рассмотрим многопользовательскую многотерминальную систему (рис.3). Т1...Тm – терминалы, с помощью которых пользователи формируют задания на выполнение программ. Когда заданию предоставлены ресурсы (кроме процессора), оно устанавливаются в очередь готовых процессов О0.

Рис.3. Модель оперативной обработки

СОО можно представить в виде системы массового обслуживания (СМО). Терминалы выполняют функции генератора заявок, формируемых в виде заданий на обработку некоторых программ. В качестве обслуживающих приборов выступают центральные процессоры (ЦП) и внешние запоминающие устройства (ВЗУ). Процессоры совместно с оперативной памятью выполняют программы пользователей и операционной системы; ВЗУ осуществляют процедуру свопинга (подкачки программ и данных из диска в оперативную память или откачки в обратном направлении). Если в момент поступления новой заявки (задания) от одного из терминалов процессор оказался занятым, то она устанавливается в очередь. Из очереди заявки выбираются диспетчером (часть планировщика, на рисунке не показан).

Разделение времени реализуется путем прерывания текущей задачи по истечении кванта времени и назначении освободившемуся процессору новой задачи, находящейся в начале очереди. Указанная процедура называется переключением задач. Величина кванта времени устанавливается ядром операционной системы (обычно в пределах 1-2 мс, но может быть больше или меньше), а его отсчёт производится системным таймером. Если по истечении одного или нескольких квантов времени задача выполнилась, то результат направляется в терминал пользователю для принятия решения.

Операционные системы реального времени

Операционные системы реального времени (ОСРВ - англ. real-time operating system) используются для управления различного рода оборудованием, станками, роботами и т.д. Отличительной особенностью ОСРВ является способность гарантировать заданное время реакции, что необходимо для того, чтобы вычислительная система успевала за происходящими событиями. ОСРВ должны обладать большими запасами производительности, чтобы активно реагировать на процессы, поэтому вычислительные системы реального времени очень дорогие. Различают два типа операционных систем реального времени - жесткого реального времени и мягкого реального времени. Операционная система, которая может обеспечить требуемое время выполнения задачи реального времени даже в худших случаях, называется операционной системой жёсткого реального времени. Операционная система может обеспечить требуемое время выполнения задачи реального времени в среднем, называется операционной системой мягкого реального времени.

Системы жёсткого реального времени не допускают задержек реакции системы, так как это может привести к:

потере актуальности результатов

большим финансовым потерям

авариям и катастрофам

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

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

Основное отличие системам жёсткого и мягкого реального времени можно охарактеризовать так: система жёсткого реального времени никогда не опоздает с реакцией на событие, система мягкого реального времени — не должна опаздывать с реакцией на событие.

Обозначим операционной системой реального времени такую систему, которая может быть использована для построения систем жёсткого реального времени. Это определение выражает отношение к ОСРВ как к объекту, содержащему необходимые инструменты, но также означает, что эти инструменты ещё необходимо правильно использовать.

Большинство программного обеспечения ориентировано на «мягкое» реальное время. Для подобных систем характерно:

- гарантированное время реакции на внешние события (прерывания от оборудования);

- жёсткая подсистема планирования процессов (высокоприоритетные задачи не должны вытесняться низкоприоритетными, за некоторыми исключениями);

- повышенные требования к времени реакции на внешние события или реактивности (задержка вызова обработчика прерывания не более десятков микросекунд, задержка при переключении задач не более сотен микросекунд)

Классическим примером задачи, где требуется ОСРВ, является управление роботом, берущим деталь с ленты конвейера. Деталь движется, и робот имеет лишь маленький промежуток времени, когда он может её взять. Если он опоздает, то деталь уже не будет на нужном участке конвейера, и следовательно, работа не будет сделана, несмотря на то, что робот находится в правильном месте. Если он подготовится раньше, то деталь ещё не успеет подъехать, и он заблокирует ей путь.

Однопрограммный и мультипрограммный режимы работы ОС

Первые машины работали в однопрограммном режиме. В этом режиме все ресурсы вычислительной системы принадлежат одной программе, очереди к ресурсам отсутствуют, поэтому время выполнения программы небольшое. Однако загрузка процессора в таком режиме низкая из-за наличия вынужденных простоев, связанных с необходимостью обращения выполняющейся программы (вычислительного процесса) к внешней памяти. Чтобы загрузить процессор хотя бы какой-нибудь работой, ему поручают выполнение операций ввода/вывода. Поскольку операции ввода/вывода медленные из-за электромеханического характера функционирования периферийных устройств, то эффективность процессора все равно остается низкой.

Рисунок 4- Временные диаграммы работы ОС в однопрограммном и мультипрограммном режимах

Мультипрограммный (многозадачный) режим позволяет резко увеличить загрузку процессора за счет совмещения времени выполнения программы в процессоре и операций ввода/ вывода. Чтобы такое совмещение стало возможным, вычислительную систему снабжают дополнительным оборудованием, на которое возлагается функции по вводу/выводу. Оборудование, предназначенное для управления периферией, называется каналом или процессором ввода-вывода. Центральный процессор выдает в канал (процессор) параметры ввода/вывода, т.е. тип операции (запись или чтение) и адрес периферийного устройства, дальнейшие действия канал производит самостоятельно.

Центральный процессор в этом режиме используется более эффективно, его загрузка приближается к 100%, что значительно повышает производительность вычислительной системы.