- •Операционные системы
- •Введение
- •Глава 1 понятие и эволюция операционных систем
- •1.1. Определение операционной системы
- •1. 2. История развития операционных систем
- •1.3. Основные характеристики ос
- •1.4. Принципы построения ос
- •Глава 2 архитектура вычислительной системы
- •2.1. Особенности методов построения
- •Глава 3 управление процессами
- •3.1. Операции над процессами
- •3.2. Основная концепция обработки прерываний
- •3.3. Переключение контекста в ec эвм
- •Глава 4 управление асинхронными параллельными процессами
- •If q(s) очередь не пуста?
- •Глава 5 управление основной памятью
- •Глава 6 управление виртуальной памятью
- •6.1. Концепция виртуальной памяти
- •1.Признак обращения 0 - было
- •2.Признак модификации записи 0 - неизменен.
- •6.2. Динамическая страничная организация
- •6.3. Сегментная организация виртуальной памяти
- •6.4. Комбинированная странично-сегментная организация памяти
- •6.5. Двухуровневая страничная организация
- •Глава 7 многозадачность и многонитевость
- •7.1. Понятие многонитевости
- •7.2. Реализация многонитевой обработки в windows 95
- •7.3. Подкачка страниц памяти
- •Глава 8 управление процессорами и заданиями в однопроцессорном вычислительном комплексе
- •Глава 9 управление процессорами и заданиями в мультипроцессорных вычислительных комплексах.
- •9.1. Решение фирмы Сompaq
- •Глава 10 управление периферийными устройствами
- •10.1. Физическая организация периферийных устройств
- •10.2. Организация программного обеспечения ввода-вывода
- •Глава 11 подсистема управления данными
- •11.1. Система управления файлами
- •11.2. Способы доступа и организации файлов
- •11.3. Управление внешней памятью
- •11.4. Способы распределения памяти на диске
- •Глава 12 Современные концепции и технологии проектирования операционных систем
- •12.1. Требования, предъявляемые к ос 90-х годов
- •12.2. Тенденции в структурном построении ос
- •Глава 13 История и общая характеристика семейства операционных систем unix
- •Глава 14 История Windows nt
- •14.1. Версии Windows nt
- •14.2. Структура: nt executive и защищенные подсистемы
- •14.3 Области использования Windows nt
- •Литература:
9.1. Решение фирмы Сompaq
Разделение шины ЦП - память (что позволило повысить ее разрядность до 32) и шины ISA – это является решением фирмы Compaq.
Повысилась пропускная способность канала (CPU-RAM за счет применения внешней кэш - памяти для каждого процесса. Выборка команд из внешней кэш - памяти выполняется одновременно с передачей данных между ОЗУ и ВНУ в режиме прямого доступа к памяти (ПДП) в результате распараллеливания работы системы. Это условно симметричная многопроцессорная система, которая позволяет одинаково разделять задачи между процессорами. Асимметрия состоит в том, что аппаратные прерывания от ВНУ может воспринимать только один (первичный) процессор.
Развитием стало внедрение архитектуры Tri Flex, которая легла в основу Systempro/x2. Еще больше параллелизма и оптимизации проходимости каналов передачи между основными подсистемами компьютера. Выделены уже три отдельные высокоскоростные шины. Основной выигрыш производительности - за счет используемой 64 разрядной шины CPU.
Высокоэффективное кэш - ОЗУ (64 - разрядное.) минимизирует частоту обращения к основной памяти. Когда процессору понадобиться доступ к ней, в его распоряжении 128-разрядная шина (267 Мб/сек). Специальная схема контроллера (управление потоком данных) содержит 256 - разрядные многоступенчатые буферы, способные накапливать и самостоятельно осуществлять до 16 операций ввода/ввывода по шине EISA (рис.9.4).
Рис. 9.4. Архитектура FLEX/MP
Глава 10 управление периферийными устройствами
Одной из главных функций ОС является управление всеми устройствами ввода-вывода компьютера. ОС должна передавать устройствам команды, перехватывать прерывания и обрабатывать ошибки; она также должна обеспечивать интерфейс между устройствами и остальной частью системы. В целях развития интерфейс должен быть одинаковым для всех типов устройств (независимость от устройств).
Подсистема управления периферийными устройствами (УПУ) предназначена для выполнения следующих функций:
-
передачи информации между ПУ и ОП, то есть ввод-вывод информации;
-
слежения за состоянием периферийных устройств;
-
обеспечения интерфейса между устройствами, а также подключения и отключения периферийных устройств и поддержки схемы распределения устройств;
-
модификации конфигурации;
-
обработки ошибок.
10.1. Физическая организация периферийных устройств
В общем случае ПУ называют средство ввода/вывода, способное осуществлять передачу информации между ЦП или ОП компьютера и внешними носителями информации. Многообразие внешних носителей и способов кодирования информации обусловили существование большого числа периферийных различных устройств, каждое из которых характеризуется:
-
быстродействием;
-
порцией обмена информации (1 бит, байт, слово, сектор, трек);
-
системой кодирования;
-
набором операций управления устройством.
Внешние устройства состоят из механической и электронной компонент и критической для скорости является механическая часть.
Постоянная забота об эффективном использовании ЦП, снижении его простоев во время выполнения операций ввода/вывода привели к росту автономии устройств ввода/вывода и появлению специализированных процессоров ввода/вывода, называемых каналами (chanel).
Канал ввода/вывода (КВВ) - это специализированный процессор, осуществляющий обмен данными между ОП и ПУ и работающий независимо от ЦП. В системах ввода/вывода с каналами ЦП лишь запускает операцию ввода/вывода и по окончании ввода/вывода через прерывания от канала уведомляется об окончании операции ввода/вывода.
КВВ решают проблему согласования быстродействия ЭВМ и устройств ввода/вывода. Канал может управлять одним устройством с высокой пропускной способностью (типа дисковода) или быть распределенным между несколькими устройствами с меньшей пропускной способностью (это, например, модемы). Обычно к каналу подключается совокупность быстродействующих или медленно действующих устройств, которыми канал управляет поочередно или одновременно.
По способам параллельного выполнения запросов ЦП на ввод-вывод каналы ввода/вывода подразделяются на три типа:
1.Байт-мультиплексные каналы, допускающие одновременный побайтовый обмен с несколькими медленными устройствами.
2. Селекторные каналы, допускающие поочередный, быстрый обмен с ПУ блоками ввода/вывода, каждый из которых имеет свой адрес.
3. Блок-мультиплексные каналы, допускающие одновременный блочный обмен данными с несколькими устройствами.
Как мы уже замечали, КВВ решает только проблему различия быстродействия ПУ и ЦП. Для решения же проблемы стандартного интерфейса ПУ с внутрисистемной шиной (магистралью) ЭВМ предназначено устройство управления (УУ) ПУ, называемое контроллером или адаптером устройства.
Контроллер ПУ - устройство управления, обеспечивающее стандартный интерфейс и подключение ПУ к системным магистралям ЭВМ. Если интерфейс между контроллером и устройством стандартизован, то независимые производители могут выпускать совместимые как контроллеры, так и устройства.
Контроллеры бывают как групповые, так и одиночные. Групповые контроллеры обеспечивают подключение группы однотипных устройств. Такие контроллеры обеспечивают в каждый момент времени передачу информации с одним устройством с одновременным выполнением других операций, не связанных с передачей данных, других устройств (например, перемотку магнитной ленты, перемещение головки НМД).
Разделение функций между контроллером и периферийным устройством зависит от типа ПУ: логические функции (соединение и синхронизация операций, передача сигналов об окончании операции или исключительных ситуациях) выполняются контроллером, а физические (передача данных) - периферийным устройством.
Операционная система обычно взаимодействует не с устройством, а с контроллером. Контроллер, как правило, выполняет простые функции, например, преобразует поток бит в блоки, состоящие из байт, и осуществляют контроль и исправление ошибок. Каждый контроллер имеет несколько регистров, которые используются для взаимодействия с центральным процессором. В некоторых компьютерах такие регистры являются частью физического адресного пространства, а специальные операции ввода-вывода отсутствуют. В других компьютерах адреса регистров ввода-вывода, называемых часто портами, образуют собственное адресное пространство за счет введения специальных операций ввода-вывода:
-
регистр управления и состояния, через который ЭВМ задает команды ПУ и получает информацию о его состоянии и результатах выполнения команды;
-
регистр данных, через который передается байт в коде ЭВМ.
ОС выполняет ввод-вывод, записывая команды в регистры контроллера. Например, контроллер гибкого диска IBM PC принимает 15 команд, таких, как READ, WRITE, SEEK, FORMAT и т.д. Когда команда принята, процессор оставляет контроллер и занимается другой работой. При завершении команды контроллер организует прерывание для того, чтобы передать управление процессору операционной системы, которая должна проверить результаты операции. Процессор получает результаты и статус устройства, читая информацию из регистров контроллера.
В настоящее время распространены три основные схемы организации ввода/вывода, соответствующие конфигурациям микро-, мини- и больших ЭВМ (рис. 10.1, 10.2, 10.3 соответственно).
Рис. 10.1. Схема организации ввода/вывода для персональных ЭВМ
В этой конфигурации шина разделяется между различными устройствами и выполняется побайтная передача информации между ЦП и памятью. Оперативная память подключается непосредственно на магистраль.
УПДП - устройство прямого доступа памяти (DMA-direct memory access) обеспечивает пересылку блоков данных независимо от ЦП и упрощает канал ввода/вывода.
На больших ЭВМ контроллер может быть связан с несколькими каналами ввода/вывода, а периферийное устройство - с несколькими контроллерами.
Контроллер также может иметь несколько адресов и путей доступа.
Адресация периферийных устройств на больших ЭВМ осуществляется составным адресом, включающим: номер канала, номер котроллера, номер устройства на контроллере:
0 0 F
№ канала №контр. № устройства.
В мини- и микро- ЭВМ для адресации устройств используются зарезервированные ячейки памяти.
Доступ к периферийным устройствам здесь осуществляется как обычный доступ к ячейкам ОП, что значительно упрощает программирование ввода/вывода.
Рис. 10.2. Схема организации ввода/ вывода для мини ЭВМ
Рис. 10.3. Схема организации ввода/вывода для многомашинного комплекса