Глава 6a (Методическое пособие по Операционным системам)

2018-01-12СтудИзба

Описание файла

Файл "Глава 6a" внутри архива находится в следующих папках: Методическое пособие по Операционным системам, Операционне системы. Документ из архива "Методическое пособие по Операционным системам", который расположен в категории "". Всё это находится в предмете "операционные системы" из 7 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "операционные системы" в общих файлах.

Онлайн просмотр документа "Глава 6a"

Текст из документа "Глава 6a"

192


Глава 6

Файловые системы

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

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

Третья проблема состоит в том, что часто возникает необходимость нескольким процессам одновременно получить доступ к одним и тем же данным (или части дан­ных). Если интерактивный телефонный справочник будет храниться в адресном пространстве одного процесса, то доступ к нему будет только у этого процесса. Для решения этой проблемы необходимо отделить информацию от процесса.

Таким образом, к долговременным устройствам хранения информации предъяв­ляются три следующих важных требования:

1. Устройства должны позволять хранить очень большие объемы данных.

2. Информация должна сохраняться после прекращения работы процесса, ис­пользующего ее.

3. Несколько процессов должны иметь возможность получения одновремен­ного доступа к информации.

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

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

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

Файлы

В следующих нескольких разделах мы рассмотрим файлы с точки зрения пользо­вателя, то есть обсудим их использование и их свойства.

Именование файлов

Файлы относятся к абстрактному механизму. Они предоставляют способ сохра­нять информацию на диске и считывать ее снова позднее. При этом от пользова­теля должны скрываться такие детали, как способ и место хранения информации, а также детали работы дисков.

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

Точные правила именования файлов варьируются от системы к системе, но все современные операционные системы поддерживают использование в качестве имен файлов 8-символьные текстовые строки. Таким образом, andrea, bruce и cathy являются допустимыми именами файлов. Часто в именах файлов также разреша­ется использование цифр и специальных символов, поэтому могут применяться и такие имена файлов, как 2, urgent! и Fig.2-14. Многие файловые системы поддер­живают имена файлов длиной до 255 символов.

В некоторых файловых системах, например UNIX, различаются прописные и строчные символы, тогда как в других, таких как MS-DOS, нет. Таким образом, имена файлов maria, Maria и MARIA будут означать в системе UNIX три различных файла, тогда как в MS-DOS все эти имена будут соответствовать одному файлу.

Операционные системы Windows 95 и Windows 98 используют файловую сис­тему MS-DOS и наследуют многие ее свойства, включая именование файлов. Опе­рационные системы Windows NT и Windows 2000 также поддерживают файловую систему MS-DOS и наследуют ее свойства. Однако у последних двух операцион­ных систем имеется своя файловая система (NTFS), обладающая отличными свойствами (например, именами файлов в кодировке Unicode). В данной главе при упоминании файловой системы Windows мы будем иметь в виду файловую систе­му MS-DOS, являющуюся единственной файловой системой, поддерживаемой все­ми версиями Windows. Файловая система NTFS, используемая в Windows 2000, будет обсуждаться в главе 11.

Во многих операционных системах имя файла может состоять из двух частей, разделенных точкой, например prog.c. Часть имени файла после точки называется расширением файла и обычно означает тип файла. Так, в MS-DOS имя файла мо­жет содержать от 1 до 8 символов плюс расширение от 0 до 3 символов. В системе UNIX размер расширения файла зависит от пользователя. Кроме того, у файла может быть несколько расширений, например prog.c.Z, где .Z обычно использу­ется, чтобы указать, что файл (prog.c) был сжат с помощью алгоритма Зива—Лемпеля. Некоторые часто встречающиеся расширения файлов и их значения приве­дены в табл. 6.1.

Таблица 6.1. Некоторые типичные расширения файлов Расширение Значение

file.bak Резервная копия файла

file.с Исходный текст программы на С

file.gif Изображение формата GIF

file.hip Файл справки

file.html Документ в формате HTML (web-страница)

file.jpg Неподвижное изображение стандарта JPEG

file.mpS Музыка в формате MPEG-1 уровень 3

file.mpg Фильм в формате MPEG

file.о Объектный файл (еще не скомпонованный выходной файл компилятора)

file.pdf Документ формата PDF (программы Adobe Acrobat)

file.ps Документ формата PostScript

file.tex Входной файл для программы форматирования ТЕХ

file.txt Текстовый файл общего назначения

file.zip Архив, сжатый с помощью алгоритма Зива—Лемпеля

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

Подобные соглашения особенно полезны, когда одна и та же программа должна управлять различными типами файлов. Например, компилятору языка С может быть предоставлен список файлов, которые он должен откомпилировать и скомпо­новать, причем некоторые из этих файлов могут содержать программы на языке С, тогда как другие являться ассемблерными файлами. В этом случае именно по рас­ширениям файлов компилятор сможет отличить одни файлы от других.

Система Windows, напротив, знает о расширениях файлов и назначает каждому расширению определенное значение. Пользователи (или процессы) могут регист­рировать расширения в операционной системе, указывая программу, «владеющую» данным расширением. При двойном щелчке мыши на имени файла запускается программа, назначенная этому расширению, с именем файла в качестве парамет­ра. Например, двойной щелчок мыши на имени file.doc запускает Microsoft Word, который открывает файл file.doc.

Структура файла

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

Рис. 6.1. Три типа файлов: последовательность байтов (а); последовательность записей (б); дерево (в)

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

Первый шаг по направлению к структуре показан на рис. 6.1, б. В данной моде­ли файл представляет собой последовательность записей фиксированной длины, каждая со своей внутренней структурой. Для файлов, состоящих из записей, важ­ным является то, что операция чтения возвращает одну запись, а операция записи перезаписывает или дополняет одну запись. Несколько десятилетий назад, когда вовсю применялись перфокарты, состоящие из 80 колонок отверстий, многие операционные системы (на мэйнфреймах) оперировали файлами, состоящими из 80-символьных записей, представляющими собой образы перфокарт. Этими операционными системами поддерживались также файлы, состоящие из 132-сим-вольных записей, предназначающихся для строковых принтеров (которые в те дни печатали по 132 символа в строке). Программы читали из входных файлов 80-символьные блоки и записывали их в виде 132-символьных блоков, хотя ос­тальные 52 символа могут быть пробелами. Ни одна современная универсальная система не работает подобным образом.

Третий вариант файловой структуры показан на рис. 6.1, в. При такой организа­ции файл представляет собой дерево записей, не обязательно одной и той же дли­ны. Каждая запись в фиксированной позиции содержит поле ключа. Дерево сор­тировано по ключевому полю, что обеспечивает быстрый поиск заданного ключа.

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

Типы файлов

Многие операционные системы поддерживают различные типы файлов. Напри­мер, в системах UNIX и Windows проводится различие между регулярными (обыч­ными) файлами и каталогами. В системе UNIX также различаются символьные и блочные специальные файлы. К регулярным файлам относятся все файлы, со­держащие информацию пользователя. Все файлы на рис. 6.1 являются регулярны­ми. Каталоги — это системные файлы, обеспечивающие поддержку структуры файловой системы. Мы рассмотрим их подробнее ниже. Символьные специаль­ные файлы имеют отношение к вводу-выводу и используются для моделирова­ния последовательных устройств ввода-вывода, таких как терминалы, принтеры и сети. Блочные специальные файлы используются для моделирования дисков. В данной главе мы в первую очередь будем рассматривать регулярные файлы.

Регулярные файлы в основном являются либо ASCII-файлами, либо двоичны­ми файлами. ASCII-файлы состоят из текстовых строк. В некоторых системах каж­дая строка завершается символом возврата каретки. В других (например, UNIX) используется символ перевода строки. В некоторых системах (например, MS-DOS) используются оба символа. Строки не обязаны иметь одну и ту же длину.

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