Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС (1114685), страница 15
Текст из файла (страница 15)
Организация управления внешними устройствамиПри рассмотрении работы любого компьютера имеют место два потока информации.Первый поток — это управляющая информация, второй поток — это поток данных, над которымиосуществляется обработка в программе. Если рассматривать эти потоки информации в контекстеорганизации работы ВЗУ, то можно выделить также поток управляющей информации,включающий в себя команды, обеспечивающие управление внешним устройством, а также потокданных, перемещающихся между данным ВЗУ и оперативной памятью.
Рассмотрим теперьразличные модели организации управления ВЗУ.Простейшей моделью является непосредственное управление процессором внешнимиустройствами (1.2.4.3). Это означает, что центральный процессор фактически «интегрирован» сосхемами управления внешними устройствами, имеет специальные команды управления ими, атакже путем интерпретации последовательности команд управления осуществляет управлениеобменом. Т.е. процессор подает команды устройству на перемещение головок обмена, навключение той или иной головки, на ожидание и синхронизации прихода содержательнойинформации и пр. Помимо указанного потока команд через центральный процессор обрабатываети поток данных: он считывает информацию, участвующую в обмене, со специальных регистров ипереносит ее в оперативную память (либо же производит обратные манипуляции).
Таким образом,и поток управления, и поток данных проходит через центральный процессор, что само по себеявляется трудоемкой задачей, к тому же эта модель подразумевает лишь синхронную реализацию.ВнешнееустройствоЦПОЗУРис. 39.Непосредственное управление центральным процессором внешнего устройства.Следующая модель предлагает синхронное управление внешними устройствами сиспользованием контроллеров внешних устройств (1.2.4.3). Данная модель появилась вслед запоявлением внешних устройств, для которых имелись электронные схемы управления этимиустройствами — контроллеры, — взявшие на себя часть работ центрального процессора поуправлению обменами. В этом случае контроллер взаимодействует с центральным процессоромблоками больших размеров, при этом контроллер может самостоятельно выполнять некоторыеработы по непосредственному управлению ВЗУ (например, пытаться локализовать и исправитьвозможные ошибки, которые могут случиться при чтении или записи данных).
Но историческитакой тип управления ВЗУ изначально был синхронным: процессор посылает устройству командына обмен и ожидает, когда этот обмен завершится. Что касается потока данных, то ничего нового вданной модели не представлено: процессор по-прежнему считывает их со специальных регистроввнешнего устройства и помещает их в оперативную память.ОЗУЦПконтроллервнешнегоустройстваВнешнееустройствоРис. 40.Синхронное/асинхронное управление внешними устройствами с использованиемконтроллеров внешних устройств.Вслед за предыдущим типом устройств появились устройства, позволяющие осуществлятьасинхронное управление с использованием контроллеров ВЗУ (1.2.4.3). В этом случаецентральный процессор подает команду на обмен и не дожидается, когда эту команду отработают51контроллер и устройство, т.е.
он может продолжить обработку каких-то задач. Но дляосуществления указанной модели необходимо, чтобы в системе был реализован аппаратпрерываний.Затем исторически появились т.н. контроллеры прямого доступа к памяти (DMA —Direct Memory Access, 1.2.4.3).
Контроллеры данного типа исключили центральный процессор изобработки потока данных, взяв эту функцию на себя. В данной модели предполагается, чтоцентральный процессор занимается лишь обработкой потоком управляющей информации, аданные перемещаются между ВЗУ и ОЗУ уже без его участия.ОЗУDMA-контроллер+контроллер илипроцессорввода-выводаВнешнееустройствоЦПРис. 41.Использование контроллера прямого доступа к памяти (DMA) или процессора (канала)ввода-вывода при обмене.И, наконец, последняя модель основана на использовании процессора или канала вводавывода (1.2.4.3).
В этом случае предполагается наличие специализированного компьютера,который имеет свой процессорный элемент, свою оперативную память, который функционируетпод управлением своей ОС, и этот компьютер располагается логически между центральнымпроцессором и внешними устройствами. В функции подобных процессоров или каналов входитвысокоуровневое управление внешних устройств. В этом случае центральный процессороперирует с внешними устройствами в форме высокоуровневых заказов на обмен.Соответственно, реализация непосредственного управления конкретным ВЗУ осуществляется впроцессоре ввода-вывода (в частности, в нем может происходить многоуровневая фиксацияошибок, он может осуществлять аппаратное кэширование обменов, и пр.).1.2.5Иерархия памятиРассматривая вычислительную систему, или компьютер, можно выстроить некоторуюпоследовательность устройств, предназначенных для хранения информации в некоторомранжированном порядке, иерархии.
Этот порядок можно определять на основе различныхкритериев: например, по стоимости хранения единицы информации или по скорости доступа кданным, но так или иначе устройства будут располагаться примерно в одном порядке (1.2.5).52ЦПРОНКЭШ L1КЭШ L2ОЗУВЗУ прямого доступа с внутреннейКЭШ-буферизацией(оперативный доступ к данным)ВЗУ прямого доступа без КЭШ-буферизации(оперативный доступ к данным)ВЗУ долговременного хранения данных(архивы, резервные копии...)Рис.
42.Иерархия памяти.Самой дорогостоящей и наиболее высокопроизводительной памятью является память,которая размещается в центральном процессоре (это регистровая память и КЭШ первогоуровня (L1)).Следующим звеном в этой иерархии может являться КЭШ второго уровня (L2). Этоустройство логически располагается между процессором и оперативной памятью, оно являетсяболее дешевым и менее скоростным, чем КЭШ первого уровня, но более дорогое и болеескоростное, чем ОЗУ, которое располагается на следующей ступени иерархии. Одним изосновных свойств оперативной памяти являет то, что в ней располагается исполняемая в данныймомент центральным процессором программа, т.е. процессор «берет» очередные операнды икоманды для исполнения именно из оперативной памяти.Ниже ОЗУ в приведенной иерархии следуют устройства, предназначенные дляоперативного хранения программной информации пользователей и ОС.
Сначала естественнымобразом следуют ВЗУ прямого доступа с внутренней КЭШ-буферизацией. Это дорогостоящиеустройства, они предназначены для наиболее оперативного обмена. Так, на этих устройствахоперационная система может размещать свои всякого рода информационные таблицы.Следом за предыдущим типом устройств следуют ВЗУ прямого доступа без КЭШбуферизации, которые также обеспечивают оперативных доступ, но уже на более низкихскоростях.
На подобных устройствах может находиться файловая система пользователей, код ОС(поскольку для системного устройства, с которого происходит загрузка ОС, скорость не особенноактуальна в отличие от устройства, хранящего данные работающей ОС).И в самом низу иерархии располагаются ВЗУ долговременного хранения данных. Этосистемы резервирования, системы архивирования и т.д. Назначения данного класса устройствмогут быть самыми разными, но все они характеризуются низкой скоростью доступа к данным идостаточно низкой стоимостью хранения единицы информации.531.2.6АппаратнаяподдержкапрограммированияоперационнойсистемыисистемЕсли мы обратим свое внимание на рассмотрение компьютеров первого поколения, то этобыли компьютеры (computer — вычислитель) в прямом смысле слова, т.е.
производители первыхкомпьютеров ставили перед собой целью создание автоматических вычислений (причемдостаточно в большом количестве). Но со временем круг пользователей расширялся, что привелок возникновению необходимости в присутствии в аппаратуре компьютера компонентов,предназначенных не столько для организации автоматизации вычислений, сколько дляорганизации управления этими вычислениями. Этот раздел посвящен таким компонентамкомпьютера, которые изначально предназначались для аппаратной поддержки функционированияпрограммного обеспечения, в частности, операционной системы и систем программирования.1.2.6.1Требования к аппаратуре для поддержки мультипрограммного режимаВыше уже речь уже шла о мультипрограммном режиме, когда в обработке могутнаходиться две и более программы пользователей, и каждая из этих программ может находиться водном из трех состояний: во-первых, программа может выполняться на процессоре (т.е.
еекоманды исполняются центральным процессором), во-вторых, программа может ожидатьзавершения запрошенного ею обмена (для продолжения ее выполнения необходимо окончанияобмена), и, наконец, в-третьих, программы могут находиться в ожидании освобожденияцентрального процессора (эти программы готовы к выполнению на процессоре, но процессор вданный момент занят иной программой). Мультипрограммный режим — это режим наиболееэффективной загрузки центрального процессора.
На сегодняшний день мультипрограммныйрежим позволяет обрабатываться на компьютере большому числу процессов (задач),предоставляющих пользователю широкий круг различных услуг.Рассмотрим схему организации мультипрограммного режима (1.2.6.1). Пускай в начальныймомент времени на процессоре обрабатывается Программа 1, которая в некоторый моментвремени t1 выдает запрос на обмен, при этом дальнейшая обработка на процессоре невозможна дозавершения этого обмена. В случае синхронной организации Программа 1 будет приостановлена,и процессор будет простаивать до завершения обмена Программы 1. Соответственно, со временемпоследовало естественное предложение запускать на обработку центральным процессором другихпрограмм, пока Программа 1 ожидает завершения своего обмена.