Главная » Просмотр файлов » Э. Таненбаум - Архитектура компьютера

Э. Таненбаум - Архитектура компьютера (1127755), страница 126

Файл №1127755 Э. Таненбаум - Архитектура компьютера (Э. Таненбаум - Архитектура компьютера) 126 страницаЭ. Таненбаум - Архитектура компьютера (1127755) страница 1262019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 126)

504 Глава 6. Уровень операционной системы Сектор 11 Сектор О Сектор 11 Сектор О р1 Дор Дорож я е я кв ~ ~в с $ 'я 3з* еео оая Б::й 6 Направление вращения диска Направление вращения диска Рис. 8.18. Варианты расположения файла на диске: файл занимает последовательные секторы (а); файл занимает непоследовательные секторы (б) Для того чтобы операционная система по запросу могла доставить байт или логическую запись п из какого-то файла, она должна пользоваться каким-либо методом для определения местонахождения данных. Если файл расположен последовательно, чтобы вычислить позицию нужного байта или логической записи, операционная система должна знать только место начала файла. Если файл расположен на диске не последовательно, то лишь по начальной позиции файла невозможно вычислить позицию произвольного байта или логической записи в этом файле.

Чтобы найти произвольный байт или логическую зацисгь нужна таблица, называемая индексом файла и позволяющая получать хранящиеся на диске блоки и их физические адреса. Индекс файла может быть организован либо в виде списка адресов блоков 1такая схема используется в П)т)1Х), либо в виде списка логических записей, для каждой из которых даются адрес на диске и смещение. Иногда каждая логическая запись имеет ключ, и программы могут обращаться к записи по атому ключу, а не по номеру логической записи.

В последнем случае каждый элемент таблицы должен содержать не только информацию о местонахождении записи на диске, но и ее ключ. Подобная структура обычно применяется в мэйнфреймах. Альтернативный метод нахождения блоков размещения файла — организовать файл в виде связного списка. В этом случае каждый блок размещения содержит адрес следующего блока. Для реализации этой схемы нужно в основной памяти иметь таблицу со всеми последующими адресами. Например, для диска с 64-килобайтными блоками операционная система может иметь в памяти таблицу из 64 Кбайт элементов, в каждом из которых есть индекс следующего блока размещения. Так, если файл занимает блоки 4, 52 и 19, то элемент 4 в таблице будет содержать число 52, элемент 52 — число 19, а элемент 19 — специальный код, который указывает на конец файла (например, 0 или — 1).

Так работают файловые системы в МБ-НОЯ, 'тт'(пг)отта 95 и Ъ'(пт(отгз 98. ОС Ю(пс(отта ХР под- Виртуальные команды ввода-вывода 505 о Ф ос оп кк л 8. Й бе о е ах а ст же Ф Ф в .6- Сектор 1 2 3 4 5 6 Дорожка 0 о 1 2 з 4 7 6 9 10 11 Рис. 6.19. Деа подхода к трассировке свободных секторов; список свободной памяти (ай битовая карта (б1 держивает эту файловую систему, но имеет также собственную, которая больше похожа на файловую систему 1)Х1Х. До сих пор мы говорили, что на диске файлы могут располагаться как последовательно, так и непоследовательно, но зачем нужны эти два варианта расположения мы еще не объяснили.

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

Если диск содержит ряд «рабочих» файлов, конечные размеры которых могут меняться, записать их на диск в последовательные блоки размещения практически невозможно. Иногда можно переместить существующий файл, но это накладно. В то же время, если максимальный размер всех файлов известен заранее (например, как бывает при создании компакт-диска), программа может определить последовательности секторов, точно равных по длине каждому файлу. Если файлы размером 1200, 700, 2000 и 900 секторов нужно поместить на компакт-диск, они просто могут начинаться с секторов О, 1200, 1900 и 3900 соответственно (оглавление здесь не учитывается).

Найти любую часть любого файла легко, поскольку известен первый сектор файла. Чтобы выделить пространство на диске для файла, операционная система должна следить, какие блоки доступны, а какие уже заняты другими файлами. При записи на компакт-диск вычисление производится один раз и навсегда, а на жестком диске файлы постоянно записываются и удаляются.

Один из способов отслеживать состояние диска — хранить список всех пустот (неиспользованных фрагментов), где пустой фрагмент может быть размером с любое число последовательных блоков размещения. Этот список называется списком свободной памяти (бее 1(61).

На рис. 6.19, а изображен список свободной памяти для диска с рис. 6.18, б. 506 Глава 6. Уровень операционной системы Альтернативный подход — хранить битовую карту диска (один бит на один блок размещения), как показано на рис. 6.19, б. Единичный бит показывает, что блок уже занят, а нулевой — что свободен.

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

Перед тем как закончить обсуждение вопроса о реализации файловой системы, нужно сказать несколько слов о размере блока размещения. Здесь играют роль несколько факторов. Во-первых, тормозят доступ к диску время поиска и время, затрачиваемое на вращение диска. Если на нахождение начала блока тратится 10 мс, то гораздо выгоднее считать 8 Кбайт (это займет примерно 1 мс), чем 1 Кбайт (это займет примерно 0,125 мс), так как, если считывать 8 Кбайт как 8 блоков по 1 Кбайт, потребуется выполнять поиск 8 раз. Для повышения производительности нужны большие блоки размегцения. Чем меньше размер блока размещения, тем больше их должно быть.

Большое количество блоков размещения, в свою очередь, влечет за собой длинные индексы файлов и большие структуры связных списков в памяти. Системе М8-РО5 пришлось перейти на многосекторныс блоки по той причине, что дисковые адреса хранились в виде 16-разрядных чисел. Когда размер дисков стал превышать 64 Кбайт секторов, представить их можно было, только используя блоки размещения большего размера, поэтому число таких блоков не превышало 64 Кбайт. В первом выпуске %'пи1отчз 95 возникла та же проблема, но в последующем выпуске уже использовались 32-разрядные числа.

%'шдотчз 98 поддерживает оба варианта. Маленькие блоки тоже имеют свои преимущества. Дело в том, что файлы очень редко занимают ровно целое число блоков размещения. Следовательно, практически в каждом файле в последнем блоке размещения останется неиспользованное пространство. Если размер файла значительно превышает размер блока размещения, то в среднем неиспользованное пространство составит половину блока. Чем больше блок, тем больше остается свободного пространства. Если средний размер файла намного меньше размера блока размещения, болыпая часть пространства на диске окажется неиспользованной.

Например, в М8-РОЗ или в первой версии %'1пбо яз 95 с 2-гигабайтным дисковым разделом размер блока размещения составляет 32 Кбайт, поэтому при записи на диск файла в 100 символов 32 668 байт дискового пространства теряются. С точки зрения распределения дискового пространства маленькие блоки размещения имеют преимущество над большими. В настоян~ее время самым важным фактором считается скорость передачи данных, поэтому размер блоков постоянно увеличивается. Команды управления каталогами Много лет назад программы и данные хранились на перфокартах. Поскольку размер программ увеличивался, а данных становилось все больше, такая форма Виртуальные команды ввода-вывода 507 хранения стала неудобной.

Тогда возникла идея вместо перфокарт использовать для хранения программ и данных вспомогательную память (например, диск). Информация, доступная для компьютера без вмешательства человека, называется оперативной (оп-1ше). Напротив, автономная (огг"-!ше) информация требует вмешательства человека (например, чтобы вставить компакт-диск). Оперативная информация хранится в файлах. Программы могут получить доступ к ней через программы ввода-вывода. Чтобы следить за оперативной информацией, группировать ее в удобные блоки и защищать от незаконного использования, нужны дополнительные команды.

Обычно операционная система группирует файлы оперативной информации в каталоги. Рисунок 6.20 иллюстрирует пример такой организации. В этом случае поддерживаются системные вызовы, по крайней мере, для следующих функций: + создание файла и включение его в каталог; + удаление файла из каталога; + переименование файла; + изменение статуса защиты файла. Могут применяться различные схемы защиты. Например, владелец файлов может ввести секретный пароль доступа к каждому файлу. Тогда для доступа к файлу программе потребуется сгенерировать пароль, который будет проверен операционной системой.

Доступ к файлу разрешается только в том случае, если пароль правильный. Кроме того, для каждого файла можно создать список пользователей, программы которых смогут получать доступ к данному файлу. рис. 6.20. Пользовательский каталог и структура одного из типичных файлов Все современные операционные системы позволяют хранить более одного каталоги. Каждый каталог обычно сам представляет собой файл и как таковой может включаться в другой каталог, в результате получается иерархическая древовид- 508 Глава 6. Уровень операционной системы ная структура каталогов. Большое количество каталогов особенно удобно программистам, работающим над несколькими проектами.

Они могут сгруппировать в один каталог все файлы, связанные с одним проектом. Каталоги— это удобное средство совместного с членами своих рабочих групп использования файлов. Виртуальные команды для параллельной работы Некоторые вычисления удобно производить с помощью двух и более параллельных процессов (то есть будто бы на разных процессорах). Другие вычисления, чтобы сократить общее время вычислений, можно поделить на части, которые затем выполнять параллельно. Чтобы несколько процессов могли выполняться параллельно, нужны специальные виртуальные команды. Мы обсудим их в следующих подразделах. Интерес к параллельной работе обусловлен и некоторыми законами физики.

Характеристики

Тип файла
DJVU-файл
Размер
13,7 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6473
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее