Cтраница 1
Время процессора может быть слишком дорогим, чтобы тратить его на синхронизацию и другие функции по обеспечению последовательного ввода / вывода. Кроме того, могут быть слишком высокими стоимость и / или время разработки программного обеспечения подобной системы. В этом случае для последовательного ввода / вывода может быть использовано устройство, называемое универсальным асинхронным приемопередатчиком. Различные типы таких устройств перечисляются в табл. 4.3, причем два из них - МС6850 и 8251-особенно подходят для систем, снабженных общей шиной. Для установления связи с приемным устройством в режиме синхронной передачи непрерывного потока слов последовательных данных устройство 8251 использует один или два специальных синхронизирующих символа. После того как связь между принимающим и передающим устройствами установлена, данные самосинхронизируются и перед каждым символом уже не передаются старт и стоп биты. [1]
Время процессора, выделенное заданиям, но не использованное ими и перераспределенное, составило 95 04 мин. Цифра 153 16 мин указывает количество времени, которое было бы затрачено на последовательное выполнение заданий, без использования режимов мультиобработки и мультипрограммирования. [2]
Со времен процессора 8088 все процессоры Intel имеют два уровня ( приоритета) прерываний: маскируемые и немаскируемые прерывания. Немаскируемые прерывания обычно используются только для сообщения об очень серьезных ситуациях, например об ошибках четности в памяти. Все устройства ввода-вывода используют одно маскируемое прерывание. [3]
Как всегда, большая часть времени процессора ( 23 6 с) на ЭВМ DEC VAX 11 / 780, на которой производились измерения, было затрачено на обработку запросов ввода-вывода: 35 % в программе GETLINE и вызываемых ею функциях ( в основном в них) и 19 8 % в программе PUTSTR и ее подпрограммах. Эти значения столь доминируют во времени прогона, что до тех пор, пока они не будут уменьшены, никакая другая часть не будет играть существенной роли. Предположим, однако, что заменой программ GETLINE и PUTC более эффективными удалось сократить эти значения до разумных размеров. [4]
Когда процесс использовал определенный интервал времени процессора, происходит приоритетное прерывание обслуживания и он открепляется от процессора. Перемещение задачи ( и, возможно, более крупного объекта, элементом которого является эта задача) в основном потоке работ и ее переоценка могут запускаться по наступлении различных событий. [5]
Этот алгоритм не только бесцельно расходует время процессора, но, кроме этого, он может иметь некоторые неожиданные последствия. Рассмотрим два процесса: Н, с высоким приоритетом, и L, с низким приоритетом. Правила планирования в этом случае таковы, что процесс Я запускается немедленно, как только он оказывается в состоянии ожидания. Процесс Я попадает в состояние активного ожидания, но поскольку процессу L во время работающего процесса Я никогда не будет предоставлено процессорное время, у процесса L не будет возможности выйти из критической области, и процесс Я навсегда останется в цикле. Эту ситуацию иногда называют проблемой инверсии приоритета. [6]
Для того чтобы полностью использовать и время процессора и оперативную память ЭВМ при реальных соотношениях в системе, можно применить комбинацию методов секционирования памяти и разгрузки - загрузки. При этом секционирование выполняет ту же роль, что и прежде, но в режиме разделения времени с одиночной секцией уже могут работать несколько пультов. [7]
Этот алгоритм не только бесцельно расходует время процессора, но, кроме этого, он может иметь некоторые неожиданные последствия. Рассмотрим два процесса: Н, с высоким приоритетом, и L, с низким приоритетом. Правила планирования в этом случае таковы, что процесс Я запускается немедленно, как только он оказывается в состоянии ожидания. Процесс Я попадает в состояние активного ожидания, но поскольку процессу L во время работающего процесса Я никогда не будет предоставлено процессорное время, у процесса L не будет возможности выйти из критической области, и процесс Я навсегда останется в цикле. Эту ситуацию иногда называют проблемой инверсии приоритета. [8]
Каждая программа, ожидающая предоставления ей времени процессора, становится в очередь в соответствии со своим приоритетным уровнем. Перемещение процессов в очереди осуществляется по прерыванию под управлением ядра. Запросы на прерывание могут исходить от устройств ввода-вывода, генерироваться по программе с помощью команды вызова супервизора, либо возникать вследствие ошибки. Все прерывания обрабатываются ядром, вызывающим с зтой целью соответствующие подпрограммы. [9]
Планировщик нужен для распределения ограниченных ресурсов времени процессора готовым к выполнению процессам. [10]
Процессор ВМ моделируется предоставлением ВМ квантов времени процессора реальной ЭВМ. [11]
Процессор виртуальной машины моделируется путем предоставления времени реального процессора задаче виртуальной машины. Однако полностью бесконтрольное предоставление процессора невозможно, потому что необходимо обеспечить вмешательство МВМ при использовании разделяемых и моделируемых ресурсов. Такое вмешательство обеспечивается следующими модификациями PSW виртуальной машины: установкой режимов расширенного управления, динамического преобразования адресов и состояния ЗАДАЧА, а также разрешением всех прерываний. Любое прерывание приводит к передаче управления МВМ. При необходимости МВМ организует обработку прерывания путем образования системной задачи и прерывает функционирование виртуальной машины, переводя ее в недиспетчеризуемое состояние. В других случаях после первичной обработки прерывания или полного моделирования запрошенной операции управление возвращается виртуальной машине. [12]
ВМ должна быть выведена информация о времени виртуального процессора, затраченном на обработку команды, суммарном времени МВМ и виртуального процессора, затраченном на обработку команды, и текущем времени дня. [13]
Процессор ВМ моделируется путем предоставления ВМ квантов времени процессора реальной ЭВМ. [14]
Недостатком такой системы обмена является нерациональное использование времени процессора, который в момент пересылки информации простаивает. Значительно более высокий коэффициент использования процессора получается при динамическом распределении программ в ОЗУ, когда целевые программы не привязываются к определенным адресам оперативной памяти. Для автоматической переадресации программы при считывании ее из ВЗУ в произвольную часть ОЗУ процессор УВМ имеет специальные базовые регистры управления памятью. Работа диспетчерской системы заключается в нахождении места в памяти для вызываемой программы и установки соответствующего ей числа в базовый регистр. Это число прибавляется к условным адресам, в которых записывается целевая программа, образуя истинный адрес памяти. [15]