Ім'я файлу: ” ©«®¢ ï á¨á⥬ .doc
Розширення: doc
Розмір: 96кб.
Дата: 08.05.2022
скачати
Пов'язані файли:
Інформаційні ресурси.doc

  1. Файловая система.

    1. Введение

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

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

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

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

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

В широком смысле понятие «файловая система» включает в себя:

  • совокупность всех файлов на диске;

  • набор структур данных, используемых для управления файлами, например: каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске;

  • комплекс системных программных средств, реализующих различные операции над файлами, такие как: создание, уничтожение, чтение, запись, именование и поиск файлов.

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

    1. Типы файловых систем

FAT. Одна из первых файловых систем, появившаяся вместе с PC компьютерами и системой DOS в 1981 году. Файловая система FAT (File Allocation Table — таблица размещения файлов) получила свое название благодаря простой таблице, в которой указываются:

  • непосредственно адресуемые участки логического диска, отведенные для размещения в них файлов или их фрагментов;

  • свободные области дискового пространства;

  • дефектные области диска (эти области содержат дефектные участки и не гарантируют чтение и запись данных без ошибок).

В файловой системе FAT дисковое пространство любого логического диска делится на две области: системную область и область данных.

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

  • загрузочной записи (Boot Record, BR);

  • зарезервированных секторов (Reserved Sectors, ResSec);

  • таблицы размещения файлов (File Allocation Table, FAT);

  • корневого каталога (Root Directory, RDir).

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

Для указания номера кластера в файловой системе FAT 16 используется 16-разрядное слово, следовательно, можно иметь до 216 = 65 536 кластеров (с номерами от 0 до 65 535).

FAT16:

  • максимальный размер раздела – 2 Гб;

  • при размере раздела свыше 512 Мб неэкономно расходует место на диске (из-за большого размера кластера);

  • распознается и может использоваться практически всеми операционными системами, используемыми на ПК;

  • имеет корневой каталог фиксированного размера (512 записей).

FAT32. В системе FAT были заложены ограничения на максимальный размер файла и диска – не больше 2 Гб. К середине 90х годов, с развитием компьютеров, эти ограничения потребовалось расширить. Так появилась новая система FAT32.

FAT32 – это последняя версия файловой системы FAT и улучшение предыдущей версии, известной как FAT16. Она была создана, чтобы преодолеть ограничения на размер тома в FAT16, позволяя при этом использовать старый код программ MS-DOS и сохранив формат. FAT32 использует 32-разрядную адресацию кластеров. FAT32 появилась вместе с Windows 95 OSR2. Максимально возможное число кластеров в FAT32 равно 268 435 445 кластеров, что позволяет использовать тома (логические диски) объёмом до 8 Тб. Максимально возможный размер файла для тома FAT32 – 4 Гб – 4 294 967 296 байт (232 – 4 294 967 296 байт). FAT32 не поддерживает установку разрешений на доступ к файлам и папкам и некоторые другие функции современных файловых систем, разделы с форматом FAT 32 нельзя уплотнить с помощью программы сжатия данных. Эти причины привели к тому, что сейчас наблюдается тенденция отказа от FAT32.

NTFS (New Technologi File System) – новая файловая система, разработанная Microsoft с целью заменить семейство FAT. В отличие от примитивной FAT, NTFS – это сложный алгоритм записи файлов. NTFS поддерживает систему метаданных и использует специализированные структуры данных для хранения информации о файлах для улучшения производительности, надёжности и эффективности использования дискового пространства. NTFS хранит информацию о файлах в Master File Table (MFT). С точки зрения пользователей файлы по-прежнему хранятся в каталогах. Однако в NTFS появилось много новых особенностей и возможностей.

При проектировании NTFS особое внимание было уделено надежности, механизмам ограничения доступа к файлам и каталогам, расширенной функциональности, поддержке дисков большого объема и пр. Начала разрабатываться эта система в рамках проекта OS/2 v.3, поэтому она переняла многие интересные особенности файловой системы HPFS.

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

NTFS имеет встроенные возможности разграничивать доступ к данным для различных пользователей и групп пользователей (списки контроля доступа – ACL), а также назначать квоты (ограничения на максимальный объём дискового пространства, занимаемый теми или иными пользователями).

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

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

Система NTFS создавалась с расчетом на работу с большими дисками. Она уже достаточно хорошо проявляет себя при работе с томами объемом 300-400 Мбайт и выше. Чем больше объем диска и чем больше на нем файлов, тем больший выигрыш мы получаем, используя NTFS вместо FAT16 или FAT32. Максимально возможные размеры тома (и размеры файла) составляют 16 Эбайт (один экзабайт равен приблизительно 16 000 млрд гигабайт).

HFS (Hierarchical File System – иерархическая файловая система). Родилась практически вместе с первыми маками в 1985 году. В HFS каждый файл состоит из двух частей, так называемых, ветви ресурсов и ветви данных. Ветвь данных – это собственно содержание файла, например, текст, изображение, видео или звук. В ветви ресурсов содержится различная служебная информация о файле: даты создания и редактирования, информация о программе создателе, иконка файла, а если этот файл-программа, то и используемый код.

HFS+ К концу 90х годов, Мак-пользователи столкнулись с такими же проблемами, что и пользователи системы FAT, и в 1998 Apple выпустила в свет новую версию – HFS+, в которой снималось множество ограничений. Количество возможных символов в имени файла изменилось с 32 до 255, а максимально допустимый размер файла и используемого диска достиг 8Eib. Exbibite - это 260. Максимальный размер диска на маке превышает максимальный размер в системе FAT32 в четыре миллиона раз! На сегодняшний момент HFS+ является основной файловой системой компьютеров Apple.

    1. Заключение

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

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



  1. Архитектура драйвер-мини-драйвер

    1. Введение

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

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

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

    1. Пример применения мини-драйвера

В качестве примера применения мини-драйвера рассмотрим автомобильное телематическое устройство, подключенное к шине CAN.

Компания QNX Software Systems Ltd является мировым лидером в области технологий микроядерных операционных систем реального времени. Решения QNX внедрены в миллионы устройств по всему миру. Такие компании, как Cisco, DaimlerChrysler, Lockheed Martin, Panasonic, Siemens и General Electric, используют технологии QNX для создания сверхнадежных систем, предназначенных для рынков сетевого, автомобильного, медицинского, военного оборудования и систем промышленной автоматизации. Компания QNX Software Systems основана в 1980 году.

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

Мини-драйвер состоит из двух основных компонентов:

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

  • Память сообщений — блок памяти для хранения всех принимаемых сообщений. Эти сообщения могут извлекаться из памяти пользовательскими приложениями или полной версией драйвера.

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

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

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

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

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

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

Работа мини-драйвера сводится к следующим простым шагам:

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

    • инициализации оборудования;

    • буферизации входящих сообщений в памяти данных;

    • реагирования на критические события.

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

  3. После загрузки ОС мини-драйвер передает управление полной версии драйвера.

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

При такой схеме начальной загрузки процессор общего назначения может работать как специализированный. Например, лабораторные испытания системы на основе процессора Freescale MPC5200 с тактовой частотой 396 МГц показали, что мини-драйвер может легко обеспечить обработку потока сообщений, поступающих каждую миллисекунду. Другими словами, если при включении питания данные посылаются в устройство каждую миллисекунду, мини-драйвер может успешно принять и обработать все данные, поступившие во время начального запуска системы. Аналогичные результаты могут быть получены и при использовании процессоров на основе архитектур SH-4 и ARM.

    1. Заключение

В персональных компьютерах архитектура драйвер-мини-драйвер напрямую связана с технологией Plug and Play («Подключай и работай»).

С точки зрения системы Plug and Play существуют следующие три типа драйверов:



  • Шинный драйвер (драйвер шины) обслуживает контроллер шины, адаптер, мост или любое устройство, которое имеет дочерние устройства. Шинные драйверы относятся к обязательным драйверам и обычно поставляются Microsoft. Для каждого типа шины в системе имеется собственный шинный драйвер.



  • Функциональный драйвер — это основной драйвер устройства, который предоставляет интерфейс с этим устррйством. Этот драйвер является обязательным, за исключением случаев, когда ввод/вывод устройства осуществляется шинным драйвером или любыми драйверами фильтра. Функциональный драйвер устройства обычно реализуется в виде пары драйвер/мини-драйвер. В таких парах драйвер класса (обычно разрабатываемый Microsoft) обеспечивает функциональные возможности, необходимые всем устройствам этого типа, а мини-драйвер (обычно разрабатываемый фирмой-поставщиком конкретного устройства) обеспечивает специфические функциональные особенности устройства. Plug and Play Manager загружает по одному функциональному драйверу для каждого устройства.



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



  1. Список используемой литературы:




    1. Таненбаум Э., Вудхалл А. Операционные системы. Разработка и реализация. [Текст]: 3-е изд., - СПб.: Питер, 2007. – 704 с.: ил.

    2. Гордеев, А. В. Операционные системы [Текст]: Учебник для вузов, 2-е изд., 2004. – 415 с.:ил.

    3. Олифер, В. Г. Сетевые операционные системы [Текст]: СПб.: Питер, 2003. – 539 с.: ил.

    4. [Электронный ресурс] // URL:http://www.swd.ru/index.php3?pid=777



скачати

© Усі права захищені
написати до нас