Добавлен: 29.10.2018
Просмотров: 48183
Скачиваний: 190
Вопросы
481
для памяти и устройств ввода-вывода, при котором сначала предпринимается
попытка обращения по шине памяти, а в случае неудачи — попытка обращения
по шине ввода-вывода. Пытливый студент, изучающий компьютерные техноло-
гии, додумался до усовершенствования этой идеи: осуществлять обе попытки
параллельно, чтобы ускорить процесс доступа к устройствам ввода-вывода. Как
вы оцените эту идею?
4. Объясните компромисс между точными и неточными прерываниями на супер-
скалярной машине.
5. У DMA-контроллера пять каналов. Контроллер может запрашивать 32-разрядное
слово каждые 40 нс. Столько же времени уходит на ответ. Насколько быстрой
должна быть шина, чтобы не стать узким местом?
6. Предположим, что система использует DMA для передачи данных с контроллера
диска в оперативную память. Также предположим, что при этом на захват шины
уходит в среднем t
1
наносекунд, а на перенос одного слова по шине — t
2
наносекунд
(t
1
>> t
2
). После того как центральный процессор запрограммировал контроллер
DMA, сколько времени займет передача 1000 слов с контроллера диска в опера-
тивную память:
а) если используется пословный режим;
б) если используется пакетный режим?
Предположим, что передача команды контроллеру диска требует захвата шины для
отправки по ней одного слова, а подтверждение передачи данных также требует
захвата шины и отправки одного слова.
7. Один из используемых некоторыми DMA-контроллерами режимов предусматри-
вает отправку контроллером устройства слова DMA-контроллеру, который затем
выставляет на шине второй запрос на запись в память. Как этот режим может
использоваться для копирования из памяти в память? Объясните, в чем преиму-
щества или недостатки использования данного метода вместо использования для
копирования из памяти в память центрального процессора.
8. Предположим, что компьютер может считывать слово из памяти или записывать
слово в память за 5 нс. Также предположим, что при возникновении прерывания
все 32 регистра центрального процессора плюс счетчик команд и слово состояния
программы помещаются в стек. Какое максимальное количество прерываний
в секунду может обработать эта машина?
9. Создатели архитектур центральных процессоров знают, что создатели операци-
онных систем ненавидят неточные прерывания. Одним из способов угодить раз-
работчикам ОС является прекращение выдачи центральному процессору новых
команд при получении сигнала на прерывание, но предоставление возможности
всем выполняемым в данный момент командам завершить свою работу и лишь
после этого вызвать прерывание. Есть ли у такого подхода какие-нибудь недо-
статки? Обоснуйте ответ.
10. На рис. 5.7, б прерывание не подтверждается до тех пор, пока на принтер не будет
выведен новый символ. А нельзя ли было выдать подтверждение сразу же после
запуска процедуры обработки прерывания? Если можно, то назовите одну из при-
чин, по которой это делается в конце, как показано в тексте программы. А если
нельзя, то почему?
482
Глава 5. Ввод и вывод информации
11. У компьютера есть трехуровневый конвейер (см. рис. 1.7, а). С каждым тактом
процессор извлекает из памяти одну команду по адресу, указанному счетчиком
команд, и помещает ее в конвейер, увеличивая значение счетчика команд. Каждая
команда занимает ровно одно слово памяти. Команды, уже находящиеся в конвей-
ере, продвигаются вперед на один шаг. При возникновении прерывания текущее
состояние счетчика команд помещается в стек, а в счетчик команд заносится адрес
обработчика прерываний. Затем конвейер смещается на один шаг вправо, и первая
команда обработчика прерываний извлекается и помещается в конвейер. Есть ли
у такой машины точные прерывания? Обоснуйте ответ.
12. Типичная печатная страница текста состоит из 50 строк по 80 символов в каждой.
Представьте себе принтер, способный печатать 6 страниц в минуту, причем время
вывода на принтер одного символа настолько мало, что им можно пренебречь.
Имеет ли смысл управлять выводом на этот принтер с помощью прерываний, если
для печати каждого символа требуется прерывание, полная обработка которого
занимает 50 мкс?
13. Объясните, как операционная система может способствовать установке нового
устройства без потребности в своей перекомпиляции.
14. На каком из четырех уровней программного обеспечения ввода-вывода выполня-
ются следующие действия:
а) вычисление номеров дорожки, сектора и головки для чтения с диска;
б) запись команд в регистры устройства;
в) проверка разрешения доступа пользователя к устройству;
г) преобразование двоичного целого числа в ASCII-символы для вывода на печать.
15. Локальная сеть используется следующим образом. Пользовательская программа
выдает системный вызов, чтобы записать пакеты данных в сеть. Затем операционная
система копирует данные в буфер ядра. После этого данные копируются в плату
сетевого контроллера. После того как все байты попадают в контроллер, они посы-
лаются по сети со скоростью 10 Мбит/с. Получающий сетевой контроллер сохраняет
каждый бит спустя 1 мкс после его отправки. Когда последний бит получен, работа
центрального процессора получающего компьютера прерывается и ядро копирует
только что прибывший пакет в свой буфер для изучения. Определив, какому поль-
зователю предназначается пакет, ядро копирует данные в пространство пользова-
теля. Если предположить, что каждое прерывание и его обработка занимают 1 мс,
размер пакетов равен 1024 байта (если проигнорировать заголовки), а копирование
одного байта занимает 1 мкс, то чему будет равна максимальная скорость, с которой
один процесс может передавать данные другому процессу? Предположим, что от-
правитель блокируется, пока получатель не закончит работу и не отправит обратно
подтверждение. Чтобы упростить задачу, предположим, что время на оправку под-
тверждения настолько незначительно, что им можно пренебречь.
16. Почему выходные файлы для печати перед тем, как быть распечатанными, обыч-
но ставятся в очередь на печать, организуемую на диске (то есть подвергаются
спулингу)?
17. Какое отклонение цилиндров необходимо для диска со скоростью вращения
7200 об/мин и временем перехода с дорожки на дорожку 1 мс? На каждой дорожке
у диска 200 секторов по 512 байт.
Вопросы
483
18. Скорость
вращения диска 7200 об/мин. У него по всему внешнему цилиндру име-
ется 500 секторов по 512 байт. Сколько времени займет чтение сектора?
19. Вычислите максимальную скорость передачи данных в байтах в секунду для диска,
описание которого дано в предыдущей задаче.
20. Система RAID уровня 3 может исправлять однобитовые ошибки при помощи
только одного диска четности. В чем тогда смысл использования системы RAID
уровня 2? В конечном счете, она также может исправлять только одну ошибку, но
требует для этого большего количества дисков.
21. Система RAID может отказать лишь в том случае, если два или более ее дисков по-
терпят аварию за довольно короткий интервал времени. Предположим, что вероят-
ность аварии одного диска в течение одного часа равна p. Чему равна вероятность
отказа в течение этого часа RAID-системы, состоящей из k дисков?
22. Сравните RAID-системы уровней с 0-го по 5-й с точки зрения производительно-
сти чтения, производительности записи, накладных расходов при использовании
дискового пространства и надежности.
23. Сколько пебибайтов в зебибайте?
24. Почему оптические устройства хранения данных обладают более высокой плот-
ностью записи данных, чем магнитные накопители?
Примечание
: этот вопрос требует некоторых знаний физики на уровне средней
школы, в частности способов генерации магнитных полей.
25. Какими преимуществами и недостатками обладают оптические диски по сравне-
нию с магнитными?
26. Если контроллер диска записывает получаемые с диска байты в память так же
быстро, как и получает их, без внутреннего буферирования, будет ли польза от
чередования секторов? Обоснуйте ответ.
27. Если на диске применяется двойное чередование, то нужно ли еще применять
отклонение цилиндров во избежание потерь данных при переходе с дорожки на
дорожку? Обоснуйте ответ.
28. Рассмотрим магнитный диск, имеющий 16 головок и 400 цилиндров. Этот диск
поделен на четыре 100-цилиндровых зоны, где цилиндры разных зон содержат
160, 200, 240 и 280 секторов соответственно. Предположим, что каждый сектор
содержит 512 байт, среднее время позиционирования головок между примыкаю-
щими друг к другу цилиндрами составляет 1 мс, а диск вращается со скоростью
7200 об/мин. Вычислите:
а) емкость диска;
б) оптимальное отклонение дорожки;
в) максимальную скорость передачи данных.
29. Производитель дисков выпускает два 5-дюймовых жестких диска, у каждого
из которых по 10 000 цилиндров. Новый жесткий диск имеет двойную линейную
плотность записи по сравнению с более старым диском. Какие свойства у нового
диска будут лучше, чем у старого, а какие останутся на прежнем уровне? Ухуд-
шатся ли какие-либо показатели у нового диска?
484
Глава 5. Ввод и вывод информации
30. Производитель компьютеров решил переделать таблицу разделов жесткого диска,
используемого на Pentium-совместимом компьютере, чтобы дать возможность ис-
пользования более четырех разделов. Какие последствия повлечет за собой такое
изменение?
31. Драйвер диска получает запросы на обращение к цилиндрам в следующей последо-
вательности: 10, 22, 20, 2, 40, 6 и 38. Перемещение блока головок с одного цилиндра
на соседний занимает 6 мс. Сколько потребуется времени на перемещение головок
при использовании:
а) алгоритма обслуживания в порядке поступления запросов;
б) алгоритма обслуживания в первую очередь ближайшего цилиндра;
в) алгоритма лифта (сначала блок головок двигается вверх).
Во всех случаях блок головок изначально расположен над цилиндром 20.
32. Небольшое изменение алгоритма лифта для планирования удовлетворения запро-
сов обращения к диску заключается в постоянном сканировании диска в одном
и том же направлении. В каком отношении этот модифицированный алгоритм
лучше, чем алгоритм лифта?
33. Продавец персональных компьютеров пришел в Юго-Западный амстердамский уни-
верситет и заявил, что при создании новой партии товара его компанией предпри-
няты значительные усилия для того, чтобы их весия UNIX работала очень быстро.
В качестве примера он отметил, что их драйвер диска использует алгоритм лифта,
а также выстраивает в очередь несколько запросов в порядке следования секторов
в цилиндре. Студент Гарри Хакер под впечатлением сказанного приобрел одно из-
делие, принес его домой и написал программу для произвольного считывания 10 000
блоков, разбросанных по всему диску. К его изумлению, замеренная им произво-
дительность была идентична той, которая им ожидалась от применения алгоритма
обслуживания в порядке поступления запросов. Обманул ли его продавец?
34. При рассмотрении стабильных хранилищ данных, использующих энергонезави-
симую память, был упущен следующий момент. Что получится, если операция
стабильной записи будет выполнена, но произойдет сбой, прежде чем операцион-
ная система сможет записать номер сбойного блока в энергонезависимую память?
Разрушает ли подобное состояние состязательности абстракцию стабильного
хранилища данных? Обоснуйте ответ.
35. При рассмотрении стабильных хранилищ данных было показано, что диск может
быть возвращен в непротиворечивое состояние (если запись либо уже была завер-
шена, либо еще не начиналась), если центральный процессор откажет в процессе
записи. Сработает ли это свойство, если центральный процессор снова откажет
в ходе восстановительной процедуры? Обоснуйте ответ.
36. При
рассмотрении стабильного хранилища основное предположение заключалось
в том, что сбой центрального процессора, повреждающий сектор, приводил к появ-
лению неверного кода ECC. Какие проблемы могут возникнуть в пяти сценариях
восстановления после сбоя, показанных на рис. 5.23, если это предположение не
будет соблюдаться?
37. На некотором компьютере обработчик прерываний от таймера выполняет свою
работу за 2 мс (включая накладные расходы на переключение процессов). Пре-
Вопросы
485
рывания от таймера поступают с частотой 60 Гц. Какую часть своего времени
центральный процессор тратит на таймер?
38. На компьютере используются программируемые часы, работающие в режиме
прямоугольного импульса. Какой должна быть емкость регистра хранения при
использовании кварцевого генератора с частотой 500 МГц для достижения точ-
ности часов, равной:
а) 1 мс (одному такту часов в каждую миллисекунду)?
б) 100 мс?
39. На
системе имитируются несколько часов за счет выстраивания общей цепочки из
всех невыполненных таймерных запросов, показанной на рис. 5.26. Предположим,
что текущий показатель времени равен 5000 и есть невыполненные таймерные
запросы для следующих значений времени: 5008, 5012, 5015, 5029 и 5037. По-
кажите значения заголовков таймеров, текущего времени и следующего сигнала
для значений времени 5000, 5005 и 5013. Предположим, что новый (ожидающий)
сигнал поступает во время 5017 для значения времени 5033. Покажите значения
заголовка таймера, текущего времени и следующего сигнала для значения времени,
равного 5023.
40. Многие версии UNIX используют беззнаковое 32-разрядное целое число для учета
времени в виде количества секунд, прошедших с исходной точки отсчета. Когда
эта система столкнется с переполнением (год и месяц)? Ожидаете ли вы, что это
произойдет на самом деле?
41. Графический терминал имеет разрешение 1600 × 1200 пикселов. Для прокрутки
окна центральный процессор (или контроллер) должен переместить все текстовые
строки вверх, копируя их биты из одной части видеопамяти в другую. Если отдель-
ное окно имеет 80 строк в высоту и 80 символов ширину (всего 6480 символов)
и использует знакоместо размером 8 пикселов в ширину и 16 пикселов в высоту,
сколько времени займет прокрутка всего окна при времени копирования 50 нс
на один байт? Если длина всех строк составляет 80 символов, то какова эквива-
лентная скорость в бодах для этого терминала? Вывод символа на экран занимает
5 мкс. Сколько строк в секунду может быть отображено?
42. После получения символа DEL (SIGINT) драйвер дисплея очищает всю очередь
на вывод для этого дисплея. Почему?
43. Пользователь терминала выдал команду редактору на удаление слова в строке 5,
занимающее символьные позиции с 7-й до 12-й включительно. Предполагая, что
курсор при выдаче команды не находится в строке 5, какую ANSI эскейп-после-
довательность должен выдать редактор, чтобы удалить слово?
44. Разработчики компьютерных систем предполагали, что максимальная скорость
перемещения мыши составит 20 см/с. Если один микки равен 0,1 мм, а каждое
сообщение мыши занимает 3 байта, чему будет равна максимальная скорость пере-
дачи данных при условии, что о каждом микки сообщается отдельно?
45. Основными цветами являются красный, зеленый и синий. Это означает, что любой
цвет может быть получен путем линейного наложения этих цветов друг на друга.
Может ли существовать цветная фотография, которую невозможно полноценно
представить с помощью 24-битового представления цвета?