Конспект по курсу лекций Операционные системы Операционные системы icon

Конспект по курсу лекций Операционные системы Операционные системы


2 чел. помогло.
Смотрите также:
М операционные системы етодические указания по контрольной работе по дисциплине...
М операционные системы етодические указания по контрольной работе по дисциплине...
Конспект лекций по учебной дисциплине «Операционные системы...
Данные тексты лекций издаются в соответствии с рабочей программой учебной дисциплины...
Конспект по курсу лекций Операционные системы Граур Светлана...
Учебная программа Дисциплины б7 «Операционные системы» по направлению 010300 «Фундаментальная...
Учебная программа Дисциплины р6 «Операционные системы» по специальности 090302 «Информационная...
«Операционные системы реального времени.»...
Рабочая программа дисциплины "операционные системы" Направление подготовки...
Рабочая программа дисциплина «Операционные системы...
Рабочая программа дисциплина «Операционные системы...
Методические указания для выполнения Курсовой работы по дисциплине «Операционные системы»...



Загрузка...
страницы:   1   2   3   4   5   6   7   8   9   ...   24
скачать
Московский Государственный Университет

Факультет вычислительной математики и кибернетики


Конспект по курсу лекций Операционные системы


Операционные системы


Мы рассмотрим классовый подход в организации Операционных систем (ОС).

Основные блоки: 1)введение (историческое развитие вычислительных систем (ВС), определяемое появлением и развитием программного обеспечения и взаимодействием с аппаратными средствами компьютера; обзор свойств и характеристик ОС

2)методы и принципы организации ОС (процессы и взаимодействие процессов, файловая система, планирование, управление внешними устройствами, управление оперативной памятью, сетевое взаимодействие)

Введение – экскурсия в этот предмет.

Понятие ОС – ключевое понятие, связанное с ЭВМ – система интерфейсов для обеспечения удобства общения пользователя с компьютером, взаимодействия пользователя с аппаратными средствами компьютера.

У всех ОС разное назначение. История появления и развития ОС связано с развитием ОС.


Развитие вычислительной техники и программного обеспечения

Вычислительную технику традиционно или исторически разделяли на так называемые поколения. Поколение – это группа компьютеров, которые объединены по совпадению определенного набора признаков. Обычно это архитектура, элементная база, области применения и т.д.


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

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

Что появилось:

• однопользовательский, персональный режим

• зарождение класса сервисных, управляющих программ

• зарождение языков программирования

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


Если компьютеры 1-го поколения были связаны восновном с вооружением, войной, то компьютеры 2-го поколения уже стали более распространенными и начали применяться в более привычных для нас сферах работы: управление предприятиями, сбор информации и т.д. Строились они на новой элементной базе на полупроводниковых приборах – это диоды и транзисторы. Конец 50-х 2-я половина 60-х годов.. Размер компьютеров второго поколения на порядки уменьшился по сравнением с компьютерами первого поколения, уменьшилась энергопотребление, уменьшились габариты, увеличилась скорость.

Стало возможно создавать более сложные по архитектуре системы. Уменьшились размеры, следовательно, проводники стали короче, следовательно, время работы уменьшилось и тепла стало выделяться меньше.

^ Пакетная обработка заданий Для работы компьютера формировался пакет программ, уход от персонального компьютера.

Проблема: Внешнее устройство было медленное, поэтому самая дорогая часть компьютера – центральный процессор(ЦП)- основное время простаивал. (пока ленту на нужное место промотаешь…) На ранних этапах рядом с компьютером сидела девушка и на кнопку нажимала, чтобы компьютер запустить…

Мультипрограммирование В памяти находились несколько программ пользователя(ей).Если одна программа не может выполняться(например, в связи с работой с внешним устройством), то можно запускать другую. Хорошо бы запускать компьютер только тогда, когда все готово, чтобы от девушки не зависеть…

^ Языки управления заданиями Нужен был язык, который позволял бы до начала работы программы сформировать требования, которые необходимы для ее выполнения.

^ Чтобы предотвратить зацикливание нужно знать:

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

2) Объем оперативной памяти, которая будет использована максимально

3) Сколько памяти на магнитной ленте потребуется

4) Стоит ли магнитная лента …

Проблема: Работа с внешними устройствами упростилась, то есть появились стандартные управляющие программы, но у каждого внешнего устройства своя управляющая программа.

файловые системы Появились файловые системы. Пользователю представилась возможность именовать данные и сохранять их. Можно не знать, где конкретно они лежат.

виртуальные устройства Проблема: Развивались внешние устройства. У каждого свои особенности управления, а их очень много, поэтому неудобно. Появились виртуальные устройства – обобщение над всеми маленькими.


Их появление вызвало массовое внедрение вычислительной техники в повседневную жизнь. Массовое появление фирм, каждая из которых производила свою модель компьютеров.

Проблема: В результате идентичные устройства от разных производителей не взаимозаменялись.

Решение:

1)У третьего поколения все устройства стали унифицироваться.

2) Устройства стали использовать идентичные расходные материалы. Все стало унифицированное (машинная лента, катушка)

Все стало стыковаться за счет унификации аппаратных интерфейсов

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

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


Основной аппаратной характеристикой компьютеров 4-го поколения является использование интегральных схем большой и сверхбольшой интеграции. Т.е. элементная база используют устройства в корпусе которого может быть реализован целый функциональный узел процессор и т.д. Появились абсолютно новые сферы применения и компьютер все более и более стал терять свойства устройства для выполнения программ и для работы с программистом. Развитие элементной базы оно определило с одной стороны потенциальную возможность сфер применения компьютерной техники, с другой стороны потребность создания максимально дружественных интерфейсов между пользователем и вычислительной системой (очень значимо). Появление дружественных интерфейсов позволило возродить понятие персональный компьютер. Были созданы все условия, как аппаратные так и программные, для того, чтобы компьютер стал персональным устройством. Т.е. компьютеры 4-го и далее поколений – это персональные компьютеры, которые могут применяться везде и всюду, отсюда – массовое распространение компьютеров. Миниатюризации вычислительной техники позволила совершить существенное развитие применения компьютеров, как встраиваемых устройств, используемых для управления теми или иными технологическими и производственными процессами. Развитие компьютеров 4-го поколения и далее обусловила толчок к развитию сетевых технологий. Развитию сетевых технологий прошло по пути развитию компьютеров. Изначально создавались корпоративные компьютерные сети. Развитие вычислительной техники, появление больших объемов информации потребовало создание средств, которые бы унифицировали с одной стороны, с другой стороны максимально упростили создание компьютерных сетей. Здесь можно говорить о первом решении, которое было формально предложано международным институтом стандартизации (ISO) – это модель открытой системы ISO OSI. Модель ISO OSI немного обобщала уже опыт развития семейства протоколов, которые были сформированы в результате разработки проекта AADR, которое получило название TCP IP. Сетевые технологии – это разработка обще принятых программных и аппаратных интерфейсов, которые позволяют подключать компьютер через разные интерфейсы к тем или иным сетям. Одной из проблем связанным с компьютерами 4-го поколения и последующих является проблема, связанная с обеспечением безопасности хранения и передачи данных. Информация стала товаром и предметом собственности. Следовательно, возникает проблема, связанная с обеспечением безопасности в части минимизации возможности несанкционированного доступа к этой информации. На сегодняшний день существует целая отрасль, занимающаяся этими проблемами.


^ Основы архитектуры вычислительной системы


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

^

Структура вычислительной системы

















Взаимодействие уровней осуществляется с помощью межуровневых интерфейсов.


Средства программные доступные на уровнях управления ресурсами ВС:

•Система команд компьютера

• Программный интерфейс драйверов устройств как физических, так и виртуальных.


^
Аппаратный уровень вычислительной системы

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

Характеристики:

1)Правила программного использования (для ЦП – система команд, для внешних устройств – команды управления ими)

2) производительность и/или емкость (ЦП – тактовая частота, разрядность обработки машинного слова; для внешнего запоминающего устройства – объем помещающейся информации и скорость доступа)

3) Степень занятости или используемости (ЦП – время, которое было затрачено, ОЗУ – объем используемой памяти; для линий связи – их загруженность)

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


Средства программирования, доступные на аппаратном уровне:

• система команд компьютера;

• аппаратные интерфейсы программного взаимодействия с физическими ресурсами.


Управление физическими ресурсами ВС


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

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

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

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


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

Драйвер физического устройства упрощает для пользователя интерфейс работы с устройством.

Драйвер физического устройства скрывает от пользователя детальные элементы управления конкретным физическим устройством. Драйвер физического устройства ориентирован на конкретные свойства устройства.

На данном уровне иерархии вычислительной системы обеспечивается корректное функционирование и использование физических ресурсов/устройств.

На этом уровне пользователю доступны: системы команд, аппаратные устройства, доступ к физическим ресурсам через соответствующие драйверы.

Проблемы:

1)Для работы на этом уровне надо быть знакомым с интерфейсом соответствующего устройства

2) Программа должна модифицироваться для работы с устройствами другого типа


Управление логическими/виртуальными ресурсами


^ Логическое/виртуальное устройство (ресурс) – устройство/ресурс, некоторые эксплутационные характеристики которого (возможно все) реализованы программным образом.


^ Драйвер логического/виртуального ресурса - программа, обеспечивающая существование и использование соответствующего ресурса


Разветвленная иерархия виртуальных и физических устройств:

Драйверы делятся на 3 категории

1.Драйверы физических устройств

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

одного класс.

3. Драйверы логических виртуальных устройств не существующих в аппаратном виде


.Рассмотрим пример ниже. Группа А - это драйвера физических устройств, мы видим здесь драйвера конкретных дисковых устройств, здесь драйвер жесткого диска фирмы IBM , здесь еще какой-нибудь; драйвер оперативной памяти и т.д. Группа В – это драйвера виртуальных ресурсов, которые обобщают свойства конкретных устройств, в частности драйвер виртуального диска, это означает что в системе есть единый упрощенный интерфейс, который доступен для программиста и программ и который обеспечивает работу с виртуальным диском. Что в данный момент ассоциируется с виртуальным диском – это уже проблема операционной системы, с ним может быть ассоциирован драйвер конкретного физического устройства (драйвер физического диска, драйвер оперативной памяти). Группа С – файловая система;

Т.о. все что есть в ВС на программном уровне, мы можем переопределить в терминах ресурсов и драйверов.


У
ровень управления физическими и виртуальными ресурсами составляют ОС.

^ Ресурсы вычислительной системы - совокупность всех физических и виртуальных ресурсов.

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

^ Операционная система - это комплекс программ, обеспечивающий управление ресурсами вычислительной системы.

Средства программирования, доступные на уровнях управления ресурсами ВС:

• система команд компьютера;

• программные интерфейсы драйверов устройств (как физических, так и виртуальных)


На уровне ОС пользователю доступны:

  1. Системы команд;

  2. Аппаратные интерфейсы;

  3. Интерфейсы физических и виртуальных устройств.



Системы программирования


Система программирование – это комплекс программ, обеспечивающий поддержание жизненного цикла программы в вычислительной системе

У
ровень системы программирования обеспечивает поддержание этапов жизни программы: проектирование, кодирование, тестирование, отладка, изготовление программного продукта.

Этапы ,связанные с разработкой и внедрением программы, называются жизненным циклом.

Проектирование

Обычно он включает исследование задачи, исследование характеристик объектной среды (как объектная среда будет связана с нашей системой).

^ Объектная среда – это та ВС, в рамках которой продукт будет функционировать.

Построение модели функционирования автоматизированного объекта.

Определение характеристик инструментальной среды.

^ Инструментальная среда – это ВС, которая будет использована для разработки программ. В каких-то случаях объектная среда и инструментальная среда могут совпадать. Выбор инструментальной среды - это выбор как аппаратной платформы для разработки так и тех программных инструментов, которые будут использованы при построении программного продукта.

^ Выбор алгоритмов и инструментальных средств. Проектирование решения, что будет использовано.

Априорная оценка ожидаемых результатов. Суть: предварительная оценка характеристик проектируемого решения(продукта). До начала его практической реализации.

^ Наличие априорной оценки позволяет:

а) достичь, в принципе, поставленной задачи;

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

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

^ Результатом этапа проектирования является спецификация на создаваемое программное решение. Эти спецификации могут быть формальные и не формальные. Это зависит от использования тех или иных средств систем программирования и вообще тех или иных систем программирования. Соответственно 1-й этап проектирования – это спецификация.


Кодирование

Спецификация бывает формальная и неформальная.

Средства для разработки программных продуктов

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

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

3) системы поддержки версий, т.е. системы, которые позволяют фиксировать состояние проекта в виде некоторых версий, а также протоколировать все изменения исходных модулей и при необходимости осуществлять возврат к предыдущим версиям.






Тестирование и отладка

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





Ввод программной системы в эксплуатацию внедрение) и сопровождение 

Включает следующий набор требований:

1 - подготовка документации, иногда автоматической или автоматизированной;

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


Современные технологии разработки программного обеспечения

^ К
аскадная модель


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


Каскадная итерационная модель

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

Спиральная модель организации жизненного цикла программных систем

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





^ Система программирования – это комплекс программ, обеспечивающий технологию автоматизации :

• проектирования,

• кодирования,

• тестирования,

• отладки и сопровождения программного обеспечения.

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


^ Немного истории:

Начало 50-х годов ХХ – века. Система программирования или система автоматизации программирования включала в себя ассемблер (или автокод) и загрузчик, появление библиотек стандартных программ и макрогенераторов.

^ Середина 50-х – начало 60-х годов ХХ – века. Появление и распространение языков программирования высокого уровня (Фортран, Алгол-60, Кобол и др.). Формирование концепций модульного программирования.

^ Середина 60-х годов – начало 90-х ХХ – века. Развитие интерактивных и персональных систем, появление и развитие языков объектно-ориентированного программирования.

^ 90-е ХХ – века – настоящее время. Появление промышленных средств автоматизации проектирования программного обеспечения, CASE-средств (Computer-Aided Software/System Engineering), унифицированного языка моделирования UML.

Появляются промышленные средства автоматического проектирования програмного обеспечения. CASE – средства.

Средства программирования, доступные на уровне системы программирования - программные средства и компоненты СП, обеспечивающие поддержание жизненного цикла программы


Средства программирования, доступные на уровне системы программирования - программные средства и компоненты СП, обеспечивающие поддержание жизненного цикла программы


^ Прикладные системы

Первый этап развития прикладных систем


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

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


^ Второй этап – развитие систем программирования и появление средств создания и использования библиотек программ





^ Третий этап

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





^ Прикладные системы

Примеры:









Основные тенденции в развитии современных прикладных систем

Стандартизация моделей автоматизируемых

бизнес-процессов

B2B (business to business)

B2C (business to customer)

ERP (Enterprise Resource Planning)

CRM (Customer Relationship Management)

Открытость системы


API - Application Programming Interface


Выводы









Базовые определения и понятия:

• Вычислительная система

• Физические ресурсы (устройства)

• Драйвер физического устройства

• Логические или виртуальные ресурсы (устройства)

• Драйвер логического/виртуального ресурса

• Ресурсы вычислительной системы

• Операционная система

• Жизненный цикл программы в вычислительной системе

• Система программирования

• Прикладная система


Основы компьютерной архитектуры


«Компьютер фон Неймана»:

• Джон фон Нейман (John Von Neumann)

• EDVAC (Electronic Discrete Variable Computer - Электронный Компьютер Дискретных Переменных)

• Предварительный доклад о компьютере EDVAC (A First Draft Report on the EDVAC).

• Джон Мочли (John Mauchly) и Джон Преспер Эккерт (John Presper Eckert).

• ENIAC  (Electronic Numerical Integrator And Computer).

Структура, основные компоненты:





Структура компьютера фон Неймана


"принципы построения компьютера фон Неймана":

Принцип двоичного кодирования

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

^ Принцип программного управления

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


^ Принцип хранимой программы

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


Предполагается, что компьютеры фон Неймана имеют следующие компоненты:

  • центральный процессор (ЦП),в функции которого входит обеспечение выполнения программы;

  • оперативное запоминающее устройство(ОЗУ) - это устройство, предназначенное для хранения выполняемой в данный момент программы;

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

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

Рассмотрим каждое из компонентов модельной машины.


Оперативное запоминающее устройство








^ ТЕГ

(поле служебной

информации)

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

Функция ОЗУ - хранение программы, выполняющейся в компьютере

ОЗУ - устройство, предназначенное для хранения оперативной информации.

В ОЗУ размещается исполняемая в данный момент программа и используемые ею данные.

ОЗУ состоит из ячеек памяти, содержащей поле машинного слова и поле служебной информации.

В ОЗУ все ячейки памяти имеют уникальные имена, имя - адрес ячейки памяти.

Доступ к содержимому машинного слова осуществляется посредством использования адреса.


Машинное слово – поле программно изменяемой информации.

в машинном слове могут располагаться

1) машинные команды (или части машинных команд)

2) данные, с которыми может оперировать программа.


Использование содержимого поля служебной информации необходимо для целостности и корректности использования машинного слова.

Служебная информация (иногда ТЭГ) – поле ячейки памяти, в котором схемами контроля процессора и ОЗУ автоматически размещается информация, необходимая для осуществления контроля за целостностью и корректностью использования данных, размещаемых в машинном слове.


В поле служебной информации могут размещаться :

1)разряды контроля четности машинного слова, при чтении контроль соответствия;

2)разряды контроля «данные-команда»;

3)машинный тип данных – осуществление контроля за соответствием машинной команды и типа ее операндов.


Использование содержимого поля служебной информации

1. Контроль за целостностью данных.

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










2. Контроль доступа к командам/данными.

Контроль осуществляется при помощи тегов. Если команда захочет рассмотреть данные в качестве команды то будет прерывание. Происходит проверка на семантическую правильность.


3. Контроль доступа к машинным типам данных

Тип данных – определенный формат данных, с конкретным набором операций, известных для этого формата. Т.е. если выполняется команда «плавающий арифметикой» (арифметика с плавающей точкой),то она выполнится нормально в том и только в том случае, если операнды помечены как данные в формате с плавающей точкой, иначе произойдет ошибка. Соответственно при записи можно назначать, что эта ячейка есть плавающая точка – определенный режим.


Важной характеристикой ОП является производительность ОП.

Производительность оперативной памяти - скорость доступа процессора к данным, размещенным в ОЗУ:

Cкорость доступа к данным ОЗУ существенно ниже скорости обработки информации в ЦП.

Фигурируют два компонента, которые определяют эту характеристику производительности:

время доступа (access time- taccess) - время между запросом на чтение слова из оперативной памяти и получением содержимого этого слова.

длительность цикла памяти (cycle time - tcycle) - минимальное время между началом текущего и последующего обращения к памяти.

(tcycle>taccess)

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


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

Расслоение памяти






Расслоение ОЗУ – один из аппаратных путей решения проблемы дисбаланса в скорости доступа к данным, размещенным в ОЗУ и производительностью ЦП. Суть его в следующем: предполагается, что вся память аппаратно разделена на последовательность областей, каждая из которых называется банк памяти и ОП физически представляется как объединение k банков памяти. Соответственно для управления ОП существует аппаратура, которая обеспечивает функцию управления, это контроллер ОП. Он может состоять из двух уровней – это контроллер доступа к памяти в целом, который имеет k своих внутренних каналов, которые могут работать параллельно, и каждый из каналов связан с контролем соответствующего банка памяти. Ячейки памяти расположены между соседними банками. Это означает, что в нулевом банке находится нулевая ячейка, в первом банке – первая ячейка и т.д. , в k-1 м банке k-1 – я ячейка, k – я ячейка находится в нулевом банке, k+1 – в первом и т.д. Все адреса размазаны по этим банкам. Всегда гарантированно, что соседние адреса, если их не более k находятся в разных банках. Это и есть аппаратная организация. Соответственно, если имеется ОП без расслоения памяти и с расслоением, то мы имеем следующую картину:

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


Другие пути решения данной проблемы – возможность предварительной буферизации при чтении команд/данных и оптимизация при записи в ОЗУ больших объемов данных.


Центральный процессор


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






Регистровая память – совокупность устройств памяти ЦП ,предназначенных для временного хранения операндов, информации, результатов операций.

Устройство управления (control unit)– координирует выполнение команд программы процессором.

Арифметико-логическое устройство (arithmetic/logic unit) –обеспечивает выполнение команд, предусматривающих арифметическую или логическую обработку операндов.


Регистровая память





Регистры общего назначения (РОН)

^ Регистры общего назначения (РОН) используются в машинных командах для организации индексирования и определения исполнительных адресов операндов, а также для хранения значений наиболее часто используемых операндов, в этом случае сокращается число реальных обращений в ОЗУ и повышается системная производительность ЭВМ.

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


^ Регистр адреса (РА) - содержит адрес команды, которая исполняется в данный момент времени. По содержимому РА ЦП осуществляет выборку текущей команды, по завершении ее исполнения регистр адреса изменяет свое значение тем самым указывает на следующую команду, которую необходимо выполнить.


^ Регистр результата (РР) - содержит код, характеризующий результат выполнения последней арифметико-логической команды. Содержимое РР может характеризовать результат операции. Для арифметических команд это может быть «=0», «>0», «<0», переполнение. Содержимое РР используется для организации ветвлений в программах, а также для программного контроля результатов.


^ Слово – состояние процессора (ССП или PSW) - регистр, содержащий текущие «настройки» работы процессора и его состояние. Содержание и наличие этого регистра зависит от архитектуры ЭВМ. Например, в ССП может включаться информация о режимах обработки прерываний, режимах выполнения арифметических команд и т. п. Частично, содержимое ССП может устанавливаться специальными командами процессора.


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


^ Регистр указатель стека - используется для ЭВМ, имеющих аппаратную реализацию стека, в данном регистре размещается адрес вершины стека. Содержимое изменяется автоматически при выполнении «стековых» команд ЦП.


Устройство управления и арифметико-логическое устройство


Устройство управления (control unit)– координирует выполнение команд программы процессором.


Арифметико-логическое устройство (arithmetic/logic unit) – обеспечивает выполнение команд, предусматривающих арифметическую или логическую обработку операндов.


Эти устройства являются «мозгом» процессора. Как именно функционирование этих устройств обеспечивает выполнение программ? Для ответа на этот вопрос рассмотрим упрощенную схему выполнения программ, иногда называемую рабочим циклом процессора.

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

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


Рабочий цикл процессора


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






Кэш-память (L1)


^ Вернемся к проблеме дисбаланса скорости доступа к ОЗУ и скорости обработки информации ЦП.

Первое решениеиспользовать программные средства. Программист может разместить наиболее часто используемые операнды в РОН, тем самым сокращается количество «медленных» обращений в ОЗУ. Результат решения во многом зависит от качества программирования.


Второе решение – использование в архитектуре ЭВМ специальных регистровых буферов или КЭШ памяти (Аппаратное решение). Традиционно, в развитых ЭВМ используется аппаратная буферизация доступа к операндам команд, а также к самим командам. Регистровые буфера или КЭШ память предназначены для разрешения проблемы несоответствия скоростей работы ОЗУ и ЦП, на аппаратном уровне, т.е. эта форма оптимизации в системе организована аппаратно и работает всегда, вне зависимости от исполняемой программы.

^ Кэш память (cache memory) первого уровня (L1)

Автоматически минимизирует число обращений к ОП за командами и операндами команд. Обмен данными между КЭШем и оперативной памятью осуществляется блоками фиксированного размера .

^ Адресный тег блока содержит служебную информацию о блоке (соответствие области ОЗУ, свободен/занят блок, ......).

Нахождения данных в КЭШе - попаданием (hit). Если искомых данных нет в КЭШе, то фиксируется промах (cach miss).

При возникновении промаха происходит обновление содержимого КЭШа - вытеснение.

Появляется вопрос кого “убирать”? Существуют различные дифференцированные критерии решения этой проблемы.

Стратегии вытеснения:

случайная;

Это когда в системе есть в системе датчик случайных чисел (аппаратный) и он будет генерировать номер того блока, который должен быть освобожден.

вытеснение наименее популярного (LRU - Least-Recently Used).

Наиболее распространенный и простой критерий - вытеснять из таблицы самую “старую” строчку. А признаком старения может быть, например, количество обращений к буферу, при котором нет обращения к этой строчке.

 

 

Вытеснение КЭШ’а данных:

сквозное кэширование (write-through caching)

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

кэширование с обратной связью (write-back cache) - тег модификации (dirty bit )

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


^ При использовании кэш памяти (cache memory):


• сокращается количество обращений к ОЗУ;

• существенно увеличивается скорость доступа к памяти в случае использования ОЗУ с «расслоением», т.к. обмены блоков с памятью будут проходить, практически параллельно.


Аппарат прерываний

Прерывание - событие в компьютере, при возникновении которого в процессоре происходит предопределенная последовательность действий. Прерывания возникают в нестандартных ситуациях (например, в регистре команд декодируется операция с неизвестным кодом).мы заранее оговариваем какого рода нестандартные ситуации могут произойти. Прерывание – это программно аппаратное средство.

Прерывания:

внутренние - инициируются схемами контроля работы процессора

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

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


^ Этап аппаратной обработки прерываний





. На аппаратной стадии обработки прерывания происходит следующее: завершается выполне6ние текущей команды, в том случае если прерывание не связано с выполнением текущей команды (предположим, пришло внешнее прерывание), происходит блокировка прерываний. Обработка прерываний предполагает приостановку текущей программы, и при этом после обработки прерываний возможно продолжение текущей программы, т.е. как правило, программа после возникновения прерывания продолжает свое исполнение. При возникновении прерывания в системы должны быть предусмотрены средства, которые, с одной стороны, позволили бы вызвать программу, которая будет обрабатывать возникшее прерывание. С другой - сохранили бы возможность продолжения программы после обработки прерывания, так как существуют регистры, которые при обработке прерывания нужно либо не трогать, либо как-то сохранить. В модельной аппаратуре компьютера имеются средства сохранения актуального состояния процессора, которые сохраняют все необходимые для загруженной программы регистры в специальном регистровом буфере. Чтобы не возникла ситуация, когда информация скидывается в этот буфер, но не успевает обработаться, а в это время появилось еще одно прерывание и скидывается поверх еще – то включается режим блокировки прерываний. В режиме блокировки прерываний происходит следующее: либо возникающие в системе прерывания игнорируются, либо их обработка откладываются до тех пор, пока не будет обработано предыдущее прерывание. После блокировки происходит аппаратный сброс части регистров в буфер и начинается программный этап обработки прерываний.


^ Программный этап обработки прерываний





Происходит идентификация типа прерывания:

  • Прерывание может быть «короткое», которое не требует больших ресурсов и значительного времени обработки. Пример: прерывание, связанное с таймером. В этом случае происходит обработка и осуществляется выход из прерывания. Т.е. восстановление состояние процессора в точке прерывания (за счет буфера), возврат в точку прерывания и одновременное снятие блокировки прерывания.

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



Идентификация прерывания может осуществляться разными моделями.


М
одель организации прерываний с использованием «регистра прерываний»



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

 


^ Модель организации прерываний с использованием «вектора прерываний»






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


^ Модель организации прерываний с использованием регистра «слово состояние процессора»




Код прерывания аппаратно помещается в регистр «слово состояние процессора», после этого программа-обработчик прерывания выбрав этот код принимает решение о дальнейшей последовательности действий, которые необходимо осуществить для обработки прерывания, стоящего под этим кодом.


Внешние устройства




Внешние устройства на сегодняшний день во многом определяют эксплуатационные характеристики компьютера. Система внешних устройств компьютера достаточно широкая. Но есть некоторый типовой набор внешних устройств. Традиционно внешние устройства можно разделить на следующие классы:

^ Внешние запоминающие устройства – устройства, предназначенные для хранения данных и программ

Устройства ввода и отображения информации – осуществляют ввод из вне некоторой информации и отображение ее в виде некоторых результирующих данных. Традиционно – это печатающие устройства, устройство дисплея и устройство ввода изображения и текста.

^ Устройства приема и передачи данных используются для получения данных с других компьютеров, «из вне». (модем, факс…)


Внешние запоминающие устройства (ВЗУ).

Обмен данными:

• записями фиксированного размера – блоками

• записями произвольного размера

Доступ к данным:

• операции чтения и записи (жесткий диск, CDRW).

• только операции чтения (CDROM, DVDROM, …).


ВЗУ является устройством последовательного доступа если для чтения i-й записи необходимо прочесть («просмотреть») предыдущие i-1 запись. Устройства последовательного доступа являются простейшими ВЗУ. Они обычно используются для архивирования данных. Скорость обработки запросов чтения/записи самая низкая (большой объем механических действий, таких как перемотка лент вперед-назад при выполнении обмена).

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

Последовательного доступа:

•Магнитная лента

Прямого доступа:

• Магнитные диски

• Магнитный барабан

• Магнито - электронные ВЗУ прямого доступа


^

3.6.1.1 Устройство последовательного доступа



Магнитная лента





Примером устройства последовательного типа является магнитная лента (МЛ).  

Чтобы добраться до определенной записи, нужно пройти все предыдущие.

Обычно длина физической записи МЛ произвольная, она определяется специальными маркерами начала и конца записи.


^ 3.6.1.2 Устройства прямого доступа
Наименее скоростные устройства прямого доступа. Блок может перемещаться от края к центру. Каждое устройство характеризуется фиксированным числом цилиндров. Дорожки относящиеся к одному цилиндру также пронумерованы. Дорожки образуют концентрические окружности. Все дорожки разделены на сектора. Начала одноименных секторов лежат в одной плоскости.

Для задания координат определенного сектора в управляющее устройства необходимо передать:

- номер цилиндра, где расположен сектор

- номер дорожки на которой находится сектор

- номер сектора

- считывание информации производится внутри условного цилиндра.

При выполнении обмена совершаются следующие действия:

*перемещение считывающей/головки на нужный цилиндр;

*ожидание выхода головки на начало нужного сектора диска (ожидание механического поворота диска на начало сектора);

*непосредственный обмен (в темпе движения диска);


^ Магнитный барабан





Высокоскоростное ВЗУ.

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


^ При выполнении обмена совершаются следующие действия:

- электронное включение считывающей/записывающей головки, соответствующей нужному треку;

- ожидание размещения головки над началом нужного сектора (ожидание механического поворота барабана на начало сектора);

- непосредственный обмен в темпе движения барабана.

^ Магнито-электронные ВЗУ прямого доступа





Память на магнитных доменах, ВЗУ, построенные на элементной базе ОЗУ и т.п.

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

В обмене отсутствует «механическая» составляющая, поэтому это наиболее быстродействующие ВЗУ.

Используется американцами на шатлах.


^ Организация потоков данных при обмене с внешними устройствами


. Если посмотреть на взаимодействие ЦП, ОП и внешнего устройства, то это взаимодействие логически разделяется на два компонента:

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

Поток данных. Т.е. непосредственно ответ на управляющее воздействие и связанное с этим ответом перемещение данных от внешнего устройства в ОП или в ЦП.

Организация потока данных между устройствами может осуществляться 2-мя способами. ^ Организация потока данных между ОП и внешним устройством через ЦП. Это означает, что программе нужно считать или записать какую-то порцию данных процессор выполняет соответствующую последовательность команд. При этом выполняются либо специальные команды ввода- вывода либо процессор специальным образом размещает информацию на специальных регистрах. После это если есть команда чтения информации, то с устройства поступают данные опять-таки на специальные регистры, ЦП ловит (т.е. здесь могут появляться прерывания) эти данные и размещает их в нужную часть ОП, т.е. туда, куда эти данные должны быть размещены. Т.е. это схема обмена через ЦП.




^ Использование устройств прямого доступа к памяти(direct memory access – DMA). – это означает, что поток данных, т.е. поток управления идет через ЦП, т.е. ЦП выдает управляющую информацию и отслеживает окончательное выполнение, а поток данных идет не через процессор, а через некоторый контроллер, который называется DMA-контроллер. Т.о. обмен может осуществляться без участия ЦП. Т.е. при подаче информации на ЦП о том, что необходимо произвести обмен, DMA-контроллер производит соответствующие необходимые действия и начинается обмен. Когда обмен прошел, то происходит прерывание и ЦП получает информацию о том, что обмен прошел или не прошел.





^ Модели синхронизации при обмене с внешними устройствами




Существует две принципиально различные стратегии выполнения обмена с внешними устройствами: синхронная и асинхронная работа с ВУ.

Синхронная организация обмена

Процессор подает запрос внешнему устройству и ожидает завершения выполнения запроса.

Системы с синхронной организацией работы ВУ неэффективны с точки зрения использования времени работы центрального процессора. Процессор часто «ожидает» выполнения запроса. Наиболее подходит для однопрограммных специализированных вычислительных систем.

Асинхронная организация обмена

При обработке запроса к ВУ происходит разделение выполнения на три части:

1) передача ЦП запроса на выполнение работ. После этого процессор может выполнять другие команды.

2) параллельно работе ЦП происходит выполнение запроса к ВУ (т.е. в это время процессор может выполнять другие машинные команды).

3) выполнение работы ЦП прерывается и ему передается информация о завершении выполнения запроса. ЦП может также приостановить работу в случае обращения в область ОЗУ, находящуюся в обмене.

Асинхронная организация работы с ВУ более эффективна, но требует наличия развитого аппарата прерываний.

^

Организация управления внешними устройствами





  1. Непосредственное управление внешними устройствами центральным процессором. есть внешнее устройство, ЦП и ОЗУ. Устройство управления внешними устройствами оно имплантировано в ЦП. Т.е. ЦП выполняет абсолютно все действия по управлению внешними устройствами, что ведет к достаточно большим потерям у системы в целом. Это 1-я историческая модель.



2.Синхронное управление внешними устройствами с использованием контроллеров

внешних устройств. Суть такова : появились между ЦП и внешнем устройством -устройства, которые называются контроллер внешнего устройства. Контроллер внешнего устройства служит промежуточным звеном для общения ЦП и внешнего устройства. С точки зрения ЦП контроллер внешнего устройства может иметь интерфейсную часть (команды) более высоко уровневую, чем для 1-го случая (могут быть, команды уже подачи информации позиционировать на соответствующий сектор). Но при этом на ЦП ложится значительная работа по обработке ошибочных и ситуаций и прочих внештатных ситуаций, которые выполняются при обмене. Уровень и объем непроизводительной работы ЦП зависит от конкретного контроллера (т.е. насколько интеллектуальный контроллер).


3.Асинхронное управление внешними устройствами с использованием контроллеров внешних устройств.

Альтернатива синхронному управлению. Т.е. при появлении асинхронного управления – появляются прерывания, которые позволяют откладывать и запараллеливать разные действия, а проблема загрузки ЦП непроизводительной работой – она остается как есть. Все равно ЦП, несмотря на асинхронную работу, занимается плюс непроизводительной работой.





^ 4.Использование контроллера прямого доступа к памяти (DMA) при обмене.

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

^ 5.Управление внешними устройствами с использованием процессора или канала ввода/вывода.

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






оставить комментарий
страница1/24
Дата03.10.2011
Размер2,95 Mb.
ТипКонспект, Образовательные материалы
Добавить документ в свой блог или на сайт

страницы:   1   2   3   4   5   6   7   8   9   ...   24
плохо
  1
отлично
  1
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх