рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Назначение и задачи подсистемы ввода-вывода

Назначение и задачи подсистемы ввода-вывода - раздел Образование, Экзаменационные вопросы по курсу Операционные системы Обмен Данными Между Пользователями, Приложениями И Периферийными Уст­ройствам...

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

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

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

На подсистему ввода-вывода возлагаются следующие функции:

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

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

· разделение устройств и данных между процессами (выполняющимися програм­мами);

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

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

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

· поддержка нескольких различных файловых систем;

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

54. Организация параллельной работы устройств ввода-вывода и процессора.Эволюция ввода-вывода может быть представлена следующими этапами:

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

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

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

· Использование модуля (канала) прямого доступа к памяти. Перемещение данных в память (из нее) без использования процессора.

· Использование отдельного специализированного процессора ввода-вывода, управ­ляемого центральным процессором.

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

 

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

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

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

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

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

3. Прямой доступ к памяти (direct memory access - DMA). В этом случае специальный модуль прямого доступа к памяти управляет обменом данными между основной памятью и контроллером ввода-вывода. Процессор посылает запрос на передачу блока данных модулю прямого доступа к памяти, а прерывание происходит только после передачи всего блока данных.

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

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

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

При обмене данными всегда возникает задача согласования скоростей работы уст­ройств. Решение этой задачи достигается буферизацией данных [8,18, 20]. В подсисте­ме ввода-вывода часто используется буферизация в оперативной памяти. Однако буфе­ризация только на основе оперативной памяти часто оказывается недостаточной из-за большой разницы скоростей работы оперативной памяти и внешнего устройства объ­ема оперативной памяти может просто не хватить. В этих случаях часто используют в качестве буфера дисковый файл, называемый спул-файлом. Типичный пример применения спулинга - вывод данных на принтер. (Для печатаемых документов объем в не­сколько Мбайт - не редкость, поэтому временное хранение такого файла в течение де­сятков минут в оперативной памяти нецелесообразно.)

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

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

Возможные схемы буферизации ввода-вывода приведены на рис. 4.7.

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

 

Работа одинарного буфера для блочно-ориентированных устройств может быть

описана следующим образом. Сначала осуществляется передача входных данных в сис-

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

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

зывается опережающим считыванием или упреждающим вводом.

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

Пусть Т - время, необходимое для ввода одного блока, а С - для вычислений, выпол­няющихся между запросами на ввод-вывод. Без буферизации время выполнения, прихо­дящееся на один блок, будет равно Т + С, при использовании одинарной буферизации время будет равно max [С, Т] + М, где М - время перемещения данных из системного бу­фера в пользовательскую память. В большинстве случаев Т + С > max [С, Т] + М.

Схема одинарного буфера может быть применена и при поточно-ориентированном вводе-выводе - построчно или побайтно (в строчных принтерах, терминалах и др.). На­пример, при операции вывода пользовательский процесс может разместить в буфере строку и продолжить работу.

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

Время выполнения при блочно-ориентированной передаче можно грубо оценить как max [С, Т]. Таким образом, если С < Т, то блочно-ориентированное устройство мо­жет работать с максимальной скоростью. Если С > Т , то двойная буферизация избавля­ет процесс от необходимости ожидания завершения ввода-вывода.

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

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

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

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

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

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

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

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

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

– Конец работы –

Эта тема принадлежит разделу:

Экзаменационные вопросы по курсу Операционные системы

Общая характеристика понятий сложность система модель... Существующие предметные области и явления сложны В силу этого реальный наблюдатель может видеть только отдельные...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Назначение и задачи подсистемы ввода-вывода

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

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

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

Основные этапы эволюции вычислительных систем
Существуют различные классификации ВС. Наиболее часто они классифицируются по элементной базе. В соответствии с этой классификацией в эволюции ВС выделяются 4 этапа: 1. Первый период (1945

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

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

Возможности развития ОС, требования к ОС, средства аппаратной поддержки ОС
Необходимость развития обусловлена следующими причинами: ¾ обновление и возникновение новых видов аппаратного обеспечения ¾ появление новых сервисов (для удовлетворе

Основные принципы разработки архитектуры ОС
Архитектура – это базовая организация системы, воплощенная в ее компонентах, их отношениях между собой и с окружением, а также принципы, определяющие проектирование и развитие системы [IEE[1471] .

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

Многоуровневая архитектура ОС
Многоуровневая архитектура появилась в ответ на ограничения монолитной архитектуры в плане расширяемости, переносимости и совместимости. Основная ее идея состоит в следующем: 1. П

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

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

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

Параметры планирования
При планирование ОС опирается на два класса параметров объекта. Первый класс отражает статистические параметры, второй – динамические. Статистические параметры не изменяются в ходе функционирования

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

Алгоритм планирования процессов First-Come, First-Served (FCFS)
Реально существует множество разнообразных алгоритмов планирования. Каждый из них эффективен для определенного класса задач. Существуют алгоритмы, которые можно применять на различных уров

Алгоритм планирования процессов Round Robin (RR)
Отмеченные недостатки устраняются в следующем алгоритме: Round Robin (RR). В целом он похож на предыдущий алгоритм, но дополнительно вводится механизм вытесняющего планирования.

Алгоритм планирования процессов Shortest-Job-First (невытесняющий)
При рассмотрении алгоритмов FCFS и RR мы видели, насколько существенным для них является порядок расположения процессов в очереди процессов, готовых к исполнению. Если короткие задачи расположены в

Алгоритм планирования процессов Shortest-Job-First (вытесняющий)
При вытесняющем SJF-планировании учитывается появление новых процессов в очереди готовых к исполнению (из числа вновь родившихся или разблокированных) во время работы выбранного процесса.

Многоуровневые очереди в планировании процессов (без обратной связи и с обратной связью)
(Multilevel Queue) Для систем, в которых процессы могут быть легко рассортированы по

Потоки. Мультипрограммирование на уровне потоков
Чтобы поддерживать мультипрограммирование (многозадачность), ОС должна определить и оформить для себя те внутренние единицы работы, между которыми будет разделяться процессор и другие ресурсы компь

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

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

Организация физической памяти компьютера
Со времен создания ЭВМ фон Неймана основная память в компьютерной системе организована как линейное (одномерное) адресное пространство, состоящее из последова­тельности слов, а позже байтов. Аналог

Функции ОС по управлению памятью
Под памятью (memory) в данном случае подразумевается оперативная (основная) память компьютера. В однопрограммных операционных системах основная память раз­деляется на две части. Одна часть - для оп

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

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

Страничная организация виртуальной памяти
При страничной организации виртуальное адресное пространство каждого про­цесса делится на части одинакового, фиксированного для данной системы размера, на­зываемые виртуальными страницами (Virtual

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

Программная поддержка механизмов виртуальной памяти
52. Общая характеристика устройств ввода – вывода Внешние устройства, выполняющие операции ввода-вывода, можно разделить на три группы: · устройства, работающие с

Драйверы устройств ввода вывода
Первоначально термин «драйвер» применялся в достаточно узком смысле; под драйвером понимается программный модуль, который: · входит в состав ядра ОС, работая в привилегированном режиме;

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

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

Логическая организация файлов
Логический ввод-вывод предоставляет приложениям и пользователям доступ к записям. Метод доступа Наиболее близкий пользователю уровень файловой системы. Он обеспечивает стандартный

Каталоговые системы
Связующим звеном между системой управления файлами и набором файлов слу­жит файловый каталог. Простейшая форма системы каталогов состоит в том, что имеет­ся один каталог, в котором содержатся все ф

Физическая организация файловой системы
Информационная структура магнитных дисков Представление пользователей о файловой системе как об иерархически организо­ванном множестве информационных блоков имеет мало общего с порядком хр

S – номер сектора
На каждой стороне каждой пластины размечены тонкие концентрические кольца ­дорожки (tracks), на которых хранятся данные. Нумерация дорожек начинается с 0 от внешнего края к

Физическая организация и адресация файла
Физическая организация выделяет способ размещения файлов на диске и учет соответствия блоков диска файлам. Основными критериями эффективности физиче­ской организации файлов являются:

Физическая организация FAT
Для обеспечения доступа приложений к файлам операционная система с файловой системой FAT использует следующие структуры: · загрузочные сектора главного и дополнительных разде

Основные этапы развития операционных систем корпорации Microsoft.
Операционные системы корпорации Microsoft для настольных и переносныхкомпьютеров можно разделить на три семейства: MS DOS, Consumer Windows (Windows95/98/Me) и Professional (Windows NT/2000/2003/.

Общая характеристика структуры ОС Windows 2000,основные изменения в ней по сравнению с ОС Windows NT.
Операционная система 2000 состоит из двух основных частей: самой операционной системы, работающей в режиме ядра, и подсистем окружения, работающих в режиме пользователя. Ядро является

Основные функции, выполняемые уровнем HAL ОС Windows 2000.
Над уровнем HAL располагается уровень, содержащий ядро ОС, а также драйверы устройств. Существуют четыре вида драйверов: (1) аппаратных средств, (2) файловой­системы, (3) фильтров и (4) сетевых уст

Общая характеристика исполняющей подсистемы ОС Windows 2000.
Над ядром и драйверами устройств располагается исполняющая система. Она написана на языке С, не зависит от архитектуры машины и может быть перенесена на новые машины относительно просто. Исп

Основные особенности файловой системы NTFS 5 по сравнению с предыдущими файловыми системами Microsoft.
Файловая система NTFS была полностью разработана заново и достаточно сложна. Каждый том NTFS (т. е. дисковый раздел) содержит файлы, каталоги, битовые массивы и другие структуры данных. Каждый том

Средства достижения безопасности в ОС Windows 2000
ОС Windows NT была разработана так, чтобы соответствовать уровню С2 требований безопасности Министерства обороны США (DoD 5200.28 - STD) [37]. Этот стандарт требует наличия у операционных систем оп

Основные принципы работы шифрующей файловой системы в ОС Windows 2000
Файловая система NTFS поддерживает прозрачное сжатие файлов. Файл может быть создан в сжатом режиме. Это значит, что файловая система NTFS будет автоматически пытаться сжать блоки этого файла при з

Набор API для Win 32.
Этот набор интерфейсов прикладного программирования позволяет выполнять шифрование файлов, дешифрование и восстановление зашифрованных файлов, а также их импорт и экспорт (без предварительного деши

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги