Механизм опроса

Постановка задачи

Максимальное количество программ

1) Число векторов N в ТВП определено стандартом на процессор и системой команд.

 

2) Размер ТВП в N векторов означает, что в оперативную память ЭВМ не может быть одновременно загружено более N динамически вызываемых объектов.

 

3) Т.о. образом размер ТВП может серьезно ограничить возможности ЭВМ по одновременному выполнению большого числа программ, либо по выполнению очень мощных программ.

 

4) Размер ТВП некоторых ЭВМ:

а) IBM PC – 256;

б) Apple, Macintosh, многие рабочие станции – 4096-1024.

в) специализированные ЭВМ, которые работают с огромным числом подпрограмм – 64К.

 

 

3.15 Ввод/вывод. Механизм опроса.

1) Необходимо чтобы ЭВМ реагировала на внешние события, например на сигналы от внешних устройств о готовности ввести/вывести данные.

 

2) Реакция должна состоять в следующем:

а) приостановка выполнения текущей программы

б) вызов на выполнение соответствующей программы обработки внешнего события

 

3) Данная задача может решаться одним из двух способов: мех-м опроса или механизм прерываний.

 

4) Сначала будет рассмотрен более простой способ – механизм опроса.

 

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

 

2) Контроллер внешнего устройства выполняет:

а) в один из внешних управляющих регистров (А) в поле запроса прописывает 1

б) в другой внешний регистр (В) контроллер загружает номер вектора прерываний или адрес расположения в памяти нужной программы обработки внешнего события.

 

3) Программы, рассчитанные на механизм опроса, пишутся так, что периодически приостанавливают выполнение основного алгоритма и вызывают функцию ОС, называемую yelding – уступка управления.

 

4) ОС, получив управление, в порядке от самого приоритетного к менее приоритетным, проверяет биты запроса. Если при опросе обнаруживается установленный бит запроса, то из регистра В считывается номер вектора прерываний программы обработки внешнего события или ее адрес и запускается на выполнение.

 

5) Дальнейшее- зависит от программы обработки внешнего события, в зависимости от внешнего события она может вернуть управление прерванной программе, а может и нет.