Машинно - зависимые свойства операционных систем. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Машинно - зависимые свойства операционных систем.



Одной из наиболее важных функций операционных систем является управление ресурсами ЭВМ, на которой она работает. Многие ресурсы имеют непосредственное отношение к аппаратным устройствам, таким как центральная оперативная память, каналы ввода-вывода и центральный процессор. Таким образом, многие функции операционной системы тесно связаны с архитектурой машины.

Рассмотрим, например, машину УУМ. У нее маленькая оперативная память, отсутствуют каналы ввода-вывода, прерывания, нет команд вызова супервизора. Такая машина может быть удобна в качестве персональной ЭВМ; на ней нет смысла работать нескольким пользователям. Таким образом, операционная система для стандартной машины УУМ однопользовательской с простыми средствами общения с пользователем и минимальным набором функций операционного окружения.

ЭВМ УУМ/ДС, наоборот, имеет гораздо большую оперативную память, каналы ввода-вывода и обладает многими другими свойствами, отсутствующими у стандартной машины УУМ. На УУМ/ДС хорошо иметь мультипрограммную операционную систему. Она позволит распределить между несколькими одновременно работающими пользователями доступные им ресурсы расширенной машины, а также лучше использовать усовершенствованные программные средства. Конечно, разделение вычислительной системы между несколькими пользователями создает много проблем, подобных распределению ресурсов. Все они должны быть решены операционной системой. В дополнение к этому операционная система должна осуществлять поддержку более развитых функций аппаратуры, таких как прерывание и канальный ввод-вывод.

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

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

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

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

Когда происходит прерывание, состояние центрального процессора сохраняется, а управление передается стандартной программе обработки прерываний.

Каждому классу прерываний на УУМ/ДС присвоен определенный приоритет прерываний. Если используется система приоритетов, то программа обработки прерываний сама может быть прервана. Каким образом происходит вложенное прерывание показано на рис.8. По прерыванию по вводу-выводу состояние программы А, выполняющейся в этот момент на центральном процессоре, сохраняется, а управление передается обработчику прерываний по вводу-выводу. Во время его работы происходит новое прерывание – уже по таймеру, в результате чего управление передается обработчику прерываний по таймеру. По завершении этого прерывания при помощи команды LPS из рабочей области прерывания по таймеру восстанавливается состояние центрального процессора. В результате управление снова передается обработчику прерываний по вводу-выводу.

Планирование процессов.

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

Процесс создается, когда выполнение задания пользователя начинается и уничтожается, когда задание завершается. Во время своего существования процесс может находиться в трех состояниях. Процесс активен (running), когда он использует центральный процессор для выполнения своих команд. Процесс блокирован (blocked), если его выполнение может быть продолжено только после наступления некоторого ожидаемого им события. Процессы, которые не блокированы и не активны, называются находящимися в состоянии готовности (ready). Этим процессам будет передано управление после того как, текущий активный процесс его отдаст.

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

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

Обслуживание ввода-вывода.

На типичной ЭВМ, такой как УУМ, ввод-вывод осуществляется побайтно. Для более совершенных ЭВМ, таких как УУМ/ДС, для отслеживания всех деталей передачи данных и управления вводом-выводом используются каналы ввода-вывода.

Последовательность операций, которые должен выполнять канал, задается канальной программой, состоящей из канальных команд. Для осуществления операции ввода-вывода центральный процессор выполняет команду ввода-вывода STAR I/O (SIO), в которой задается номер канала и начальный адрес канальной программы. Затем канал выполняет указанную операцию ввода-вывода без дальнейшего вмешательства центрального процессора. По завершении своей программы канал генерирует прерывание по вводу-выводу. Одновременно могут работать несколько каналов, каждый из которых выполняет свою собственную канальную программу; таким образом, в одно и то же время могут осуществляться несколько различных операций ввода-вывода. Каждый канал работает независимо от центрального процессора, поэтому, пока выполняются операции ввода, центральный процессор может продолжать вычисления.

Операционная система типа УУМ/ДС вовлекается в процесс ввода-вывода в нескольких случаях. Система должна принять запросы на ввод-вывод от пользовательских программ и сообщить им, когда операции будут выполнены. Она может также управлять работой каналов ввода-вывода и обрабатывать генерируемые или прерывания.



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 368; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.193.11.123 (0.007 с.)