Вопросы 1.

+

2. В чем заключаются две основные функции операционной системы?

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

4. В чем разница между системами с разделением времени и многозадачными системами?

5. Для использования кэш-памяти основная память делится на кэш-строки, которые обычно имеют длину 32 или 64 байта. Кэшируется сразу вся кэш-строка. В чем преимущество кэширования всей строки перед побайтным или пословным кэшированием?

6. Каждая операция чтения или записи байта на самых первых компьютерах управлялась центральным процессором (то есть без использования прямого доступа к памяти — DMA). Какие осложнения создавались тем самым для режима многозадачности?

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

8. Идея создания семейства компьютеров была представлена в 60-х годах прошлого века с появлением мейнфреймов серии IBM System/360. Жива ли эта идея сейчас?

9. Одной из причин того, что графический пользовательский интерфейс приживался довольно медленно, была стоимость оборудования, необходимого для его поддержки. Какой объем видеопамяти необходим для поддержки изображения на экране в монохромном текстовом режиме, имеющем 25 строк из 80 символов? А какой объем необходим для поддержки растрового изображения 1200 х 900 пикселов при глубине цвета 24 бита? Какова была стоимость необходимого для них ОЗУ в 1980 году (при цене $5 за килобайт)? Какова эта стоимость в настоящее время?

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

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

12. У диска объемом 255 Гбайт имеется 65 536 цилиндров с 255 секторами на каждой дорожке и с 512 байтами в каждом секторе. Сколько пластин и головок у этого диска? Предполагая, что среднее время поиска цилиндра составляет 11 мс, среднее время ожидания подхода рабочего сектора к головке — 7 мс, а скорость считывания — 100 Мбит/с, вычислите среднее время, необходимое для считывания 400 Кбайт из одного сектора.

13. Выполнение какой из следующих команд должно быть разрешено только в режиме ядра:

а) блокировка всех прерываний;

б) чтение показаний даты и времени внутренних часов;

в) установка показаний даты и времени внутренних часов;

г) изменение схемы распределения памяти?

14. Рассмотрим систему, имеющую два центральных процессора, у каждого из которых есть два потока (работающих в режиме гипертрейдинга). Предположим, есть три запущенные программы: P0, P1 и P2 со временем работы 5, 10 и 20 мс соответственно. Сколько времени займет полное выполнение этих программ? Следует принять во внимание, что все три программы загружают центральный процессор на 100 %, не осуществляют блокировку во время выполнения и не меняют центральный процессор, назначенный для их выполнения.

15. Компьютер обладает четырехступенчатым конвейером, и все ступени выполняют свою работу за одно и то же время — 1 нс. Сколько инструкций в секунду сможет выполнить эта машина?

16. Рассмотрим компьютерную систему, имеющую кэш-память, ОЗУ и диск, а также операционную систему, использующую виртуальную память. Время доступа к слову из кэш-памяти занимает 1 нс, из ОЗУ — 10 нс, с диска — 10 мс. Если показатель успешного поиска в кэш-памяти составляет 95 %, в ОЗУ (после неудачного поиска в кэш-памяти) — 99 %, каким будет среднее время доступа к слову?

17. Когда пользовательская программа осуществляет системный вызов для чтения файла с диска или его записи на диск, она сообщает, какой файл ей нужен, предоставляет указатель на буфер данных и сообщает о количестве байтов. Затем управление передается операционной системе, которая вызывает соответствующий драйвер. Предположим, что драйвер запускает диск и приостанавливает свою работу до тех пор, пока не возникнет прерывание. Очевидно, что в случае чтения данных с диска вызывающая программа будет заблокирована (поскольку для нее нет данных). А что произойдет в случае записи данных на диск? Нужно ли блокировать вызывающую программу в ожидании завершения переноса данных на диск?

18. Что означает команда trap? Объясните ее использование в операционных системах.

19. Почему в системах разделения времени необходима таблица процессов? Нужна ли она в операционных системах персональных компьютеров, работающих под управлением UNIX или Windows при единственном пользователе?

20. Есть ли какие-либо причины, по которым вам может понадобиться подключить файловую систему к непустому каталогу? И если есть, то какие?

21.

Для каждого из следующих системных вызовов назовите условия, при которых возникает ошибка: fork, exec и unlink.

22. Какой тип мультиплексирования (во времени, в пространстве или сразу и в том и в другом) может быть применен для совместного использования следующих ресурсов: ЦП, памяти, диска, сетевой карты, принтера, клавиатуры и дисплея?

23. Может ли вызов

count = write(fd, buffer, nbytes);

вернуть в переменной count значение, отличное от значения nbytes? Если да, то почему?

24. Файл, дескриптором которого является fd, содержит следующую последовательность байтов: 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5. Выполняется следующий системный вызов: lseek(fd, 3, SEEK_SET);

read(fd, &buffer, 4);

где вызов lseek перемещает указатель на третий байт файла. Что будет содержать буфер, когда завершится работа вызова read?

25. Предположим, что файл объемом 10 Мбайт хранится на диске на одной и той же дорожке (с номером 50) в последовательных секторах. Блок головок диска расположен над дорожкой с номером 100. Сколько времени займет извлечение этого файла с диска? Предположим, что время перемещения блока головок на один цилиндр занимает около 1 мс, а на попадание под головку того сектора, с которого начинается сохраненный файл, уходит около 5 мс. Также предположим, что чтение осуществляется со скоростью 200 Мбайт/с.

26. В чем заключается существенная разница между блочным специальным файлом и символьным специальным файлом?

27. В примере, приведенном на рис. 1.17, библиотечная процедура называется read, и сам системный вызов — read. Так ли это важно, чтобы их имена совпадали? Если нет, то какое из имен важнее?

28. В современных операционных системах адресное пространство процесса отделено от физической памяти машины. Назовите два преимущества такой конструкции.

29. С точки зрения программиста, системный вызов похож на вызов любой другой библиотечной процедуры. Важно ли программисту знать, какая из библиотечных процедур в результате приводит к системным вызовам? Если да, то при каких обстоятельствах и почему?

30. В табл. 1.2 показано, что ряд системных вызовов UNIX не имеют эквивалентов в Win32 API. Каковы последствия для программиста перевода программы UNIX для запуска под Windows (для каждого из вызовов, помеченных как не имеющие эквивалента)?

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

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

33. Виртуальные машины приобрели высокую популярность по различным причинам. И тем не менее у них имеется ряд недостатков. Назовите хотя бы один из них.

34. Ответьте на следующие вопросы по переводу одних единиц измерения в другие:

1) Сколько секунд длится наногод?

2) Микрометры часто называют микронами. Какова длина мегамикрона?

3) Сколько байтов содержится в 1 Пбайт памяти?

4) Масса Земли составляет 6000 Йг (йоттаграммов). Сколько это будет в килограммах?

35. Напишите оболочку, похожую на представленную в листинге 1.1, но содержащую все необходимое для того, чтобы она работала и ее можно было протестировать. В нее можно также добавить некоторые элементы, например перенаправление ввода и вывода, каналы и фоновые задания.

36. Если у вас есть персональная UNIX-подобная система (Linux, MINIX, FreeBSD и т. д.), которую можно без особого вреда ввести в зависшее состояние и перезагрузить, напишите сценарий для оболочки, который пытается создать неограниченное число дочерних процессов, запустите его и посмотрите, что произойдет. Перед запуском эксперимента наберите команду sync, чтобы сбросить на диск содержимое буферов файловой системы во избежание ее краха.

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

37. Исследуйте и попытайтесь объяснить содержимое каталогов в системах семейства UNIX или Windows c помощью программы od системы UNIX или программы DEBUG MS-DOS.

Совет: способ выполнения задания зависит от того, что позволит сделать операционная система. Может сработать следующая хитрость: нужно создать каталог на USB-накопителе с использованием одной операционной системы, а затем считать исходные дисковые данные, используя другую операционную систему, допускающую подобный доступ.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Вопросы 1.:

  1. Основные ошибки при задавании вопросов. Слишком открытые вопросы.
  2. ВОПРОС О РЕЛИГИИ - ЭТО ВОПРОС О ВЛАСТИ Молитва Господня и семейные порядки
  3. Вопросы без альтернатив, или открытые вопросы
  4. 2.6. Умеем ли мы задавать вопросы? Классификация типов вопросов
  5. § 9 Критика гражданской формы брака. – Вопрос о введении ее в русское законодательство. – Браки у раскольников и вопрос о законности сих браков.
  6. Вопрошающее наблюдение: вопрос без вопроса
  7. 7.1. СКРЫТЫЕ ВОПРОСЫ
  8. 3.3.1. Неструктурированные вопросы
  9. Вопросы
  10. Вопросы
  11. Ключевой вопрос
  12. Наводящие вопросы.
  13. Закрытые вопросы.