Глава 6a (1085729), страница 2

Файл №1085729 Глава 6a (Методическое пособие по Операционным системам) 2 страницаГлава 6a (1085729) страница 22018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

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


Например, на рис. 6.2, а показан простой исполняемый двоичный файл одной из версий системы UNIX. Хотя технически файл представляет собой всего лишь последовательность байтов, операционная система станет исполнять файл только в том случае, если этот файл имеет соответствующий формат. Файл состоит из пяти разделов: заголовка, текста, данных, релокационных битов и таблицы симво­лов. Заголовок начинается с так называемого «магического» числа, идентифи­цирующего файл как исполняемый (чтобы предотвратить случайное исполнение файла другого формата). Следом за «магическим» числом в заголовке располага­ются размеры различных частей файла, адрес начала исполнения файла и некото­рые флаговые биты. За заголовком следуют текст программы и данные. Они за­гружаются в оперативную память и настраиваются на работу по адресу загрузки при помощи битов релокации. Таблица символов используется для отладки.

Рис. 6.2. Исполняемый файл (а); архив (б)

Второй пример двоичного файла представляет собой файл архива, также из системы UNIX. On состоит из набора библиотечных процедур (модулей), откомпи­лированных, но не скомпонованных. Каждой процедуре предшествует заголовок, содержащий ее имя, дату создания, владельца, код защиты и размер. Как и в слу­чае исполняемого файла, заголовки модулей содержат большое количество дво­ичных чисел. Если скопировать их па принтер, получится полная тарабарщина.

Все операционные системы должны распознавать по крайней мере один тип файлов — свои собственные исполняемые файлы, по некоторые операционные системы распознают и другие типы файлов. Старая система TOPS-20 (для компью­тера DECsystem 20) даже изучала время создания каждого предоставляемого ей на исполнение файла. Затем она находила исходный файл и проверяла, не был ли он изменен, после того как был создан исполняемый файл. Если оказывалось, что исполняемый файл уже устарел, операционная система автоматически переком­пилировала исходный файл. Если перевести это па язык понятий UNIX, то это означало, что программа make была встроена в оболочку. Расширения файлов были обязательными, чтобы операционная система могла определить, какая двоичная программа от какого исходного файла произошла.

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

Хотя такая «дружественность» по отношению к пользователю (защищающая пользователя от ошибок) может быть полезна для новичков, она ставит опытных пользователей в безвыходное положение, заставляя их тратить массу усилий на попытки перехитрить операционную систему.

Доступ к файлам

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

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

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

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

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

Атрибуты файла

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

Таблица 6.2. Некоторые возможные атрибуты файлов
Атрибут Значение

Защита Кто и каким образом может получить доступ к файлу

Пароль Пароль для получения доступа к файлу

Создатель Идентификатор пользователя, создавшего файл

Владелец Текущий владелец

Флаг «только чтение» 0 — для чтения/записи; 1 — только для чтения

Флаг «скрытый» 0 — нормальный; 1 —- не показывать в перечне файлов каталога

Флаг «системный» 0 — нормальный; 1 — системный

Флаг «архивный» 0 — заархивирован; 1 — требуется архивация

Флаг ASCII/двоичный 0 —ASCII; 1 —двоичный

Флаг произвольного доступа 0 — только последовательный доступ; 1 — произвольный доступ

Флаг «временный» 0 — нормальный; 1 — для удаления файла по окончании работы процесса

Флаги блокировки 0 — неблокированный; отличный от нуля для блокированного

Длина записи Количество байтов в записи.

Позиция ключа Смещение до ключа в записи

Длина ключа Количество байтов в поле ключа

Время создания Дата и время создания файла

Время последнего доступа Дата и время последнего доступа файла

Время последнего изменения Дата и время последнего изменения файла

Текущий размер Количество байтов в файле

Максимальный размер Количество байтов, до которого можно увеличивать размер файла

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

Флаги представляют собой биты или короткие поля, управляющие некоторы­ми специфическими свойствами. Например, скрытые файлы не появляются в пе­речне файлов при распечатке каталога. Флаг архивации представляет собой бит, следящий за тем, была ли создана для файла резервная копия. Этот флаг очищает­ся программой архивирования и устанавливается операционной системой при из­менении файла. Таким образом программа архивирования может определить, ка­кие файлы следует архивировать. Флаг «временный» позволяет автоматически удалять помеченный так файл по окончании работы создавшего его процесса.

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

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

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

Операции с файлами

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

  1. Create (создание). Файл создается без данных. Этот системный вызов объявляет о появлении нового файла и позволяет установить некоторые его атрибуты.

  2. Delete (удаление). Когда файл уже более не нужен, его удаляют, чтобы осво­бодить пространство на диске. Этот системный вызов присутствует в каж­дой операционной системе.

  3. Open (открытие). Прежде чем использовать файл, процесс должен его от­крыть. Системный вызов open позволяет системе прочитать в оперативную память атрибуты файла и список дисковых адресов для быстрого доступа к содержимому файла при последующих вызовах.

  4. Close (закрытие). Когда все операции с файлом закончены, атрибуты и дисковые адреса более не нужны, поэтому файл следует закрыть, чтобы освободить пространство во внутренней таблице. Многие операцион­ные системы позволяют одновременно открыть ограниченное количество
    файлов. Запись на диск производится поблочно, а закрытие файла вызы­вает запись последнего блока файла, даже если этот блок еще не заполнен до конца.

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

  6. Write (запись). Запись данных в файл, также в текущую позицию в файле. Если текущая позиция находится в конце файла, размер файла автоматически увеличивается. В противном случае запись производится поверх су­ществующих данных, которые теряются навсегда.

  7. Append (добавление). Этот системный вызов представляет собой усеченную форму вызова write. Он может только добавлять данные к концу фай­ла. В операционных системах с минимальным набором системных вызовов может не быть данного системного вызова.

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

  9. Get attributes (получение атрибутов). Процессам часто для выполнения их работы бывает необходимо получить атрибуты файла. Например, для сбор­ки программ, состоящих из большого числа отдельных исходных файлов, в системе UNIX часто используется программа make. Эта программа иссле­дует время изменения всех исходных и объектных файлов, благодаря чему обходится компиляцией минимального количества файлов. Для выполнения этой работы ей требуется получить атрибуты файлов.

  10. Set attributes (установка атрибутов). Некоторые атрибуты файла могут ус­танавливаться пользователем после создания файла. Этот системный вызов предоставляет такую возможность. Например, для файла может быть уста­новлен код защиты доступа. Большинство других флагов также могут уста­навливаться при помощи данного системного вызова.

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

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

Тип файла
Документ
Размер
113,5 Kb
Тип материала
Высшее учебное заведение

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

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