Отображение адресного пространства программы на основную память




Алгоритмы распределения, использования, освобождения ресурсов и предоставления к ним доступапредназначены для наиболее эффективной организации работы всего комплекса устройств ЭВМ. Рассмотрим их на примере управления основной памятью.

Для выполнения программы при ее загрузке в основную память ей выделяется часть машинных ресурсов - они необходимы для размещения команд, данных, управляющих таблиц и областей ввода-вывода, т.е. производится трансляция адресного пространства откомпилированной программы в местоположение в реальной памяти.

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

Если выделение ресурсов производится перед выполнением программы, такой процесс называется статическим перемещением, в результате которого программа “привязывается” к определенному месту в памяти вычислительной машины. Если же ресурсы выделяются в процессе выполнения программы, это называется динамическим перемещением, в этом случае программа не привязана к определенному месту в реальной памяти. Динамический режим можно реализовать только с помощью операционной системы.

При статическом перемещении может встретиться два случая. 1. Реальная память больше требуемого адресного пространства программы. В этом случае загрузка программы в реальную память производится, начиная с 0-го адреса (рис.4.2).

общий объем незанятой памяти, составляющий 50 Кбайт, достаточен, чтобы загрузить и программу D, находящуюся в ожидании. Но ее не удается загрузить так как свободные участки памяти не являются смежными. Такое состояние называется фрагментацией реальной памяти. Оно характерно для систем со статическим перемещением.

В системах с динамическим перемещением программ перемещающий загрузчик размещает программу в свободной части памяти (рис.4.5) и допускает использование несмежных ее участков.

В этом случае имеется больше возможностей для организации мультипрограммной работы, а следовательно, и для более эффективного использования временных ресурсов ЭВМ.

Работа триггерной схемы определяется не таблицей истинности, как для комбинационной логической схемы, а таблицей переходов. Таблица переходов показывает изменение состояния триггера при изменении состояния входных сигналов в зависимости от его текущего состояния.

16..При больших размерах реализуемых программ возникают некоторые противоречия при организации мультипрограммного режима работы, трудности динамического распределения ресурсов.В настоящее время разработано несколько способов решения этих противоречий. Например, для борьбы с фрагментацией основной памяти адресное пространство программы может быть разбито на отдельные сегменты, слабо связанные между собой. Тогда программа D общей длиной 50 Кбайт может быть представлена в виде ряда сегментов, загружаемых в различные области ОП. Это позволяет использовать реальную память, теряемую из-за фрагментации. Адреса в каждом сегменте начинаются с 0. При статическом перемещении программы в процессе загрузки ее в основную память адреса должны быть привязаны к конкретному месту в памяти, на что уходит много времени, отвлекаются вычислительные ресурсы. Более эффективной является динамическая трансляция адресов (ДТА), которая заключается в том, что сегменты загружаются в основную память без трансляции адресного пространства (т.е. без изменения адресов в программе с учетом физического размещения в памяти команд и данных), а трансляция адресов каждой команды производится в процессе ее выполнения. Этот тип трансляции называется динамическим перемещением и осуществляется специальными аппаратурными средствами ДТА.Каждый сегмент программы должен иметь свое имя. Форма имени сегмента может быть любой, например номер.При таком представлении адрес будет состоять из двух частей: s, i, где s -имя сегмента, i - адрес внутри сегмента./ Имея иерархическую структуру запоминающих устройств, на реальном объеме памяти, значительно меньшем максимального, можно имитировать работу с максимальной памятью. В этом случае программист работает так, как будто ему предоставлена реальная память максимально допустимого для данной ЭВМ объема, хотя имеющаяся реальная память значительно меньше по объему. Такой режим работы называется режимом виртуальной памяти.Теоретически доступная пользователю ОП, объем которой определяется только разрядностью адресной части команды и которая не существует в действительности, называется виртуальной памятью.Виртуальная память имеет сегментно-страничную организацию и реализована в иерархической системе памяти ЭВМ. Часть ее размещается в страничных блоках основной памяти, а часть - в ячейках внешней страничной памяти (slot). Внешняя страничная память является частью внешней памяти. Ячейка (слот) - это записываемая область во внешней страничной памяти (например, на жестком магнитном диске). Она того же размера, что и страница.

 

17. 17.Современная ЭВМ представляет собой комплекс автономных устройств, каждое из которых выполняет свои функции под управлением местного устройства управления независимо от других устройств машины.Включает устройство в работу центральный процессор.Он передает устройству команду и все необходимые для ее исполнения параметры.После начала работы устройства центральный процессор отключается от него и переходит к обслуживанию других устройств или к выполнению других функций.Можно считать, что центральный процессор переключает свое внимание с устройства на устройство и с функции на функцию.На что именно обращено внимание ЦП в каждый данный момент, определяется выполняемой им программой.Во время работы в ЦП поступает (и вырабатывается в нем самом) большое количество различных сигналов. Сигналы, которые выполняемая в ЦП программа способна воспринять, обработать и учесть, составляют поле зрения ЦП или другими словами - входят в зону его внимания.Для того чтобы ЦП, выполняя свою работу, имел возможность реагировать на события, происходящие вне его зоны внимания, наступления которых он “не ожидает”, существует система прерываний ЭВМ. При отсутствии системы прерываний все заслуживающие внимания события должны находиться в поле зрения процессора,что сильно усложняет программы и требует большой их избыточности. Кроме того, поскольку момент наступления события заранее не известен, процессор в ожидании какого-либо события может находиться длительное время, и чтобы не пропустить его появления, ЦП не может “отвлекаться” на выполнение какой-либо другой работы. Такой режим работы (режим сканирования ожидаемого события) связан с большими потерями времени ЦП на ожидание.

 

18. 18.Комплекс технических средств, реализующих функцию памяти, называется запоминающим устройством (ЗУ). ЗУ необходимы для размещения в них команд и данных. Они обеспечивают центральному процессору доступ к программам и информации.Запоминающие устройства делятся на:основную память,сверхоперативную память (СОЗУ),внешние запоминающие устройства.Основная память включает в себя два типа устройств: оперативное запоминающее устройство (ОЗУ или RAM - Random Access Memory) и постоянное запоминающее устройство (ПЗУ или ROM - Read Only Memory).ОЗУ предназначено для хранения переменной информации. Оно допускает изменение своего содержимого в ходе выполнения процессором вычислительных операций с данными и может работать в режимах записи, чтения, хранения.ПЗУ содержит информацию, которая не должна изменяться в ходе выполнения процессором вычислительных операций, например стандартные программы и константы. Эта информация заносится в ПЗУ перед установкой микросхемы в ЭВМ. Основными операциями, которые может выполнять ПЗУ, являются чтение и хранение.Функциональные возможности ОЗУ шире, чем ПЗУ Но ПЗУ сохраняет информацию при отключении питания (т.е. является энергонезависимой памятью) и может иметь более высокое быстродействие, так как ограниченность функциональных возможностей ПЗУ и его специализация на чтении и хранении позволяют сократить время выполнения реализуемых им операций считывания. В современных ЭВМ микросхемы памяти (ОП и СОЗУ) изготавливают из кремния по полупроводниковой технологии с высокой степенью интеграции элементов на кристалле (микросхемы памяти относятся к так называемым “регулярным” схемам, что позволяет сделать установку элементов памяти в кристалле (чипе) настолько плотной, что размеры элементов памяти становятся сопоставимыми с размерами отдельных атомов).Основными характеристиками ОЗУ являются объем и быстродействие.

 

19. 19.Подсистема памяти имеет иерархическую, «многослойную» структуру: при переходе по слоям «сверху - вниз» (от процессора) – увеличивается объем и падает скорость.Чем определяется соотношение объемов и скоростей «слоев»? Эти характеристики выбираются с целью получить наивысшую производительность при той же цене. Перечислим «слои» памяти ЭВМ:1)Регистры процессора – это составная часть процессора, которая, однако, выполняет функцию (временного) хранения программных объектов: элементов программного кода, обрабатываемых операндов и их адресов;2)Кэш – память (может быть многоуровневая);3)Оперативное запоминающее устройство,ОЗУ (Random Access Memory, RAM) – память с произвольной адресацией;4)Внешние ЗУ (диски) – это память с последовательным доступом,5)Сеть– с точки зрения хранения данных, сеть ЭВМ, к которой подключен компьютер, может рассматриваться, как огромное, но медленное хранилище информации (Интернет).

 

20. 20.Стековой называют память, доступ к которой организован по принципу: "последним записан - первым считан" (Last Input First Output - LIFO).Использование принципа доступа к памяти на основе механизма LIFO началось с больших ЭВМ.Применение стековой памяти оказалось очень эффективным при построении компилирующих и интерпретирующих программ, при вычислении арифметических выражений с использованием польской инверсной записи.В малых ЭВМ она стала широко использоваться в связи с удобствами реализации процедур вызова подпрограмм и при обработке прерываний.Принцип работы стековой памяти состоит в следующем.Когда слово А помещается в стек, оно располагается в первой свободной ячейке памяти.Следующее записываемое слово перемещает предыдущее на одну ячейку вверх и занимает его место и т.д. Запись 8-го кода, после H, приводит к переполнению стека и потере кода A. Считывание слов из стека осуществляется в обратном порядке, начиная с кода H, который был записан последним. Заметим, что выборка, например, кода E невозможна до выборки кода F, что определяется механизмом обращения при записи и чтении типа LIFO.Для фиксации переполнения стека желательно формировать признак переполнения. Перемещение данных при записи и считывании информации в стековой памяти подобно тому, как это имеет место в сдвигающих регистрах.С точки зрения реализации механизма доступа к стековой памяти выделяют аппаратный и аппаратно-программный (внешний) стеки.Аппаратный стек представляет собой совокупность регистров, связи между которыми организованы таким образом, что при записи и считывании данных содержимое стека автоматически сдвигается.

 

21. Микропроцессор – это устройство, выполняющее обработку информации на персональных компьютерах, управляет вычислительным процессом, арифметическими и логическими операциями.

Модели процессоров включают следующие совместно работающие устройства:
Устройство управления (УУ). Осуществляет координацию работы всех остальных устройств, выполняет функции управления устройствами, управляет вычислениями в компьютере.

Арифметико-логическое устройство (АЛУ). Так называется устройство для целочисленных операций. Арифметические операции, такие как сложение, умножение и деление, а также логические операции обрабатываются при помощи АЛУ.

AGU (AddressGenerationUnit) - устройство генерации адресов. Это устройство не менее важное, чем АЛУ, т.к. оно отвечает за корректную адресацию при загрузке или сохранении данных. Абсолютная адресация в программах используется только в редких исключениях. Как только берутся массивы данных, в программном коде используется косвенная адресация, заставляющая работать AGU.

Дешифратор инструкций (команд). Анализирует инструкции в целях выделения операндов и адресов, по которым размещаются результаты. Затем следует сообще-ние другому независимому устройству о том, что необходимо сделать для выполнения инструкции. Дешифратор допускает выполнение нескольких инструкций одновременно для загрузки всех исполняющих устройств.

Кэш-память. Особая высокоскоростная память процессора. Кэш используется в качестве буфера для ускорения обмена данными между процессором и оперативной памятью, а также для хранения копий инструкций и данных, которые недавно использовались процессором.


1. Основные характеристики микропроцессоров
1. Тактовая частота микропроцессора
Импульсы тактовой частоты поступают от задающего генератора, располо-женного на системной плате.
Тактовая частота микропроцессора - количество импульсов, создаваемых генератором за 1 секунду.
Тактовая частота необходима для синхронизации работы устройств ПК.
Влияет на скорость работы микропроцессора. Чем выше тактовая частота, тем выше его быстродействие.
2. Быстродействие микропроцессора.
Быстродействие микропроцессора - это число элементарных операций, вы-полняемых микропроцессором в единицу времени (операции/секунда).
3. Разрядность процессора.
Разрядность процессора - максимальное количество разрядов двоичного кода, которые могут обрабатываться или передаваться одновременно.
4. Функциональное назначение микропроцессора.
1. Универсальные, т.е. основные микропроцессоры.
Они аппаратно могут выполнять только арифметические операции и только над целыми числами, а числа с плавающей точкой обрабатываются на них программно.
2. Сопроцессоры.
Микропроцессорный элемент, дополняющий функциональные возможности основного процессора. Сопроцессор расширяет набор команд компьютера. Когда основной процессор получает команду, которая не входит в его рабочий набор, он может пере-дать управление сопроцессору, в рабочий набор которого входит эта команда.
Например, существуют сопроцессоры математические, графические и т.д.

Отличия процессоров Pentium и Celeron, Athlon и Duron.

Процессор Celeron является бюджетной (урезанной) версией соответствующего (более производительного, но и значительно более дорогого) main-stream процессора, на основе ядра которого он был создан. У процессоров Celeron в два или в четыре раза меньше кэш памяти второго уровня. Так же у них по сравнению с соответствующими "родителями" понижена частота системной шины. У процессоров Duron по сравнению с Athlon в 4 раза меньше кэш памяти и заниженная системная шина 200МHz (266MHz для Applebred), хотя существуют и "полноценные" Athlon c FSB 200MHz. В ближайшее время Duron'ы на ядре Morgan совсем пропадут из продажи - их производство уже достаточно давно свернуто. Их должны заменить Duron на ядре Applebred, являющие собой ни что иное, как урезанные по кэшу AthlonXPThoroughbred. Так же уже появились урезанные по кэшу Barton’ы, ядро которых носит название Thorton. Есть задачи, в которых между обычными и урезанными процессорами почти нет разницы, а в некоторых случаях отставание довольно серьёзное. В среднем же, при сравнении с неурезанным процессором той же частоты, отставание это равно 10-30%. Зато урезанные процессоры имеют тенденцию лучше разгоняться из-за меньшего объёма кэш памяти и стоят при этом дешевле. Короче говоря, если разница в цене между нормальным и урезанным процессором значительная, то стоит брать урезанный. Хотя здесь необходимо отметить, что процессоры Celeron работают весьма плохо по сравнению с полноценными P4 - отставание в некоторых ситуациях достигает 50%. Это не касается процессоров CeleronD,в которых кэш второго уровня составляет 256 кбайт (128 кбайт в обычных Celeron) и отставание уже не такое страшное.

Классификация микропроцессоров
По числу больших интегральных схем (БИС) в микропроцессорном комплекте различают микропроцессоры однокристальные, многокристальные и многокристальные секционные.
Однокристальные микропроцессоры получаются при реализации всех аппаратных средств процессора в виде одной БИС или СБИС (сверхбольшой интегральной схемы). По мере увеличения степени интеграции элементов в кристалле и числа выводов корпуса параметры однокристальных микропроцессоров улучшаются. Однако возможности однокристальных микропроцессоров ограничены аппаратными ресурсами кристалла и корпуса. Для получения многокристального микропроцессора необходимо провести разбиение его логической структуры на функционально законченные части и реализовать их в виде БИС (СБИС). Функциональная законченность БИС многокристального микропроцессора означает, что его части выполняют заранее определенные функции и могут работать авто-номно.
По назначению различают универсальные и специализированные микропроцессоры.
Универсальные микропроцессоры могут быть применены для реше-ния широкого круга разнообразных задач. При этом их эффективная производительность слабо зависит от проблемной специфики решаемых задач. Специализация МП, т.е. его проблемная ориентация на ускоренное выполнение определенных функций позволяет резко увеличить эффективную производительность при решении только определенных задач.
Среди специализированных микропроцессоров можно выделить различные микроконтроллеры, ориентированные на выполнение сложных последовательностей логических операций, математические МП, предназначенные для повышения производительности при выполнении арифметических операций за счет, например, матричных методов их выполнения, МП для обработки данных в различных областях применений и т. д. С помощью специализированных МП можно эффективно решать новые сложные задачи параллельной обработки данных.
По виду обрабатываемых входных сигналов различают цифровые и аналоговые микропроцессоры.
Сами микропроцессоры цифровые устройства, однако, могут иметь встроенные аналого-цифровые и цифро-аналоговые преобразователи. Поэтому входные аналоговые сигналы передаются в МП через преобразователь в цифровой форме, обрабатываются и после обратного преобразования в аналоговую форму поступают на выход. С архитектурной точки зрения такие микропроцессоры представляют собой функциональные аналоговые преобразователи сигналов и называются аналоговыми микропроцессорами. Они выполняют функции любой аналоговой схемы (например, производят генерацию колебаний, модуляцию, смещение, фильтрацию, кодирование и декодирование сигналов в реальном масштабе времени и т.д., заменяя сложные схемы, состоящие из операционных усилителей, катушек индуктивности, конденсаторов и т.д.). Отличительная черта аналоговых микропроцессоров способность к переработке большого объема числовых данных, т. е. к выполнению операций сложения и умножения с большой скоростью при необходимости даже за счет отказа от операций прерываний и переходов.
Сравнение цифровых микропроцессоров производится сопоставлением времени выполнения ими списков операций. Сравнение же аналоговых микропроцессоров производится по количеству эквивалентных звеньев аналого-цифровых фильтров рекурсивных фильтров второго порядка. Производительность аналогового микропроцессора определяется его способностью быстро выполнять операции умножения: чем быстрее осуществляется умножение, тем больше эквивалентное количество звеньев фильтра в аналоговом преобразователе и тем более сложный алгоритм преобразования цифровых сигналов можно задавать в микропроцессоре.
По характеру временной организации работы микропроцессоры делят на синхронные и асинхронные.
Синхронные микропроцессоры - микропроцессоры, в которых начало и конец выполнения операций задаются устройством управления (время выполнения операций в этом случае не зависит от вида выполняемых команд и величин операндов).
Асинхронные микропроцессоры позволяют начало выполнения каждой следующей операции определить по сигналу фактического окончания выполнения предыдущей операции. Для более эффективного использования каждого устройства микропроцессорной системы в состав асинхронно работающих устройств вводят электронные цепи, обеспечивающие автономное функционирование устройств. Закончив работу над какой-либо операцией, устройство вырабатывает сигнал запроса, означающий его готовность к выполнению следующей операции. При этом роль естественного распределителя работ принимает на себя память, которая в соответствии с заранее установленным приоритетом выполняет запросы остальных устройств по обеспечению их командной информацией и данными.
По организации структуры микропроцессорных систем различают микроЭВМ одно - и многомагистральные.
В одномагистральных микроЭВМ все устройства имеют одинаковый интерфейс и подключены к единой информационной магистрали, по которой передаются коды данных, адресов и управляющих сигналов.
В многомагистральныхмикроЭВМ устройства группами подключа-ются к своей информационной магистрали. Это позволяет осуществить одновременную передачу информационных сигналов по нескольким (или всем) магистралям. Такая организация систем усложняет их конструкцию, однако увеличивает производительность.
По количеству выполняемых программ различают одно- и многопрограммные микропроцессоры.
В однопрограммных микропроцессорах выполняется только одна программа. Переход к выполнению другой программы происходит после завершения текущей программы.
В много- или мультипрограммных микропроцессорах одновременно выполняется несколько (обычно несколько десятков) программ. Организация мультипрограммной работы микропроцессорных управляющих систем позволяет осуществить контроль за состоянием и управлением большим числом источников или приемников информации.

.Систе́макома́нд (также набо́р команд) — соглашение о предоставляемых архитектурой средствах программирования, а именно: определённых типах данных, инструкций, системы регистров, методов адресации, моделей памяти, способов обработки прерываний и исключений, методов ввода и вывода.

Система команд представляется спецификацией соответствия (микро)команд наборам кодов (микро)операций, выполняемых при вызове команды, определяемых (микро)архитектурой системы. (При этом, на системах с различной (микро)архитектурой может быть реализована одна и та же система команд. Например, Intel Pentium и AMD Athlon имеют почти идентичные версии системы команд x86, но имеют радикально различный внутренний дизайн.)

Базовыми командами являются, как правило, следующие:

· арифметические, например «сложения» и «вычитания»;

· битовые, например «логическое и», «логическое или» и «логическое не»;

· присваивание данных, например «переместить», «загрузить», «выгрузить»;

· ввода-вывода, для обмена данными с внешними устройствами;

· управляющие инструкции, например «переход», «условный переход», «вызов подпрограммы», «возврат из подпрограммы».

3.Внешние устройства обеспечивают ввод, вывод и накопление информации в ПК, взаимодействуют с процессором и ОП через системную или локальную шину, а также через порты ввода-вывода. Они размещаются как вне системного блока (клавиатура, мышь, монитор, принтер, внешний модем, сканер), так и внутри него (накопители на дисках, контроллеры устройств, внутренние факс-модемы). Часто внешние устройства называют периферийными, хотя в узком смысле термин «периферийные» означает часть устройств, обеспечивающих ввод и вывод информации (клавиатуру, координатные манипуляторы, сканеры, принтеры и т. д.).

Большинство внешних устройств для IBM-совместимых ПК управляется контроллерами, которые установлены в разъемы расширения материнской платы. Контроллером называется плата, которая управляет работой конкретного типа внешних устройств и обеспечивает их связь с системной платой. Большинство контроллеров являются платами расширения системы, исключение могут составлять контроллеры портов и накопителей на гибких и жестких магнитных дисках, встраиваемых непосредственно в материнскую плату. В ранних моделях IBM-совместимых ПК данные контроллеры обычно размещались на отдельной плате, именуемоймультиплатои или мультикартой. Иногда в портативных компьютерах в материнскую плату встраиваются и другие контроллеры, в том числе видеоадаптеры и звуковые платы.

Платы расширения, называемые дочерними платами, устанавливаются на материнскую плату. Они предназначены для подключения к шине ПК дополнительных устройств, а материнская плата обычно имеет от 4 до 8 разъемов расширения. В соответствии с разрядностью процессора и параметрами внешней шины данных материнской платы они бывают 8-, 16– и 32-разрядные.

Дочерние платы подразделяют на два вида:

1) полноразмерные, т. е. такойже длины, как и материнская плата;

2) полуразмерные, т. е. в два раза короче.

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

Последовательный порт передает информацию по одному биту, а через последовательные порты подключаются такие устройства, как мышь, внешний модем и плоттер.

Важнейшими типами плат расширения являются:

1) видеоадаптеры (необходимы для нормального функционирования ПК);

2) внутренние модемы (требуются для использования внутренних модемов);

3) звуковые платы (предназначены для систем мультимедиа);

4) адаптеры локальной сети (необходимы при использовании компьютера в среде локальной вычислительной сети).

Помимо перечисленных используются и другие типы плат расширения:

• управления сканером;

• управления стримером;

• интерфейс SCSI;

• контроллеры устройств виртуальной реальности;

• АЦП;

• устройства считывания штрихового кода;

• управление световым пером;

• связи с большими ЭВМ;

• платы акселераторов.

В ПК предусмотрены специальные контроллеры ввода-вывода, который реализуется через порты ввода-вывода.

Последовательный порт передает информацию по одному биту, а параллельный передает информацию побайтно. Через последовательные порты подключаются такие устройства, как мышь, внешний модем и плоттер.

 

22. 22.Управление внешними устройствами.

Одной из главных задач ОС является обеспечение обмена данными между приложениями и периферийными устройствами компьютера. Собственно ради выполнения этой задачи и были разработаны первые системные программы, послужившие прототипами операционных систем. В современной ОС функции обмена данными с периферийными устройствами выполняет подсистема ввода-вывода. Клиентами этой подсистемы являются не только пользователи и приложения, но и некоторые компоненты самой ОС, которым требуется получение системных данных или их вывод, например подсистеме управления процессами при смене активного процесса необходимо записать на диск контекст приостанавливаемого процесса и считать с диска контекст активизируемого процесса.

Основными компонентами подсистемы ввода-вывода являются драйверы, управляющие внешними устройствами, и файловая система.

Основные понятия и концепции организации ввода/вывода в ОС

Как известно, ввод/вывод считается одной из самых сложных областей проектирования операционных систем, в которой сложно применить общий подход из-за изобилия частных методов. Сложность возникает из-за огромного числа устройств ввода/вывода разнообразной природы, которые должна поддерживать ОС. При этом перед создателями ОС встает очень непростая задача — не только обеспечить эффективное управление устройствами ввода/вывода, но и создать удобный и эффективный виртуальный интерфейс устройств ввода/вывода, позволяющий прикладным программистам просто считывать или сохранять данные, не обращая внимание на специфику устройств и проблемы распределения устройств между выполняющимися задачами. Система ввода/вывода, способная объединить в одной модели широкий набор устройств, должна быть универсальной. Она должна учитывать потребности существующих устройств, от простой мыши до клавиатур, принтеров, графических дисплеев, дисковых накопителей, компакт-дисков и даже сетей. С другой стороны, необходимо обеспечить доступ к устройствам ввода/вывода для множества параллельно выполняющихся задач, причем так, чтобы они как можно меньше мешали друг другу.

Самым главным является следующий принцип: любые операции по управлению вводом/выводом объявляются привилегированными и могут выполняться только кодом самой ОС. Для обеспечения этого принципа в большинстве процессоров вводятся режимы пользователя и супервизора. Как правило, в режиме супервизора (в привилегированном режиме) выполнение команд ввода/вывода разрешено, а в пользовательском режиме — запрещено.

Можно назвать три основные причины, по которым нельзя разрешать каждой отдельной пользовательской программе обращаться к внешним устройствам непосредственно:

· Необходимость разрешать возможные конфликтыдоступа к устройствам ввода/вывода. Например, две параллельно выполняющиеся программы пытаются вывести на печать результаты своей работы. Если не предусмотреть внешнее управление устройством печати, то в результате мы можем получить абсолютно нечитаемый текст, так как каждая программа будет время от времени выводить свои данные, которые будут перемежаться данными другой программы. Другой пример: ситуация, когда одной программе необходимо прочитать данные с некоторого сектора магнитного диска, а другой — записать результаты в другой сектор того же накопителя. Если операции ввода/вывода не будут отслеживаться каким-то третьим (внешним) процессом-арбитром, то после позиционирования магнитной головки для первого запроса может тут же появиться команда позиционирования головки для второй задачи, и обе операции ввода/вывода не смогут быть выполнены корректно.

· Желание увеличить эффективностьиспользования этих ресурсов. Например, у накопителя на магнитных дисках время подвода головки чтения/записи к необходимой дорожке и обращение к определенному сектору может значительно (до тысячи раз) превышать время пересылки данных. В результате, если задачи по очереди обращаются к цилиндрам, далеко отстоящим друг от друга, то полезная работа, выполняемая накопителем, может быть существенно снижена.

· Ошибки в программах ввода/вывода могут привести к краху всех вычислительных процессов, ибо часть операций ввода/вывода осуществляется для самой операционной системы. В ряде ОС системный ввод/вывод имеет существенно более высокие привилегии, чем ввод/вывод задач пользователя. Поэтому системный код, управляющий операциями ввода/вывода, очень тщательно отлаживается и оптимизируется для повышения надежности вычислений и эффективности использования оборудования.

Управление вводом/выводом осуществляется операционной системой, компонентом, который чаще всего называют супервизором ввода/вывода. Основные задачи, выполняемые супервизором, следующие:

· супервизор ввода/вывода получает запросы на ввод/вывод от прикладных задач и от программных модулей самой операционной системы. Эти запросы проверяются на корректность, и если запрос выполнен по спецификациям и не содержит ошибок, он обрабатывается дальше, в противном случае пользователю (задаче) выдается соответствующее диагностическое сообщение о недействительности (некорректности) запроса;

· супервизор ввода/вывода вызывает соответствующие распределители каналов и контроллеров, планирует ввод/вывод (определяет очередность предоставления устройств ввода/вывода задачам, затребовавшим их). Запрос на ввод/ вывод либо тут же выполняется, либо ставится в очередь на выполнение;

· супервизор ввода/вывода инициирует операции ввода/вывода (передает управ­ление соответствующим драйверам) и в случае управления вводом/выводом с использованием прерываний предоставляет процессор диспетчеру задач с тем, чтобы передать его первой задаче, стоящей в очереди на выполнение;

· при получении сигналов прерываний от устройств ввода/вывода супервизор идентифицирует их и передает управление соответствующей программе обработки прерывания;

· супервизор ввода/вывода осуществляет передачу сообщений об ошибках, если таковые происходят в процессе управления операциями ввода/вывода;

· супервизор ввода/вывода посылает сообщения о завершении операции ввода/вывода запросившему эту операцию процессу и снимает его с состояния ожидания ввода/вывода, если процесс ожидал завершения операции.

Таким образом, прикладные программы (а в общем случае — все обрабатывающие программы) не могут непосредственно связываться с устройствами ввода/вывода независимо от использования устройств (монопольно или совместно). Установив соответствующие значения параметров в запросе на ввод/вывод, определяющих требуемую операцию и количество потребляемых ресурсов, они могут передать управление супервизору ввода/вывода, который и запускает необходимые логические и физические операции.

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

10.3 Задачи ОС по управлению внешними устройствами

Подсистема ввода-вывода (Input-OutputSubsystem) мультипрограммной ОС при обмене данными с внешними устройствами компьютера должна решать ряд общих задач, из которых наиболее важными являются следующие:

· организация параллельной работы устройств ввода-вывода и процессора;

· согласование скоростей обмена и кэширование данных;

· разделение устройств и данных между процессами;

· обеспечение удобного логического интерфейса между устройствами и осталь­ной частью системы;

· поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера;

· динамическая загрузка и выгрузка драйверов;

· поддержка синхронных и асинхронных операций ввода/вывода.

10.3.1. Организация параллельной работы устройств ввода-вывода и процессора

Каждое устройство ввода-вывода вычислительной системы — диск, принтер, терминал и т. п. — снабжено специализированным блоком управления, называемым контроллером. Контроллер взаимодействует с драйверомсистемным программным модулем, предназначенным для управления данным устройством (см. рис. 10.1). Контроллер периодически принимает от драйвера выводимую на устройство информацию, а также команды управления, которые говорят о том, что с этой информацией нужно сделать (например, вывести в виде текста в определенную область терми­нала или записать в определенный сектор диска). Под управлением контроллера устройство может некоторое время выполнять свои операции автономно, не требуя внимания со стороны центрального процессора.

 
   


Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-13 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: