<<
>>

Вопросы 1.

Дайте пять разных путевых имен для файла /etc/passwd.

Подсказка: подумайте о записях каталогов «.» и «..».

2. Когда в системе Windows пользователь щелкает на файле, находящемся в списке Windows Explorer, запускается программа и этот файл передается ей в качестве аргумента.

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

3. В ранних UNIX-системах исполняемые файлы (файлы a.out) начинались с особого «магического» числа, выбираемого далеко не случайным образом. Эти файлы начинались с заголовка, за которым следовали сегменты с текстом программы и данными. Как вы думаете, почему для исполняемых файлов было выбрано особое «магическое» число, тогда как для файлов других типов в качестве первых слов использовались более или менее произвольные «магические» числа?

4. Является ли системный вызов open неотъемлемой частью UNIX? Какими будут последствия, если этого системного вызова в ней не станет?

5. У систем, поддерживающих последовательные файлы, всегда есть операция для их «перемотки».

Нужна ли эта операция системе, поддерживающей файлы произвольного доступа?

6. В некоторых операционных системах для присваивания файлу нового имени предоставляется системный вызов rename. Есть ли какая-нибудь разница между использованием этого системного вызова для переименования файла и копированием файла в новый файл с новым именем с последующим удалением старого файла?

7. Некоторые системы позволяют отображать часть файла на память. Какие ограничения должны накладывать такие системы? Как реализуется такое частичное отображение?

8. Простая операционная система поддерживает только один каталог, но позволяет хранить в нем произвольное количество файлов с именами произвольной длины. Можно ли на такой системе сымитировать что-либо подобное иерархической файловой системе? Как это сделать?

9.

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

10. Рассмотрим дерево каталогов, показанное на рис. 4.5. Если каталог /usr/jim является рабочим, то каким будет абсолютное имя пути для файла, чье относительное имя пути ../ast/x?

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

12. Опишите последствия повреждения блока данных для заданного файла: а) для непрерывных, б) связанных, в) индексированных (или основанных на использовании таблицы) схем размещения блоков.

13. Одним из способов распределения дискового пространства непрерывными областями без ущерба от наличия пустующих мест является уплотнение диска при каждом удалении файла. Поскольку все файлы располагаются одной непрерывной областью, то при копировании файла его нужно прочитать, для чего приходится тратить определенное время на позиционирование блока головок на нужный цилиндр и на ожидание подхода нужного сектора, после чего осуществляется перенос данных на полной скорости. Запись файла на диск требует тех же действий. Предположим, что время позиционирования блока головок на нужный цилиндр занимает 5 мс, ожидание подхода под головку нужного сектора — 4 мс, скорость передачи данных равна 8 Мбайт/с, а средний размер файла 8 Кбайт. Сколько времени понадобится для того, чтобы считать файл в оперативную память, а затем записать его обратно на новое место на диске? Сколько понадобится времени при тех же параметрах для уплотнения половины 16-гигабайтного диска?

14.

Ответьте, взяв за основу тему предыдущего вопроса, есть ли вообще какой-нибудь смысл в уплотнении диска?

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

16. Рассмотрим i-узел, показанный на рис. 4.10. Каков может быть максимальный размер файла, если этот узел содержит 10 прямых адресов по 8 байтов каждый, а все дисковые блоки имеют размер 1024 Кбайт?

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

18. Представьте себе файл, чей размер варьируется за время его существования между 4 Кбайт и 4 Мбайт. Какая из трех схем размещения (непрерывная, связанная или табличная индексированная) будет для него наиболее подходящей?

19. Поступило предложение для увеличения эффективности использования и экономии дискового пространства хранить данные коротких файлов прямо в i-узлах. Сколько байтов данных может храниться в i-узле, показанном на рис. 4.10?

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

21. Назовите одно преимущество жестких связей над символическими ссылками и одно преимущество символических ссылок над жесткими связями.

22. Объясните, чем жесткие ссылки отличаются от символьных ссылок в соответствии с распределениями i-узлов.

23. Возьмем диск объемом 4 Тбайт, который использует блоки размером 4 Кбайт и метод списка свободных блоков.

Сколько адресов блоков может храниться в одном блоке?

24. Учет свободного дискового пространства может осуществляться с помощью связанных списков или битовых массивов. Дисковые адреса состоят из D бит. При каком условии для диска из B блоков, Fиз которых свободны, список свободных блоков займет меньше места, чем битовый массив? Выразите ваш ответ в процентах от дискового пространства, которое должно быть свободным, для D = 16 бит.

25. После первого форматирования дискового раздела начало битового массива учета свободных блоков выглядит так: 1000 0000 0000 0000 (первый блок используется для корневого каталога). Система всегда ищет свободные блоки от начала раздела, поэтому после записи файла A, занимающего 6 блоков, битовый массив принимает следующий вид: 1111 1110 0000 0000. Покажите, как будет выглядеть битовый массив после каждого из следующих действий:

а) записи файла B размером 5 блоков;

б) удаления файла A;

в) записи файла C размером 8 блоков;

г) удаления файла B.

26. Что произойдет, если битовый массив или список свободных блоков окажется полностью потерян в результате сбоя? Есть ли способ восстановления системы после такого сбоя или с диском можно уже попрощаться? Дайте ответ отдельно для файловых систем UNIX и FAT-16.

27. Ночная работа Оливера «Совы» в университете состоит в смене лент, используемых для архивации данных. Ожидая окончания записи на каждую ленту, Оливер пишет статью, в которой доказывает, что пьесы Шекспира были созданы инопланетными пришельцами. За неимением ничего другого его текстовый процессор работает прямо в архивируемой системе. Возникают ли проблемы, связанные с этими обстоятельствами?

28. В этой главе рассматривались некоторые аспекты инкрементного архивирования. В системе Windows вопрос о том, нужно ли архивировать файл, решить довольно просто, поскольку у каждого файла есть специальный архивный бит. А вот в системе UNIX такого бита нет. Как программа архивации в системе UNIX определяет, для какого файла следует создать резервную копию?

29.

Допустим, что файл 21 на рис. 4.22 не изменялся со времени последней архивации. Как при этом изменятся четыре битовых массива на рис. 4.23?

30. Было внесено предложение, чтобы первая часть каждого файла в UNIX хранилась в том же дисковом блоке, что и его i-узел. В чем польза этого предложения?

31. Посмотрите на рис. 4.23. Может ли быть такое, чтобы для какого-то конкретного номера блока счетчики в обоих списках имели значение 2? Как избавиться от этой проблемы?

32. Производительность файловой системы зависит от степени удачных обращений к кэшу (доли блоков, найденных в кэше). Если на удовлетворение запроса к кэшу уходит 1 мс, а на удовлетворение запроса к диску, если потребуется чтение с диска, — 40 мс, выведите формулу для вычисления среднего времени удовлетворения запроса, если степень удачных обращений равна h. Нарисуйте график этой функции для значений h от 0 до 1,0.

33. Что больше подойдет для внешнего жесткого USB-диска, подключенного к компьютеру, — кэш со сквозной записью или блочное кэширование?

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

35. Предположим, что имеется диск, у которого есть 10 блоков данных, начиная с блока 14 и заканчивая блоком 23. Пускай на диске будет два файла, f1 и f2. В структуре каталога показано, что первыми блоками данных f1 и f2 являются соответственно 22 и 16. Используя показанные далее записи таблицы FAT, покажите, какие блоки данных выделены f1 и f2.

(14,18); (15,17); (16,23); (17,21); (18,20); (19,15); (20, -1); (21, -1); (22,19); (23,14).

Показанная выше система записи (x,y) означает, что значение, сохраненное в записи таблицы х, указывает на блок данных у.

36. Воспользуйтесь графиком на рис. 4.17 применительно к диску, имеющему среднее время поиска цилиндра 6 мс, скорость вращения диска 15 000 об/мин и дорожки по 1 048 576 байт.

Чему равна скорость передачи данных для блоков, имеющих размер 1, 2 и 4 Кбайт?

37. Некая файловая система использует 4-килобайтные дисковые блоки. Средний размер файлов составляет 1 Кбайт. Если бы все файлы имели размер 1 Кбайт, какая часть диска терялась бы понапрасну? Как вы думаете, потери в реальной системе выше этого числа или ниже? Обоснуйте ответ.

38. Какой самый большой размер файла (в байтах) может быть доступен с использованием 10 прямых адресов и одного косвенного блока, если размер дискового блока составляет 4 Кбайт, а значение адреса указателя блока составляет 4 байта?

39. В системе MS-DOS файлам приходится бороться за место в таблице FAT-16, хранящейся в оперативной памяти. Если один файл использует Ь элементов, то существуют Ь элементов, недоступных никаким другим файлам. Какие ограничения это накладывает на общую длину всех остальных файлов?

40. Файловая система UNIX имеет блоки размером 4 Кбайт и 4-байтовые дисковые адреса. Чему равен максимальный размер файла, если кузлы содержат 10 прямых адресов и по одному из адресов однократного, двукратного и трехкратного косвенных блоков?

41. Сколько понадобится дисковых операций для считывания кузла файла /usr/ast/ courses/os/handout.t? Предположим, что кроме кузла корневого каталога в оперативной памяти больше нет ничего относящегося к этому пути. Предположим также, что все каталоги занимают по одному дисковому блоку.

42. Во многих версиях системы UNIX кузлы хранятся в начале диска. Альтернативный вариант предусматривает выделение кузла при создании файла и помещение его в начале первого блока файла. Приведите все аргументы за и против альтернативного варианта.

43. Напишите программу, меняющую порядок байтов в файле на обратный так, чтобы последний байт стал первым, а первый — последним. Программа должна работать с файлами произвольной длины, но постарайтесь добиться от нее эффективной работы.

44. Напишите программу, которая начинает работу в заданном каталоге и спускается по дереву каталогов, записывая размеры всех найденных ею файлов. Когда программа выполнит эту задачу, она должна вывести на печать гистограмму размеров файлов, используя в качестве параметра шаг столбца (например, при шаге 1024 файлы размером от 0 до 1023 попадают в один столбец, от 1024 до 2047 — в другой столбец и т. д.).

45. Напишите программу, сканирующую все каталоги файловой системы UNIX, отыскивающую и определяющую местонахождение всех кузлов с двумя и более жесткими связями. Для каждого файла, фигурирующего в жестких связях, программа должна собрать в единый список все имена файлов, указывающих на этот файл.

46. Напишите новую версию программы к для системы UNIX. Эта версия должна принимать в качестве аргумента одно или несколько имен каталогов и для каждого каталога выдавать список всех файлов, содержащихся в этом каталоге, по одной строке на файл. Каждое поле должно форматироваться в соответствии с его типом. Укажите в списке только первый дисковый адрес или не указывайте вообще никаких адресов.

47. Создайте программу для измерения влияния размеров буфера на уровне приложения на процесс чтения. Эта программа использует запись в большой файл (скажем, размером 2 Гбайт) и чтение из него. Также в ней изменяется размер буфера приложения (скажем, от 64 байт до 4 Кбайт). Используйте процедуры измерения времени (например, gettimeofday и getitimer в UNIX), чтобы измерить время, затрачиваемое при различных размерах буфера. Проанализируйте результаты и сообщите о своих изысканиях: вносит ли размер буфера разницу в общее время записи и во время каждой записи?

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

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

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

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