Системное программное обеспечение

Автор работы: Пользователь скрыл имя, 28 Января 2013 в 15:44, шпаргалка

Описание

Работа содержит ответы на вопросы для экзамена (или зачета) по дисциплине "Системное программное обеспечение"

Работа состоит из  1 файл

ОС Шпоры.docx

— 207.00 Кб (Скачать документ)

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

Модель файла, в соответствии с  которой содержимое файла представляется неструктурированной последовательностью (потоком) байт, стала популярной вместе с ОС UNIX, а теперь она широко используется в большинстве современных ОС, в том числе в MS-DOS, Windows NT/2000, NetWare. Неструктурированная модель файла позволяет легко организовать разделение файла между несколькими приложениями: разные приложения могут по-своему структурировать и интерпретировать данные, содержащиеся в файле.

Другая модель файла, которая применялась  в ОС OS/360, DEC RSX и VMS, а в настоящее  время используется достаточно редко, — это структурированный файл. В этом случае поддержание структуры  файла поручается файловой системе. Файловая система видит файл как  упорядоченную последовательность логических записей. Приложение может  обращаться к ФС с запросами на ввод-вывод на уровне записей, например «считать запись 25 из файла FILE.DOC». ФС должна обладать информацией о структуре  файла, достаточной для того, чтобы  выделить любую запись. ФС предоставляет  приложению доступ к записи, а вся  дальнейшая обработка данных, содержащихся в этой записи, выполняется приложением. Развитием этого подхода стали  системы управления базами данных (СУБД), которые поддерживают не только сложную структуру данных, но и взаимосвязи между ними.

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

Файловая система может использовать два способа доступа к логическим записям: читать или записывать логические записи последовательно (последовательный доступ) или позиционировать файл на запись с указанным номером (прямой доступ).

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

К числу таких способов структуризации относится представление данных в виде записей, длина которых  фиксирована в пределах файла (рис. 7.7, а). В таком случае доступ к  n-й записи осуществляется либо путем последовательного чтения (n-1) предшествующих записей, либо прямо по адресу, вычисленному по ее порядковому номеру. Например, если L — длина записи, то начальный адрес n-й записи равен Lxn. Заметим, что при такой логической организации размер записи фиксирован в пределах файла, а записи в различных файлах, принадлежащих одной и той же файловой системе, могут иметь различный размер.

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

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

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

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

  1. Общая модель файловой системы. Архитектура переключаемых файловых систем.

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

Задачей символьного уровня является определение по символьному имени  файла его уникального имени. В файловых системах, в которых  каждый файл может иметь только одно символьное имя (например, MS-DOS), этот уровень  отсутствует, так как символьное имя, присвоенное файлу пользователем, является одновременно уникальным и  может быть использовано операционной системой. В других файловых системах, в которых один и тот же файл может иметь несколько символьных имен, на данном уровне просматривается  цепочка каталогов для определения  уникального имени файла. В файловой системе UNIX, например, уникальным именем является номер индексного дескриптора  файла (i-node).

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

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

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

  1. Файловые системы FAT, NTFS, ext2(3)fs.

FAT (англ. File Allocation Table — «таблица размещения файлов») — классическая архитектура файловой системы, которая из-за своей простоты всё ещё широко используется для флеш-накопителей. В недавнем прошлом использовалась в дискетах, на жёстких дисках и других носителях информации.

Разработана Биллом Гейтсом и Марком МакДональдом (англ.) в 1976—1977 годах. Использовалась в качестве основной файловой системы в операционных системах семейств DOS и Windows (до версии Windows 2000).

Версии системы FAT

Существует три версии FAT — FAT12, FAT16 и FAT32. Они отличаются разрядностью записей в дисковой структуре, то есть количеством бит, отведённых для  хранения номера кластера. FAT12 применяется  в основном для дискет, FAT16 — для дисков малого объёма.

Структура системы FAT

В файловой системе FAT смежные секторы  диска объединяются в единицы, называемые кластерами. Количество секторов в кластере равно степени двойки. Для хранения данных файла отводится целое число кластеров (минимум один), так что, например, если размер файла составляет 40 байт, а размер кластера 4 кбайт, реально занят информацией файла будет лишь 1 % отведенного для него места. Для избежания подобных ситуаций целесообразно уменьшать размер кластеров, а для сокращения объёма адресной информации и повышения скорости файловых операций — наоборот. На практике выбирают некоторый компромисс. Так как емкость диска вполне может и не выражаться целым числом кластеров, обычно в конце тома присутствуют т. н. surplus sectors — «остаток» размером менее кластера, который не может отводиться ОС для хранения информации.

Пространство тома FAT32 логически  разделено на три смежные области:

Зарезервированная область. Содержит служебные структуры, которые принадлежат  загрузочной записи раздела (Partition Boot Record — PBR, для отличия от Master Boot Record — главной загрузочной записи диска; также PBR часто некорректно называется загрузочным сектором) и используются при инициализации тома;

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

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

В FAT12 и FAT16 также специально выделяется область корневого каталога. Она  имеет фиксированное положение (непосредственно  после последнего элемента таблицы FAT) и фиксированный размер в секторах.

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

NTFS (от англ. New Technology File System — «файловая система новой технологии») — стандартная файловая система для семейства операционных систем Microsoft Windows NT.

NTFS заменила использовавшуюся в  MS-DOS и Microsoft Windows файловую систему FAT. NTFS поддерживает систему метаданных и использует специализированные структуры данных для хранения информации о файлах для улучшения производительности, надёжности и эффективности использования дискового пространства. NTFS хранит информацию о файлах в главной файловой таблице — Master File Table (MFT). NTFS имеет встроенные возможности разграничивать доступ к данным для различных пользователей и групп пользователей (списки контроля доступа — Access Control Lists (ACL)), а также назначать квоты (ограничения на максимальный объём дискового пространства, занимаемый теми или иными пользователями). NTFS использует систему журналирования USN для повышения надёжности файловой системы.

NTFS разработана на основе файловой  системы HPFS (от англ. High Performance File System — высокопроизводительная файловая система), создававшейся Microsoft совместно с IBM для операционной системы OS/2. Но, получив такие несомненно полезные новшества, как квотирование, журналируемость, разграничение доступа и аудит, в значительной степени утратила[источник не указан 282 дня] присущую прародительнице (HPFS) весьма высокую производительность файловых операций.

Различают несколько версий NTFS: v1.2 используется в Windows NT 3.51 и Windows NT 4.0, v3.0 поставляется с Windows 2000, v3.1 — с Windows XP, Windows Server 2003, Windows Server 2003 R2, Windows Vista, Windows 7 и Windows Server 2008, Windows Server 2008 R2.

Second Extended File System (дословно: «вторая расширенная файловая система»), сокращённо ext2 (иногда ext2fs) — файловая система ядра Linux. Была разработана Реми Кардом (англ.) взамен существующей тогда ext. По скорости и производительности работы она может служить эталоном в тестах производительности файловых систем. Так, в тестах на скорость последовательного чтения и записи, проведённых The Dell TechCenter, файловая система ext2 обгоняет ext3, и уступает лишь более современной ext4 в тесте на чтение.

Главный недостаток ext2 (и одна из причин демонстрации столь высокой производительности) заключается в том, что она  не является журналируемой файловой системой. Он был устранён в файловой системе ext3 — следующей версии Extended File System, полностью совместимой с ext2.

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

Информация о работе Системное программное обеспечение