Главная страница
Навигация по странице:

  • 1элемент Таблица логических имен iэлемент jэлемент Таблица оборудования 1 UCB

  • Счетчик данных Регистр данных Адресный регистр Управляющая схема

  • Операционные системы. 4 лекционный комплекс. Тема Архитектурные особенности ос. Классификация. Введение в курс. Понятия и определения ос. Основные функции ос. Эволюция ос. Архитектурные особенности ос. Классификация ос


    Скачать 0.52 Mb.
    НазваниеТема Архитектурные особенности ос. Классификация. Введение в курс. Понятия и определения ос. Основные функции ос. Эволюция ос. Архитектурные особенности ос. Классификация ос
    АнкорОперационные системы
    Дата18.09.2019
    Размер0.52 Mb.
    Формат файлаdoc
    Имя файла4 лекционный комплекс.doc
    ТипОбзор
    #87129
    страница7 из 7
    1   2   3   4   5   6   7

    Лекция 11



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

    Используют 2 основных подхода к выделению адресов

    • Фиксированная адресация, когда одно и тоже устройство всегда имеет один и тот же адрес реестра.

    • Географическая, когда каждому разъёму периферической шины соответствует свой диапазон адресов.

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

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

    1. фирму изготовителя

    2. модель

    3. версию

    4. количество регистров

    Наличие регистров позволяет операционной системе автоматически определять установленное оборудование и подгружать соответствующие управляющие модули.

    Режимы управления вводом/выводом.


    Управление вводом/выводом осуществляется операционной системой, точнее компонентом, который называют подсистема ввода/вывода - диспетчером или супервизором ввода/вывода. Этот компонент выполняет следующие задачи:

    1. Получает запросы на ввод/вывод прикладных задач и программных модулей самой системы. Проверяет их корректность и выдает соответствующее диагностическое сообщение.

    2. Определяет очередность предоставления устройств ввода/вывода задачам затребовавшим их.

    3. Инициирует ввод/вывод (передает управление соответствующим драйверам) и в случае выполнения ввода/вывода с использованием прерывания передает управление диспетчеру задач. Чтобы он передал его первой задаче, стоящей в очереди на выполнение.

    4. Идентифицирует сигналы прерывания от устройств ввода/вывода и передает управление соответствующей программе обработки прерывания.

    5. Передает сообщения об ошибках, случившихся в процессе ввода/вывода.

    6. Посылает сообщение о завершении операции ввода /вывода, запросившему эту операцию процессу и снимает его с состояния ожидания ввода/вывода, Если процесс ждал завершение операции.

    Существует 2 основных режима ввода/вывода

    1. режим обмена опросом готовности устройства ввода/вывода

    2. режим обмена с прерыванием

    Для организации ввода/вывода по 1 варианту процессор посылает устройству управления команду для устройства ввода/вывода выполнить некоторое действие. Устройство управления выполнит команду преобразования, её сигналы управления, которое оно передает устройству ввода/вывода. Поскольку быстродействие устройства ввода/вывода меньше на несколько порядков устройства быстродействия процессора, то драйвер управляющий обилием данных с внешних устройств вынужден в цикле опрашивать готовность устройств. При этом нерационально используется время процессора. Выгоднее после команды ввода/вывода перейти на выполнение другой команды, а появление сигнала готовности трактовать как запрос на прерывание. Драйверы работающие в режиме прерывания представляют собой сложный комплекс программных модулей и имеют несколько секций:

      • секция запуска

      • секция продолжения

      • секция завершения

    Секция запуска запускается для включения устройств ввода/вывода либо для инициализации очередной операции ввода/вывода .

    Секция продолжения осуществляет основную работу по передаче данных

    Секция завершения выключает устройства ввода/вывода либо просто завершает операцию.

    Управление операциями ввода/вывода в режиме прерывания требует более сложных программ чем те, что работают в режиме опроса готовности.

    Так, в операционных системах Windows 95,98 и Windows NT драйвер печати через параллельный код работает не в режиме прерывания, а в режиме опроса готовности, что приводит к 100% загрузке процессора на все время печати. Для организации и выполнения многие параллельно выполняющиеся задачи устройств ввода/вывода вводится понятие виртуального устройства, повышающего эффективность вычислительных систем. Примером служит spooling, то есть имитация работы с устройством в режиме on-line.Главная задача spoolingа – создать единицу параллельно выполняемого устройства ввода/вывода с последовательным доступом.

    Например, каждому вычислительному процессу предоставляется не реальный , а виртуальный прибор и поток выводимых символов, сначала направляемых в специальный файл на магнитном диске. Он называется spool- файл, затем по окончании виртуальной печати содержимое spool – файла выводится на принтер. Системный процесс который управляет spool – файлом называется spooler, spool-reader, spool-writer.

    Основные системные таблицы ввода/вывода


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

    Первая таблица оборудования содержит информацию обо всех устройствах ввода/вывода подключенных к системе.(Unit Control Block). UCB cодержит следующую информацию об устройстве:

    1. тип устройства, его модель

    2. подключение устройства ( через какой интерфейс, к какому разъёму, какие порты и линии прерывания используются)

    3. указание на драйвер (адрес секции запуска)

    4. информацию о буфере памяти

    5. состояние устройств

    6. указатель на дескриптор задачи использующий устройство в данный момент

    2 таблица описания виртуальных (логических ) устройств.

    Её назначение – устранение связи между виртуальными устройствами, описанными в таблице 1. 2 таблица позволяет ядру операционной системы перенаправлять запрос на ввод/вывод из приложения на те программные модули и страницы данных, которые (или адреса которых) хранятся в соответствующем элементе 1 таблицы.

    В многопользовательских системах таких таблиц нет : одна общая и по одной на каждого пользователя.

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

    Наличие связи между таблицами 1 и 3 .


    Взаимосвязь изображают так:


    1элемент

    Таблица логических имен

    iэлемент


    jэлемент

    Таблица оборудования

    1 UCB
    i элемент

    j элемент

    n элемент

    Таблица прерывания

    1 элемент

    h элемент


    g элемент

    Управление вводом/выводом состоит в выполнении следующих действий :

    Запрос на операции ввода/вывода от выполняющейся программы поступает в ядро операционной системы . Оно проверяет вызов на правильность и при отсутствии ошибок пересылает его в подсистему ввода/вывода.

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

    Таким образом осуществляется параллельное выполнение задач на фоне которого происходит управление операциями ввода/вывода.

    Прямой доступ к памяти.


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

    Он позволяет перемещать блоки данных из памяти или в неё без использования процессора. Модуль прямого доступа к памяти DMA способен дублировать функции процессора в частности отдавать управление системой для передачи данных по системной шине. Если процессор тоже нуждается в системной шине, то модуль DMA вынуждает процессор приостановить свою работу. Эта операция именуется захватом цикла, так как модуль DMA выполняет захват цикла шины. Работа модуля DMA представляется так:


    Счетчик данных

    Регистр данных

    Адресный регистр


    Управляющая схема

    Линия передачи данных


    Адресные линии


    Запрос DMA

    Подтверждение DMA


    прерывание

    чтение

    запись
    ЛЕКЦИЯ 12
    В момент, когда процессору необходимо произвести чтение или запись модуля данных он выполняет запрос модуля DMA передавая ему следующую информацию:

    1. Какая операция чтения или записи запрашивается.

    2. Адрес используемого УВВ (устройство ввода/вывода)

    3. Начальный адрес считываемый или записываемый в области памяти хранящийся в адресном регистре DMA.

    4. Число слов, которое необходимо прочесть или записать. Эта величина хранится в регистре счетчика данных в модуле DMA.

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

    Таким образом, процессор включен в этот процесс лишь в начале и в конце передачи данных.

    Конфигурирование прямого доступа к памяти может быть выполнено несколькими способами. Наиболее эффективны следующие:
    СИСТЕМНАЯ ШИНА


    ЦП

    DMA

    ОЗУ

    I/O

    I/O

    I/O

    I/O



    Шина ввода/вывода
    Обмен данными между DMA и УВВ происходит вне системной шины.

    ФАЙЛОВЫЕ СИСТЕМЫ
    Под файлом понимается набор данных, организованных в виде совокупности записей одинаковой структуры. Для управления этими данными создаются системы управления файлами. Возможность иметь дело с логическим уровнем структурных данных и операциями по их обработке предоставляет файловая система (ФС).

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

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

    2. Работа с недисковыми периферийными устройствами как с файлами.

    3. Обмен данными между файлами, между устройствами, между файлом и устройством и наоборот.

    4. Работа с файлами с помощью обращений программных модулей СУФ (Application Program Interface). Часть функций API ориентирована на работу с файлами.

    5. Защита файлов от несанкционированного доступа.


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

    Термин ФС определяет принципы доступа к данным организованных в файле. А термин СУФ относится к конкретной реализации ФС, т.е. это комплекс программных модулей обеспечивающих работу с файлами конкретной ОС. В качестве примера можно привести ФС FAT (Fill Allocation Table), которая имеет множество реализаций как СУФ. Название FAT используется и по отношению к СУФ MS-DOS. В реализацию СУФ для OS/2, использующей основные принципы системы FAT наз. Super-FAT. Ее основные отличия - поддержка расширенных атрибутов для каждого файла.

    Windows95/98 - VFAT.
    СТРУКТУРА МАГНИТНОГО ДИСКА
    Для того, чтобы с магнитного диска (МД) загрузить ОС и затем с ее помощью организовать работу СУФ были приняты специальные системные соглашения о структуре диска.

    В самом первом секторе находятся данные о логической организации диска и программа с помощью которой находятся и загружаются программы загрузки ОС. Информация на МД размещается и передается блоками. Каждый блок называется сектором. Сектора расположены на концентрической дорожке поверхности диска. Каждая дорожка называется треком и образуется превращением МД под зафиксированным некоторым предопределяющем положением головки чтения/записи. Группы дорожек одного радиуса расположенные на поверхностях МД образуют цилиндр. Жесткие диски имеют по несколько десятков тысяч цилиндров, а на поверхности дискеты их 80. Каждый сектор состоит из поля данных и поля служебной информации, ограничивающей и идентифицирующей его. Размер сектора устанавливается контроллером или драйвером. В большинстве ОС размер сектора 512 байт. Физический адрес сектора на диске определяется с помощью трех координат [c-h-s], где с - номер цилиндра, h - номер рабочей поверхности диска, а s -номер сектора на дорожке. Номера цилиндра и поверхности диска номеруются с 0, а номер сектора с 1. Обмен информацией с дисками физически осуществляется только с секторами. Жесткий диск может быть разбит на несколько разделов (partition), которые могут использоваться либо одной ОС, либо различными. Главное, что в каждом разделе может быть организована своя ФС. Разделы дисков могут быть двух типов (primary, extended - первичный и расширенный). Максимальное число первичных разделов 4, минимальное - 1. Если их несколько, то только один из них может быть активным. Именно загрузчику расположенному в активном разделе передается управление при включенном компьютере и загрузке ОС. Остальные первичные разделы в этом случае считаются скрытыми (hidden). Согласно спецификациям на диске может быть только один расширенный раздел, который в свою очередь может быть поделен на большое количество подразделов - логических дисков. С активного первичного раздела загружается программа загрузки ОС, называемая менеджером загрузки. Ее назначение - загрузить программу загрузки ОС из какого-нибудь другого раздела и с ее помощью загрузить саму ОС. Поскольку до загрузки ОС СУФ работать не может, то для указания загрузчика используются абсолютные адреса в формате [c-h-s]. По физическому адресу [0-0-1] на винчестере располагается главная загрузочная запись (Master Boot Record), содержащая внесистемный загрузчик (Non System Bootstrap), а также таблицу разделов. Эта запись равна ровно первому сектору, она размещается в памяти с адресом 0:7C00H, после чего управление передается коду программы, содержащемуся в первом секторе МД.

    МД является основным средством загрузки диска, которое поддерживается BIOS. В MBR находится три важных элемента:

    1. программа начальной загрузки

    2. таблица описания разделов диска, располагается по смещению 0:1BE и занимает 64 байта

    3. сигнатура MBR. Последние 2 байта MBR должны содержать число AA55h. По наличию этой сигнатуры BIOS проверяет, что первый блок был загружен успешно. Этот код выбран неслучайно. Его успешная проверка говорит о том, что все линии передачи данных могут передавать и нули и единицы.


    Таблица разделов описывает размещение и характеристики разделов на жестком диске. Если она повреждена, то не только не будет загружена ОС, но и перестанут быть доступными все данные на диске.

    СМЕЩЕНИЕ

    РАЗМЕР

    СОДЕРЖАНИЕ

    0

    446




    IBEh

    16

    Partition 1 Entry

    1 CEh

    16

    Partition 2 Entry

    1 DEh

    16

    Partition 3 Entry


    Лекция 13

    От 17.05.03
    Первым байтом в предельном разделе является Boot Indicator, 0- не активен, 128 – активен. Он определяет раздел, который является системным загрузочным. Далее следует байт № головки рабочей поверхности, с которой начинается раздел. Далее идут два байта, означающие № цилиндра, № загрузочного сектора, где располагается загрузчик ОС. Затем идет кодовый идентификатор длиной 1 байт (System Id), указывающий на установленную файловую систему.

    Т.е. 00-пустой раздел

    01-FAT12

    06-FAT16

    OC-FAT32

    83-LINUX NATIVE

    85-LINUX EXTENTED
    За байтом кода ОС располагается байт № рабочей поверхности конца раздела, за которым идут 2 байта: № сектора и № цилиндра последнего сектора данного раздела.

    Формат записи, содержащей № сектора и цилиндра:


    15

    65

    0

    Биты № цилиндра

    Биты № сектора

    10 бит 6 бит
    Вслед за MBR размечают сами разделы.

    В DOS в первичном разделе может быть сформирован один логический диск, а в расширенном любое количество.

    Расширенный раздел DOS содержит расширенную запись MBR, равную Secondary MBR, в состав которой входит таблица логического диска (Logical Disk Table). Эта таблица описывает размещение характеристики раздела, содержащей единственный логический диск, а также может определять следующую запись SMBR.

    Утилиты, позволяющие разбить диск на разделы называются FDISK (Form disk), Disk editor, Partition Magic.
    Файловая система FAT.
    В FAT логическое пространство любого диска делится на 2 области: системную и область данных.


    загр. сектор

    резерв. сектор







    корн. кат.




    BR

    RecSecs

    FAT1

    FAT2

    RDir

    Каталоги и файлы


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

    В таблице FAT кластеры, принадлежащие одному файлу связываются в цепочки. Для указания № кластера используется 16- битовой слово (65536).

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

    Уменьшается размер самой FAT;

    Уменьшается возможная фрагментация файлов;

    Ускоряется доступ к файлу, т.к. в несколько раз сокращается длина цепочек – фрагментов дискового пространства, выделенного файлу.

    Большой размер файла ведет к неэффективному использованию дискового пространства, особенно при большом количестве малых файлов. Поэтому в файловых системах HDFS, NTFS, FAT32 размер кластера ограничивается (512 байт- 4 Кбайт). В FAT 32 проблема решается за счет того, что сама FAT может содержать 228 кластеров.
    Пример:


    Имя файла




    Время последнего обращения к файлу

    Данные

    № начального кластера

    Размер

    MyFile.txt

    Атрибуты

    Time

    Data

    08

    Size






    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    0A

    0B

    0C

    0D

    0E

    0F

    00

    IP

    FF

    03

    04

    05

    FF

    00

    00

    09

    0A

    0B

    15

    00

    00

    00

    00




    01

    00

    00

    00

    00

    00

    16

    17

    19

    F7

    1A

    1B

    1C

    1D

    FF

    00

    00



    - содержание FAT, по отношению к файлу MyFile.txt
    Т.к. FAT интенсивно используется, то она помещается в ОЗУ, а на диске хранится в двух экземплярах. Используется только первый, если он оказывается поврежден, то происходит обращение ко второму экземпляру.

    Утилиты ScanDisk при обнаружении несоответствия между копиями FAT предлагает восстановить главную по данным второй копии.

    Файловая система VFAT, FAT32.



    VFAT (32 разряда) предназначена для ОС Windows для выполнения файлового ввода- вывода в защищенном режиме. В эту систему добавлена поддержка длинных имен фалов наряду с формой (?????? . ???).

    Эта файловая система поддерживается Win9x b WinNT 4.0.

    Основными недостатками FAT и VFAT являются большие потери на кластеризацию при больших размерах логического диска и ограничениях на сам размер логического диска.

    Т.е. необходимо разработать файловую систему с использованием идеи применения таблицы FAT. Файловая система типа FAT32 является самостоятельной 32- разрядной файловой системой. Главное ее отличие в более эффективном использовании дискового пространства.

    Прежде всего FAT32 использует кластеры меньшего размера по сравнению с предыдущими версиями, который ограничивались 65535 кластерами на диске. Даже для дисков до 8 Гбайт FAT32 может использовать 4 Кбайт – кластеры, в результате экономится 10-15 % дискового пространства. FAT32 может перемещаться в корневой каталог и использовать резервную копию вместо стандартной. Корневой каталог FAT32 представлен в виде обычной цепочки кластеров, т.е. корневой каталог находится в любом месте диска, что снимает ограничения на его размер (512 бит).

    Кроме повышения емкости FAT до 4 Тбайт. FAT32 изменяет структуры корневого каталога. Для хранения имен фалов используются дополнительные элементы каталога, в т.ч. и для корневых. Длинное имя может занимать до 256 символов и для его хранения используется 25- элементов каталога. Длина полной файловой спецификации , включая путь и имя файла ограничена 260-символами, т.е. рекомендуется ограничивать длину имени файла 75-80 символами для того, чтобы осталось место для пути.
    Файловая система NTFS (New Technology File System).
    Эта файловая система содержит ряд усовершенствований и изменений по сравнению с другими файловыми системами. Файлы хранятся в папках или каталогах. В NTFS повышена эффективность работы с дисками большого объема. Имеются средства для ограничения доступа, введены механизмы для повышения надежности файловой системы.

    Основные особенности файловой системы NTFS следующие:

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

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

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

    • поддержка POSIX (Portable Operating System for computing environments). Международный стандарт машинно-независимого интерфейса вычислительной среды. В нем основное внимание уделяется взаимодействию прикладных программ с операционной системой. Написанная прикладная программа позволяет создавать программы легко переносимые из одной операционной системы в другую.

    • эффективная поддержка больших дисков и файлов. Максимальный размер тома NTFS составляет 264 байт = 1 Экзобайт = 16000 млр. Гб. Максимальный размер файла составляет 232 кластера = 264 байт. Размер кластера может меняться от 512 байт до 64 Кбайт. NTFS поддерживает длинные имена файлов, набор символов Unicode и имена 8.3. Количество файлов в корневом и не корневом каталоге не ограниченно.

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

    Каждая транзакция осуществляется в 3 этапа:

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

    • Если транзакция завершена нормально, то система отмечает в журнале этот факт.

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



    Структура тома с файловой системой NTFS.



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

    Том – логический раздел диска, состоящий некоторого количества кластеров и используемый файловой системой для распределения дискового пространства. Том может занимать как весь диск, так и его часть или охватывать несколько дисков (RAIDs).

    Размер кластера от 512 байт до 64 Кбайт. Стандартными считаются кластера 2 Кбайта или 4 Кбайта. Все дисковое пространство NTFS делится на две неравные части.


    Загрузка сектора диска

    Главная файловая таблица MFT

    Системные файлы

    Область файлов


    Первые 12% диска – загрузочный сектор диска (размер до 16 физических секторов).

    MFT (Master Fail Table) – специальный файл главной системы. Структура данных которого, позволяет определить место нахождения всех остальных файлов. Запись, каких либо данных в эту область невозможна. Далее идет область длиной в 1 Мбайт для системных файлов. MFT представляет собой централизованный каталог всех остальных файлов диска, в том числе и самого себя. MFT поделен га записи фиксированного размера в 1 Кбайт и каждая запись соответствует какому либо файлу.

    Первые 16 файлов носят служебный характер и называются метафайлами, причем самый первый это MFT. Они хранятся в области системных файлов за MFT-зоной, так же как и копии первых 16 записей MFT. Метафайлы находятся в корневом каталоге тома, их имена начинаются с символа $.

    Файл в томе с файловой системой NTFS идентифицируется файловой ссылкой (File Reference) которая представляется как 64 разрядное число. Файловая ссылка состоит из номера файла, который соответствует позиции его файловой записи и MFT и номера последовательности. Последний увеличивается всякий раз, когда данная позиция MFT используется повторно. Что позволяет файловой системе выполнить внутренние проверки целостности.

    Каждый файл NTFS представлен с помощью атрибутов (поток) т.е. у него нет как таковых просто данных, а есть атрибуты. Один из атрибутов и есть данные файла. Таким образом, базовая сущность у файла только одна – номер в MFT, а все остальное атрибуты. Такой подход можно эффективно использовать. Например, файлу можно «прилепить» еще один атрибут или поток записав в него любые данные. В W2K, таким образом, записана информация об авторе содержание файлы. Атрибуты или потоки не видны стандартными средствами работы с файлами: наблюдаемый размер, размер основного потока, который содержит традиционные данные. Можно иметь файл нулевой длины при стирании которого, освободиться 1 Гбайт памяти. (На идей подмен потока основано написание вируса)

    Таким образом, файл состоит из набора атрибутов (потока, данные, хранящиеся в файлах рассматриваются как атрибуты).

    Атрибуты файлов в NTFS.





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

    2. список атрибутов, из которых состоит файл.

    3. имя файла в символах Unicode. Файл может иметь несколько атрибутов имен, как в Unix системах.

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

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

    Пункты 1-5 обязательны для каждого файла.
    Имя файла в NTFS может содержать любые символы, включая национальный алфавит, т.к. они представлены в Unicode (16 битное представление, максимальная длина 255 символов).

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

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

    Корневой каталог не чем не отличается от обычного, кроме специальной ссылки на него из начала MFT. Внутренняя структура каталога представляет собой бинарное дерево, т.е. в каталоге имена файлов располагаются таким образом, что бы можно было понять, к какой группе относительно данного элемента находится искомое имя, выше или ниже. Если поиск начинается со среднего элемента, то каждое обращение сужает зону поиска в 2 раза. Если файлы отсортированы по алфавиту, то при поиске производится сравнение начальных букв.
    1   2   3   4   5   6   7


    написать администратору сайта