Координация действий при работе ЭВМ

Выполнение программы процессором – это сложный процесс. Для понимания сути которого требуется выделить следующие его особенности:

· Программа – набор статических инструкций.

· Деятельность – обработка программы. Процесс

· Процесс характеризуется состоянием.

Состояние определятся:

· Текущей позицией выполнения программы (значение адреса текущей команды).

· Значениями регистров процессора.

· Значениями ячеек оперативной памяти.

 

Рис.1.2. Оперативная память после загрузки ОС.

Фиксируется состояние в определенный момент времени. Современные процессоры реализуют межпроцессное взаимодействие.

Для отслеживания информации о процессах планировщик организует пул памяти – таблицу процессов, где фиксируется состояние процесса.

Состояния процесса характеризуется следующими фазами:

Готовность — его развитие может продолжаться.

Ожидание — его развитие приостанавливается.

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

Контроль осуществляется с помощью механизма флажков. Для управления флажком используется команда «test and set» (проверить и установить). Фазы контроля:

Считывания значение флажка.

Анализ полученного значения.

Механизм флажков позволяет предотвратить взаимную блокировку команд. Взаимная блокировка возможна если:

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

2. Ресурсы запрашиваются частями – процесс, уже получив некоторые ресурсы, продолжает запрашивать другие

3. Предоставленный ресурс не может быть отобран принудительно.

Пример один процесс получил доступ к принтеру, но ожидает доступ к жесткому диску ЭВМ, а другой получил доступ к жесткому диску но ждет доступа к принтеру.

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