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