Реферат: Управление вводом-выводом - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Управление вводом-выводом

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 172 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Управление вводом-выводом Одной из главн ых функций ОС является упра вление все ми устройствами ввода-вывода компьютера . ОС до лжна передавать устройствам команды , перехватыват ь прерывания и обрабатывать ошибки ; она та кже должна обеспечивать интерфейс между устро йствами и остальной частью системы . В целя х развития интерфейс д олжен быть одинаковым для всех типов устройств (незави симость от устройств ). Физическая органи зация устройств ввода-вывода Устройства ввода-в ывода делятся на два типа : блок-ориентированные устройства и байт-ориентированные устро йства . Блок-ориентированные устройства хранят информацию в блоках фиксированного размера , каждый из которых имеет свой собственный адрес . Самое распространенное блок-ориентированное устройство - диск . Байт-ориентированные устройства не адресуемы и не позволяют производить операцию п оиска , они генерируют или потребляют последовательность байтов . Приме рами являются терминалы , строчные принтеры , се тевые адаптеры . Однако некоторые внешние устр ойства не относятся ни к одному классу , например , часы , которые , с одной стороны , не адресуемы, а с другой стороны , не порождают потока байтов . Это устройство только выдает сигнал прерывания в некото рые моменты времени . Внешнее устройство обычно состоит из механического и электронного компонента . Электрон ный компонент называется контроллером устройс тва или адаптером . Механический компонент представляет собственно устройство . Некоторые контроллеры могут управлять несколькими устрой ствами . Если интерфейс между контроллером и устройством стандартизован , то независимые прои зводители могут выпускать совм е стимые как контроллеры , так и устройства . Операционная система обычно имеет дело не с устройством , а с контроллером . Конт роллер , как правило , выполняет простые функции , например , преобразует поток бит в блоки , состоящие из байт , и осуществляют контро ль и исправление ошибок . Каждый контролл ер имеет несколько регистров , которые использ уются для взаимодействия с центральным процес сором . В некоторых компьютерах эти регистры являются частью физического адресного простран ства . В таких компьютерах нет специальны х операций ввода-вывода . В других компьютерах адреса регистров ввода-вывода , назы ваемых часто портами , образуют собственное ад ресное пространство за счет введения специаль ных операций ввода-вывода (например , команд IN и OUT в процессорах i86). ОС выполняет ввод-вывод , записывая ко манды в регистры контроллера . Например , контро ллер гибкого диска IBM PC принимает 15 команд , таких как READ, WRITE, SEEK, FORMAT и т.д . Когда команда принята , процессор оставляет контроллер и занимается другой работой . При заверше н ии команды контроллер организует прерывание для того , чтобы передать управление процессором о перационной системе , которая должна проверить результаты операции . Процессор получает результат ы и статус устройства , читая информацию из регистров контроллера . О рганизация программного обеспечения ввода-вывода Основная идея организации программного обеспечения ввода-вывода состоит в разбиении его на несколько у ровней , причем нижние уровни обеспечивают экр анирование особенностей аппаратуры от верхних , а те , в свою очередь , обеспечивают удобный интерфейс для пользователей . Ключевым принципом является независимость от устройств . Вид программы не должен з ависеть от того , читает ли она данные с гибкого диска или с жесткого диска . Очень близкой к идее независимости от устройств является идея единообразного именования , то есть для именования устройст в должны быть приняты единые правила . Другим важным вопросом для программного обеспечения ввода-вывода является обработка ошибок . Вообще говоря , ошибки следует обрабаты вать как можно ближе к аппаратуре . Е сли контроллер обнаруживает ошибку чтения , то он должен попытаться ее скорректировать . Если же это ему не удается , то исправл ением ошибок должен заняться драйвер устройст ва . Многие ошибки могут исчезать при повто рных попытка х выполнения операций в вода-вывода , например , ошибки , вызванные наличием пылинок на головках чтения или на диск е . И только если нижний уровень не мож ет справиться с ошибкой , он сообщает об ошибке верхнему уровню . Еще один ключевой вопрос - это использ овани е блокирующих (синхронных ) и неблокир ующих (асинхронных ) передач . Большинство операций физического ввода-вывода выполняется асинхронно - процессор начинает передачу и переходит на другую работу , пока не наступает преры вание . Пользовательские программы нам н ого легче писать , если операции ввода- вывода блокирующие - после команды READ программа автоматически приостанавливается до тех пор , пока данные не попадут в буфер программы . ОС выполняет операции ввода-вывода асинхронн о , но представляет их для пользовате л ьских программ в синхронной форме . Последняя проблема состоит в том , что одни устройства являются разделяемыми , а другие - выделенными . Диски - это разделяемые ус тройства , так как одновременный доступ нескол ьких пользователей к диску не представляет собой проблему . Принтеры - это выделенные устройства , потому что нельзя смешивать с трочки , печатаемые различными пользователями . Нали чие выделенных устройств создает для операцио нной системы некоторые проблемы . Для решения поставленных проблем целесооб разно ра зделить программное обеспечение в вода-вывода на четыре слоя (рисунок 2.30): · Обработка прерываний , · Драйверы устройств , · Независимый от устро йств слой операционной системы , · Пользовательский слой программного обеспечения . Рис . 2.30. Многоуровневая организация подсистемы ввода-вывода Обработка прерыва ний Прерывания должны быть скрыты как можно глубже в недрах операционной системы , чтобы как можно меньшая часть ОС имела с ними дело . Наилучший способ состоит в разрешении проц ессу , инициировавшему операцию ввода-вывода , блокир овать себя до завершения операции и насту пления прерывания . Процесс може т бло кировать себя , используя , например , вызов DOWN для семафора , или вызов WAIT для переменной усло вия , или вызов RECEIVE для ожидания сообщения . П ри наступлении прерывания процедура обработки прерывания выполняет разблокирование процесса , инициировавшего операцию ввода-вывода , испо льзуя вызовы UP, SIGNAL или посылая процессу сообщени е . В любом случае эффект от прерывания будет состоять в том , что ранее заблоки рованный процесс теперь продолжит свое выполн ение . Драйверы устройст в Весь зависимый от устройств а код помещается в дра йвер устройства . Каждый драйвер управляет уст ройствами одного типа или , может быть , одн ого класса . В операционной системе только драйвер устройства знает о конкретных особенностях какого-либо устройства . Например , только драйвер диск а имеет дело с дорожками , сек торами , цилиндрами , временем установления головки и другими факторами , обеспечивающими правиль ную работу диска . Драйвер устройства принимает запрос от устройств программного слоя и решает , как его выполнить . Типичным запросом является чтение n блоков данных . Если драйвер был свободен во время поступления запроса , то он начинает выполнять запрос немедленно . Ес ли же он был занят обслуживанием другого запроса , то вновь поступивший запрос прис оединяется к очереди уже имеющихся зап р осов , и он будет выполнен , ког да наступит его очередь . Первый шаг в реализации запроса ввода- вывода , например , для диска , состоит в прео бразовании его из абстрактной формы в кон кретную . Для дискового драйвера это означает преобразование номеров блоков в н оме ра цилиндров , головок , секторов , проверку , работ ает ли мотор , находится ли головка над нужным цилиндром . Короче говоря , он должен решить , какие операции контроллера нужно выполнить и в какой последовательности . После передачи команды контроллеру драйве р должен решить , блокировать ли себя до окончания заданной операции или нет . Если операция занимает значительное время , как при печати некоторого блока данных , то драйвер блокируется до тех пор , пока операция не завершится , и обработчик прерыван ия не разб л окирует его . Если к оманда ввода-вывода выполняется быстро (например , прокрутка экрана ), то драйвер ожидает ее завершения без блокирования . Независимый от устройств слой операционной системы Большая часть программного обеспечения ввода-вывода является не за висимой от устройств . Точная граница между драйверами и независимыми от устройс тв программами определяется системой , так как некоторые функции , которые могли бы быть реализованы независимым способом , в действит ельности выполнены в виде драйверов для п овыш е ния эффективности или по дру гим причинам . Типичными функциями для независимого от устройств слоя являются : · обеспечение общего интерфейса к дра йверам устройств , · именование устройств , · защита устройств , · обеспечение независимого размера блока , · буферизация , · распределение памяти на блок-ориентированных устройствах , · распределение и осво бождение выделенных устройств , · уведомление об ошибк ах . Остановимся на некоторых функциях данного перечня . Верхним слоям программного обеспечения не удобно работать с блоками разной величины , по этому данный слой обеспечивает единый размер блока , например , за счет объединения неск ольких различных блоков в единый логический блок . В связи с этим верхние уровни имеют дело с абстрактными устройствами , кот орые исп о льзуют единый размер лог ического блока независимо от размера физическ ого сектора . При создании файла или заполнении его новыми данными необходимо выделить ему н овые блоки . Для этого ОС должна вести список или битовую карту свободных блоков диска . На основ ании информации о на личии свободного места на диске может быт ь разработан алгоритм поиска свободного блока , независимый от устройства и реализуемый программным слоем , находящимся выше слоя драй веров . Пользовательский слой программного обеспечения Хотя бол ьш ая часть программного обеспечения ввода-вывода находится внутри ОС , некоторая его часть содержится в библиотеках , связываемых с пол ьзовательскими программами . Системные вызовы , вклю чающие вызовы ввода-вывода , обычно делаются би блиотечными процедурами . Е с ли програм ма , написанная на языке С , содержит вызов count = write (fd, buffer, nbytes), то библиотечная процедура write будет связана с программой . Набор подобных проц едур является частью системы ввода-вывода . В частности , форматирование ввода или вывода выполняется библиотечными процедурами . Пример ом может служить функция printf языка С , которая принимает стро ку формата и , возможно , некоторые переменные в качестве входной информации , затем строит строку символов ASCII и делает вызов write для вывода этой строки . Стандартная библиотека ввода-вывода содержит большое число процедур , которые вы полняют ввод-вывод и работают как часть по льзовательской программы . Другой категорией программного обеспечения ввода-вывода является подсистема спулинга (spooling). Сп у линг - это способ работы с выделенным и устройствами в мультипрограммной системе . Р ассмотрим типичное устройство , требующее спулинга - строчный принтер . Хотя технически легко позволить каждому пользовательскому процессу отк рыть специальный файл , связанный с принтером , такой способ опасен из-за того , что пользовательский процесс может монополизиров ать принтер на произвольное время . Вместо этого создается специальный процесс - монитор , который получает исключительные права на испо льзование этого устройства . Т а кже создается специальный каталог , называемый каталог ом спулинга . Для того , чтобы напечатать фа йл , пользовательский процесс помещает выводимую информацию в этот файл и помещает его в каталог спулинга . Процесс-монитор по оч ереди распечатывает все файлы , со д ержащиеся в каталоге спулинга .
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Экономия - это когда штопаешь носки нитками от чайных пакетиков.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Управление вводом-выводом", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru