Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Операционные системы. Часть 2. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
20. Какие сегментные модели могут быть реализованы с ис­пользованием механизма сегментации в защищенном режиме?
21. Как выглядит механизм переключения в защищенный ре­жим?
22. Опишите механизм защиты в защищенном режиме.
23. Опишите механизм обработки прерываний в защищенном режиме.
24. Какие элементы определяют состояние текущей выполняе­мой задачи?
25. Что собой представляет режим системного управления?
26. Что собой представляет режим Virtual-86?
27. Для каких целей можно использовать утилиту debug.exe d ОС Windows?
28. С помощью каких средств можно получить информацию об использовании памяти в ОС Windows?
29. Опишите архитектуру памяти ОС Windows 9x?
30. Опишите архитектуру памяти ОС Windows на платформе NT?
31. Какие существуют в ОС Windows механизмы работы с па­мятью?
32. Как можно настроить управление файлом подкачки в ОС Windows?
33. Опишите процесс работы виртуальной памяти в ОС Win­dows.
34. Опишите процесс проецирования файлов в память в ОС Windows.
35. Опишите процесс распределения куч в ОС Windows.
151
152
3. Управление устройствами ввода-вывода
3.1. Описание устройств ввода-вывода
3.1.1. Классификация устройств ввода-вывода
Внешние устройства, выполняющие операции ввода­вывода, можно разделить на три группы [6]:
1. устройства, работающие с пользователем. Используются для связи пользователя с компьютером. Сюда относятся принте­ры, дисплеи, клавиатура, манипуляторы (мышь, трекбол, джой­стики) и т. п.;
2. устройства, работающие с компьютером. Используются для связи с электронным оборудованием. К ним можно отнести дисковые устройства и устройства с магнитными лентами, дат­чики, контроллеры, преобразователи;
3. коммуникации. Используются для связи с удаленными уст­ройствами. К ним относятся модемы и адаптеры цифровых ли­ний.
По другому признаку устройства ввода-вывода можно разделить на блочные и символьные. Блочными являются уст­ройства, хранящие информацию в виде блоков фиксированного размера, причем у каждого блока есть адрес и каждый блок мо­жет быть прочитан независимо от остальных блоков [6]. Блоки обычно имеют фиксированный размер, кратный степени числа 2. Блок может быть переписан из внутренней памяти во внешнюю или обратно только целиком, и для выполнения любой операции обмена с внешней памятью требуется специальная процедура (подпрограмма). Процедуры обмена с устройствами внешней памяти привязаны к типу устройства, его контроллеру и способу подключения устройства к системе (интерфейсу).
Символьные устройства принимают или передают поток символов без какой-либо блочной структуры (принтеры, сете­вые карты, мыши и т. д.) [6].
Однако некоторые из устройств не попадают ни в одну из этих категорий, например часы, мониторы и др. И все же модель
блочных и символьных устройств является настолько общей, что может использоваться в качестве основы для достижения независимости от устройств некоторого программного обеспе­чения операционных систем, имеющего дело с вводом-выводом. Например, файловая система имеет дело с абстрактными блоч­ными устройствами, а зависимую от устройств часть оставляет программному обеспечению низкого уровня.
По методу доступа к информации устройства внешней памяти разделяются на устройства с прямым (или непосредст­венным) и последовательным доступом [15]. Прямой доступ (direct access) подразумевает возможность обращения к блокам по их адресам в произвольном порядке. Традиционными уст­ройствами с прямым доступом являются дисковые накопители, и часто в понятие «диск», или дисковое устройство» (disk device), вкладывают значение «устройство внешней памяти прямого доступа». Так, например, виртуальный диск в ОЗУ и электронный диск на флэш-памяти отнюдь не имеют круглых, а тем более вращающихся деталей. Традиционными устройствами с последовательным доступом являются накопители на маг­нитной ленте (tape device), они же стримеры. Здесь каждый блок информации тоже может иметь свой адрес, но для обращения к нему устройство хранения должно сначала найти некоторый маркер начала ленты (тома), после чего последовательным хо­лостым чтением блока за блоком дойти до требуемого места и только тогда производить собственно операции обмена данны­ми. Конечно, каждый раз возвращаться на начало ленты необя­зательно, однако необходимость последовательного сканирова­ния блоков (вперед или назад) — неотъемлемое свойство уст­ройств последовательного доступа. Несмотря на очевидный проигрыш во времени доступа к требуемым данным, ленточные устройства последовательного доступа в качестве внешней па­мяти находят применение для хранения очень больших масси­вов информации. В отличие от них устройства прямого доступа — диски самой различной природы — являются обязательной принадлежностью подавляющего большинства компьютеров.
Разнообразие внешних устройств приводит, по сути, к не­возможности разработки единого и согласованного подхода к проблеме ввода-вывода как с точки зрения операционной сис-
153
у
154
темы, так и с точки зрения пользовательских процессов. На ри­сунке 3.1 даны сведения по скорости передачи данных различ­ных устройств ввода-вывода [6].
Gigabit Ethernet
Графический монитор
Жесткий диск
Ethernet
Оптический диск
Сканер
Лазерный принтер
Гибкий диск
Модем
Мышь
Клавиатура
10
1 102 103 104 105 106 107 108 109
Бит в секунд
Рис. 3.1. Соотношения скоростей передачи данных
у различных устройств ввода-вывода.
3.1.2. Основные характеристики устройств внешней памяти
Главная характеристика устройств — емкость хранения, измеряемая в килобайтах (Кбайт), мегабайтах (Мбайт), гигабай­тах (Гбайт) и терабайтах (Тбайт), или в английской транскрипции — KB, MB, GB, ТВ соответственно. Здесь, как правило, пристав-
ки кило-, мега-, гига-, тера- имеют десятичные значения — 103, 106, 109 и 1012 соответственно. В других подсистемах компью­тера, например при определении объема ОЗУ, ПЗУ и другой внутренней памяти, эти же приставки чаще применяют в двоич­ных значениях 210, 220, 230 и 240, соответственно при этом 1 Кбайт равен 1024 байтам, 1 Мбайт — 1024 Кбайт, 1 Гбайт — 1024 Мбайт, 1 Тбайт — 1024 Гбайт [15]. Этими разночтениями объясняются различия значений емкости одного и того же уст­ройства, полученные из разных источников. «Двоичные» кило-, мега-, гига-, тера- более «увесисты», поэтому емкость устройст­ва, отраженная в десятичных единицах, будет выглядеть внуши­тельнее. Например, до недавнего времени один и тот же порог
«беспроблемного» объема жесткого диска составлял 528 Мбайт (десятичных) или 504 Мбайт (двоичных).
Устройства внешней памяти могут иметь сменные или фик­сированные носители информации. Применение сменных носи­телей (removable media) позволяет хранить неограниченный объем информации, а если носитель и формат записи стандарти­зованы, то они позволяют еще и обмениваться информацией между компьютерами. Существуют устройства с автоматиче­ской сменой носителя — ленточные карусели, дисковые устрой­ства JukeBox. Эти достаточно дорогие устройства применяют в мощных файл-серверах. Для настольных машин имеются нако­пители CD-ROM с несколькими дисками (CD-changer), сменяе­мыми автоматически.
Важнейшими общими параметрами устройств являются время доступа, скорость передачи данных, удельная стоимость хранения информации, скорость записи и считывания.
Время доступа (access time) определяется как усредненный интервал времени от выдачи запроса на передачу блока данных до фактического начала передачи. Дисковые устройства имеют время доступа от единиц до сотен миллисекунд. Для электронных устройств внешней памяти время доступа определяется быстро­действием используемых микросхем памяти и при чтении со­ставляет доли микросекунд, причем запись может продолжаться значительно дольше, что объясняется природой энергонезависи­мой электронной памяти. Для устройств с подвижными носите­лями основной расход времени имеет место в процессе пози-
155
156
ционирования головок (seek time — время поиска) и ожидания подхода к ним требуемого участка носителей (latency — скры­тый период). Для дисковых и ленточных устройств принципы позиционирования различны, и различные составляющие про­цесса поиска будут подробнее рассмотрены в описании соответ­ствующих устройств.
Скорость записи и считывания определяется как отноше­ние объема записываемых или считываемых данных ко времени, затрачиваемому на эту операцию. В затраты времени входит и время доступа, и время передачи данных. При этом оговаривает­ся характер запросов (линейный или случайный), что сильно ска­зывается на величине скорости из-за влияния времени доступа. При определении скорости линейных запросов чтения-записи (linear transfer rate read/write) производится обращение к длин­ной цепочке блоков с последовательным нарастанием адреса. При определении скорости случайных запросов чтения-записи (random transfer rate read/write) соседние запросы разбросаны по всему носителю, что увеличивает время записи или считывания. Для современных многозадачных ОС характерно чередующееся выполнение нескольких потоков запросов, и в каждом потоке высока вероятность последовательного нарастания адреса.
Скорость передачи данных (Transfer Speed, Transfer Rate)
определяется как производительность обмена данными после выполнения поиска данных. Однако в способе измерения этого параметра возможны разночтения, поскольку современные уст­ройства имеют в своем составе буферную память5 существенных размеров. Скорости обмена буферной памяти с собственно носи­телем (внутренняя скорость) и внешним интерфейсом могут существенно различаться. Если скорость работы внешнего ин­терфейса ограничивается быстродействием электронных схем и достижимой частотой передаваемых сигналов, то внутренняя скорость более жестко ограничивается возможностями электро­механических устройств (скоростью движения носителя и плот­ностью записи). При измерениях скорости передачи на неболь­ших объемах пересылок проявится ограничение внешнего ин-
5
Буферной памятью называется объект памяти, которым владеют
одновременно два объекта, не связанные между собой.
терфейса буферной памяти, при средних объемах — ограниче­ние внутренней скорости, а при больших объемах проявится еще и время поиска последующих блоков информации. Бывает, что в качестве скорости передачи данных указывают лишь мак­симальную скорость интерфейса, а о внутренней скорости мож­но судить по частоте вращения дисковых носителей и числу сек­торов на треке, но об этих понятиях будет сказано чуть позже.
Определение удельной стоимости хранения информации для накопителей с фиксированными носителями пояснения не требует. В случае сменных носителей этот показатель интересен для собственно носителей, но не следует забывать и о цене са­мих приводов, которую тоже можно приводить к их емкости.
3.1.3. Характеристики накопителей на жестких магнитных дисках
Накопители на жестких магнитных дисках (НЖМД), они же
HDD (Hard Disk Drive), являются главными устройствами дис-
ковой памяти большинства компьютеров. По случайному совпа­дению цифр первые модели НЖМД назвали «винчестером» (просто игра слов), и это неофициальное название закрепилось в качестве синонима HDD и НЖМД [15]. Винчестер определяет мощность компьютера наряду с процессором и оперативной мятью. Мощность винчестера характеризуется большим объе­мом хранимой информации (десятки гигабайт), малым временем доступа (единицы миллисекунд), большой скоростью передачи данных (десятки мегабайт в секунду), высокой надежностью, умеренной стоимостью и рядом других полезных свойств. Про­гресс в области производства винчестеров устойчив и стремите­лен: от 10-мегабайтного диска XT уже пришли к Каждый год «модная» емкость винчестера ПК примерно удваи­вается, при этом цена устройства постепенно снижается.
Рассмотрим общие параметры диска [15].
Форматированная емкость (formatted capacity), измеряе­мая в гигабайтах (мегабайтах), представляет собой объем хра­нимой полезной информации (сумму полей данных всех доступ­ных секторов). Неформатированная емкость (unf formatted
capacity) представляет собой максимальное количество битов,
157
па-
терабайтам.
158
записываемых на всех треках диска, включая и служебную ин­формацию (заголовки секторов, контрольные коды полей дан­ных). Соотношение форматированной и неформатированной емкостей определяется форматом трека (размером сектора), но
поскольку для рядового пользователя свободы в выборе формата
нет, практический интерес представляет только форматирован­ная емкость диска, которая указывается для стандартного раз мера сектора (512 байт). Напомним, что мегабайт и гигабайт здесь обычно означают 10
3
и 106 байт. Иногда указывается число
-
доступных секторов.
Скорость вращения шпинделя (spindle speed), измеряемая в оборотах в минуту RPM (Revolutions Per Minute), позволяет косвенно судить о производительности (внутренней скорости). Для жестких дис-ков широкого применения значение 3600 об/мин было стандартным несколько лет назад; сейчас обычной считается 5400 об/мин, а 7200 — более высокой скоростью. Там, где производительность особо критична, используют
диски со
скоростью 10000 и 15000 об/мин.
Интерфейс (interface) определяет способ подключения нако­пителя. Для накопителей со встроенным контроллером распро­странены интерфейсы АТА, а также IDE и SCSI, для устройств внешнего исполнения применяют шины USB, FireWire и Fibre Channel, а также подключение к LPT-порту.
К группе параметров внутренней организации диска относятся:
количество физических дисков (disks) или рабочих по­верхностей (data surfaces), используемых для хранения данных. Современные накопители с небольшой высотой имеют малое (1–2) количество дисков для облегчения блока головок. Большее число дисков характерно для старых накопителей и современ­ных накопителей большой емкости;
количество физических головок чтения-записи (read/write heads), естественно, совпадающее с числом рабочих поверхно­стей. Заметим, что число головок и соответственно рабочих
по-
верхностей может быть и меньше удвоенного числа дисков — обычно в каждом семействе есть такого рода модели. Это дела­ется для утилизации дисков, у которых одна из поверхностей
оказывается с производственным браком, или исходя из других технологических соображений;
физическое количество цилиндров (cylinders), возросшее от нескольких сотен, характерных для первых винчестеров, до де­сятков тысяч;
размер сектора (Bytes Per Sector), составляющий обычно 512 байт. Количество зон и количество секторов на треке (Sectors Per Track) в крайних зонах;
расположение сервометок или сервоголовок (servo head),
находящееся на выделенной поверхности (dedicated servo), ра­бочих поверхностях (embe-ded servo) или гибридное (hybrid
servo);
метод кодирования-декодирования данных (recording method или data encoding sheme): MFM (FM почти и не применя-
ли); RLL (ARLL); PRML, последний из них является наиболее прогрессивным.
Быстродействие и производительность дис­ка характеризуются следующими параметрами:
временем перехода на соседний трек (track-to-track seek),
измеряемым в миллисекундах, показывающим быстродействие системы позиционирования. Для современных жестких дисков характерно время перехода 0,5–2 мс, причем для записи оно не­сколько больше, чем для считывания (записывать лучше при более точном позиционировании);
средним временем поиска (average seek time), определяемым по набору обращений к случайным цилиндрам. Для большинства современных дисков оно составляет около 8–10 мс, в самых бы­стрых его удается снизить до 4–5 мс. Чем больше объем накопи­теля, тем сложнее достичь снижения времени поиска: большее число головок труднее быстро перемещать; большее число ци­линдров или увеличивает длину перемещения головок, или по­вышает требования к точности позиционирования;
максимальным или полным временем поиска (maximum seek time, full seek time), определяемым для самых удаленных пе-
реходов между крайними цилиндрами. Оно примерно в два раза превышает среднее время поиска. Среднее ожидание сектора при одиночном обращении (average latency) обычно составляет
159
половину времени полного оборота (для 3600 об/мин — 8 мс, 7200 — 4 мс, 15000 — 2 мс);
внутренней скоростью передачи данных (internal transfer rate) между носителем и буферной памятью контроллера, задаю-
щей физический предел производительности накопителя. Ско­рость выражается в разных величинах: если указывается в мега­битах в секунду (Mb/s), то сюда, кроме пользовательских данных, входят и биты служебных полей. У вы-сокоскоростных винчесте­ров с частотой вращения 15000 об/мин этот параметр достигает
500 Мбит/с. При выражении скорости в мегабайтах в секунду (MB/s) подразумевают только байты пользовательских данных, и
поэтому пересчет на мегабиты в секунду простым умножением на 8 (число битов в байте) неправомерен. У современных винче­стеров с частотой вращения 5400 об/мин скорость составляет 8– 15 Мбайт/с, 7200 об/мин — 15–35 Мбайт/c. Для каждой модели обычно указывается минимальное и максимальное значение скорости, соответствующее внутренним и внешним трекам;
внешней скоростью передачи данных (external transfer rate),
измеряемой в килобайтах (мегабайтах) полезных данных в секун­ду, передаваемых по шине внешнего интерфейса, и зависящей от быстродействия электроники контролера, типа интерфейсной шины и режима обмена;
длительной производительностью (sustained throughput),
определяемой при последовательном чтении большого количе­ства секторов
(например, при применении накопителей для мультиме­дийных приложений). На этот параметр влияют все составляю­щие: внутренняя и внешняя скорости, время позицирования, за­держка подхода сектора, количество ошибок позицирования и чтения. Винчестеры с частотой вращения 5400 об/мин выдержи­вают потоки 8–25 Мбайт/с, с частотой 7200 об/мин — 10–30 Мбайт/с и 15000 об/мин — 35–45 Мбайт/с.
Группа параметров надежности устройств и достоверности
хранения включает следующие показатели:
ожидаемое время до отказа MTBF (Mean Time Before
Failure), измеряемое в сотнях тысяч часов, — среднестатистиче­ский показатель для данного устройства. Реально столько часов (100000 часов — это более 10 лет) испытания проводить, естест-
160