Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(4) Маленькая шпорка2.doc
Скачиваний:
72
Добавлен:
24.12.2018
Размер:
2.87 Mб
Скачать

5)Архитектура компьютера. Основные компоненты эвм - их роль и взаимодействие.

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

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

  • Перемещение данных без изменения их содержимого от одного абонента другому

  • Хранение данных при записи или выдаче данных из компьютера

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

  • Обработка данных поступающих от периферийных устройств с хранением результатов обработки в компьютере

Взаимодействовие компьютера с внешней средой подразделяется на две группы:

  • с локальными периферийными устройствами;

  • с устройствами передачи данных на расстоянии

Основной принцип построения ЭВМ

Основным принципом построения современных ЭВМ является программное управление. В основе его лежит представление алгоритма решения любой задачи в виде программы вычислений.

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

Программа (для ЭВМ) это упорядоченная последовательность команд, подлежащая обработке.

Архитектура универсальной ЭВМ фон Неймана предусматривается пять базовых компонентов:

1) Центральное арифметико-логическое устройство (АЛУ).

2) Центральное устройство управления (УУ), ответственное за функционирование всех основных устройств ЭВМ.

3) Запоминающее устройство (ЗУ).

4) Система ввода информации.

5) Система вывода информации

Компьютер может быть представлен четырьмя основными компонентами:

  • Центральный процессор (ЦП), который выполняет функции обработки информации и управляет действиями всей системы.

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

  • Устройства ввода-вывода для связи с внешней средой.

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

В центральном процессоре также можно выделить четыре компоненты.

  • Арифметическое и логическое устройство (АЛУ) для выполнения операций обработки.

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

  • Микропрограммное управления

  • Внутренние связи процессора.

6)Организация хранения данных во внешних магнитных дисках

7)Электронные компоненты, применяемые в эвм. Триггер. Регистр, мультиплексор, коммутатор, счетчик, сумматор, компаратор.

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

Классификация: Триггерные схемы классифицируют по следующим признакам:

  • способу приёма логических сигналов;

  • функциональным возможностям;

  • принципу построения;

  • числу устойчивых состояний (обычно устойчивых состояний два, реже - больше, см. троичный триггер, декатрон);

  • числу уровней — два уровня (высокий, низкий) в двухуровневых элементах, три уровня (положительный, ноль, отрицательный) в трёхуровневых элементах[2].[источник?]

По способу работы с сигналами различают синхронные, асинхронные и смешанные триггерные схемы.

Асинхронный триггер изменяет своё состояние непосредственно в момент появления соответствующего информационного сигнала. Синхронные триггеры реагируют на информационные сигналы только при наличии соответствующего сигнала на так называемом входе синхронизации С (от англ. clock). Этот вход также обозначают терминами «строб», «такт». Синхронные триггеры в свою очередь подразделяют на триггеры со статическим (статические) и динамическим (динамические) управлением по входу синхронизации С. Статические триггеры воспринимают информационные сигналы при подаче на вход С логической единицы (прямой вход) или логического нуля (инверсный вход). Динамические триггеры воспринимают информационные сигналы при изменении (перепаде) сигнала на входе С от 0 к 1 (прямой динамический С-вход) или от 1 к 0 (инверсный динамический С-вход). Статические триггеры в свою очередь подразделяют на одноступенчатые (однотактные) и двух-ступенчатые (двухтактные). В одноступенчатом триггере имеется одна ступень запоминания информации, а в двухступенчатом — две такие ступени. Вначале информация записывается в первую ступень, а затем переписывается во вторую и появляется на выходе. Двухступенчатый триггер обозначают ТТ.

По структурному построению — однотактные (триггеры защёлки), двухтактные и триггеры с динамическим управлением. По способу реакции на помехи — прозрачные и непрозрачные. Непрозрачные, в свою очередь, делятся на проницаемые и непроницаемые. По функциональному назначению — RS, D, JK, T, RR, SS, EE, DV.

При изготовлении триггеров применяются преимущественно полупроводниковые приборы (обычно полевые транзисторы), в прошлом — электронные лампы. В настоящее время логические схемы, в том числе с использованием триггеров, создают в интегрированных средах разработки под различные программируемые логические интегральные схемы (ПЛИС).

Используются в основном в вычислительной технике для организации компонентов вычислительных систем: в процессорах, регистров, счётчиков, ОЗУ.

По функциональным возможностям триггеры разделяют на следующие классы:

  • с раздельной установкой состояния 0 и 1 (RS-триггеры). Если триггер является синхронным — добавляется вход синхронизации C.;

  • универсальные (JK-триггеры);

  • с приёмом информации по одному входу D (D-триггеры, или триггеры задержки);

  • со счётным входом Т (Т-триггеры).

Каждый тип триггера имеет собственную таблицу работы (таблицу истинности). Выходное состояние триггера обычно обозначают буквой Q. Индекс возле буквы означает состояние до подачи сигнала (t) или после подачи сигнала (t+1).

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

Входы триггера: Входы триггеров обычно обозначают следующим образом:

  1. S (от англ. Set, установить) — вход в RS-триггере;

  2. R (от англ. Reset, сброс) — вход в RS-триггере;

  3. J (от англ. Jump[3], прыжок) — вход в JK-триггере;

  4. К (от англ. Kill, убить) — вход в JK-триггере;

  5. Т (от англ. Toggles, переключить) — счётный вход в Т-триггере;

  6. С (от англ. Clock, время) вход синхронизирующего сигнала. При тактировании по фронту он часто обозначается стрелкой: стрелка внутрь — тактирование по переднему фронту, наружу — по заднему.

  7. D (от англ. Delay, задержка) — вход в D-триггере;

  8. E или EN (от англ. Enable, разрешить) — дополнительный асинхронный управляющий вход для разрешения приёма информации (иногда используют букву V).

Входы J,К,Т,D всегда синхронные, т.е. тактируются по синхронизирующему сигналу на входе C. Разумеется, в каждом конкретном триггере имеются лишь некоторые из перечисленных входных линий. Входы S и R зачастую присутствуют не только в RS триггерах, но и в других типах триггеров, где предназначены, в основном, для асинхронного сброса устройства в 0 или установки в 1.

SR-триггер или RS-триггер

Одна из наглядных схем реализации асинхронного RS-триггера на базе двух элементов 2И-НЕ(NAND2)

RS-триггер или SR-триггер — триггер, который сохраняет своё предыдущее состояние при нулевых входах, и меняет своё выходное состояние при подаче на один из его входов единицы. При подаче единицы на вход S (от английского англ. Set - установить) выходное состояние становится равным логической единице. А при подаче единицы на вход R (от английского англ. Reset - сбросить) выходное состояние становится равным логическому нулю. Если RS-триггер синхронный, то состояние его входов учитывается только в момент тактирования, например по переднему фронту импульса. Состояние, при котором на оба входа R и S одновременно поданы логические единицы

S

R

Q(t)

Q(t+1)

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

0

1

0

0

1

1

0

1

1

1

1

0

*

1

1

1

*

является запрещённым. Так, например, схема RS-триггера изображённая на рисунке, при подаче на оба инверсных входа логиче

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

RS-триггер используется для создания сигнала с положительным и отрицательным фронтами, отдельно управляемыми посредством стробов, разнесённых во времени.

JK-триггер

Символ JK-триггера с дополнительными асинхронными входами S и R, аналогично представлению в среде разработки Altera Quartus

J

K

Q(t)

Q(t+1)

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

0

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

0

JK-триггер работает также как RS-триггер, с одним лишь исключением: при подаче логической единицы на оба входа J и K состояние выхода триггера изменяется на противоположное. Вход J (от англ. Jump - прыжок) аналогичен входу S у RS-триггера. Вход K (от англ. Kill - убить) аналогичен входу R у RS-триггера. При подаче единицы на вход J и нуля на вход K выходное состояние триггера становится равным логической единице. А при подаче единицы на вход K и нуля на вход J выходное состояние триггера становиться равным логическому нулю. JK-триггер в отличие от RS-триггера не имеет запрещённых состояний на основных входах, однако это никак не помогает при нарушении правил разработки логических схем. На практике применяются только синхронные JK-триггер, то есть состояния основных входов J и K учитываются только в момент тактирования, например по положительному фронту импульса на входе синхронизации.

На базе JK-триггера возможно построить D-триггер или Т-триггер. Как можно видеть в таблице истинности JK-триггера, он переходит в инверсное состояние каждый раз при одновременной подаче на входы J и K логической 1. Это свойство позволяет создать на базе JK-триггера Т-триггер, объединив входы J и К[4].

D-триггер

Символ D-триггера с дополнительными асинхронными входами S и R.

D

Q(t)

Q(t+1)

0

0

0

0

1

0

1

0

1

1

1

1

D-триггер (D от англ. delay - задержка) - запоминает состояние входа и выдаёт его на выход. D-триггеры имеют, как минимум, два входа: информационный D и синхронизации С. Сохранение информации в D-триггерах происходит в момент прихода активного фронта на вход С. Так как информация на выходе остаётся неизменной до прихода очередного импульса синхронизации, D-триггер называют также триггером с запоминанием информации или триггером-защёлкой. Рассуждая чисто теоретически, D-триггер можно образовать из любых RS- или JK-триггеров, если на их входы одновременно подавать взаимно инверсные сигналы.

D-триггер в основном используется для реализации защёлки. Так, например, для снятия 32 бит информации с параллельной шины, берут 32 D-триггера и объединяют их входы синхронизации для управления записью информации в защёлку, а 32 D входа подсоединяют к шине.

T-триггер

Работа схемы T-триггера (при T=1) на базе восьми 2И-НЕ логических вентилей. Слева — входы, справа — выходы. Синий цвет соответствует 0, красный — 1

T

Q(t)

Q(t+1)

0

0

0

0

1

1

1

0

1

1

1

0

Т-триггер по каждому такту изменяет своё логическое состояние на противоположное при единице на входе Т, и не изменяет выходное состояние при нуле на входе T. Т-триггер часто называют счётным триггером. Т-триггер может строиться как на JK, так и на D-триггерах. Как можно видеть в таблице истинности JK-триггера, он переходит в инверсное состояние каждый раз при одновременной подаче на входы J и K логической 1. Это свойство позволяет создать на базе JK-триггера Т-триггер, объединяя входы J и К. Наличие в D-триггере динамического С входа позволяет получить на его основе T-триггер. При этом вход D соединяется с инверсным выходом, а на вход С подаются счётные импульсы. В результате триггер при каждом счётном импульсе запоминает значение , то есть будет переключаться в противоположное состояние.

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

Регистр — последовательностное логическое устройство, используемое для хранения n-разрядных двоичных чисел и выполнения преобразований над ними.

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

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

Основой построения регистров являются D-триггеры.

Операции в регистрах

Типичными являются следующие операции:

  1. приём слова в регистр;

  1. передача слова из регистра;

  1. поразрядные логические операции;

  • сдвиг слова влево или вправо на заданное число разрядов;

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

  • установка регистра в начальное состояние (сброс).

Классификация регистров

Регистры классифицируются по следующим видам:

  • накопительные (регистры памяти, хранения);

  • сдвигающие.

В свою очередь сдвигающие регистры делятся:

  • по способу ввода-вывода информации:

• параллельные - запись и считывание информации происходит одновременно на все входы и со всех выходов;

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

• комбинированные;

  • по направлению передачи информации:

• однонаправленные;

• реверсивные.

  • по основанию системы счисления

• двоичные

• троичные

• десятичные

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

Аналоговые и цифровые мультиплексоры значительно различаются по принципу работы. Первые электрически соединяют выбранный вход с выходом (при этом сопротивление между ними невелико — порядка единиц/десятков ом). Вторые же не образуют прямого электрического соединения между выбранным входом и выходом, а лишь «копируют» на выход логический уровень ('0' или '1') с выбранного входа. Мультиплексоры сокращённо обозначаются как MUX (от англ. multiplexer), а также MS (от англ. multiplexer selector).

Обобщенная схема мультиплексора приведена на рис. 1. Мультиплексор MUX в общем случае можно представить в виде коммутатора, управляемого входной логической схемой. Входные логические сигналы Xi поступают на входы коммутатора и через коммутатор передаются на выход Y. Управление коммутатором осуществляется входной логической схемой. На вход логической схемы подаются адресные сигналы Ak (от англ. Address). Мультиплексоры могут иметь дополнительный управляющий вход E (от англ. Enable), который может выполнять стробирование выхода Y. Кроме этого, некоторые мультиплексоры могут иметь выход с тремя состояниями: два логических состояния 0 и 1, и третье состояние — отключённый выход (выходное сопротивление равно бесконечности). Перевод мультиплексора в третье состояние производится снятием управляющего сигнала OE (от англ. Output Enable).

Коммутатор - (новолат. commutator, от лат. commute — меняю, изменяю), переключатель, распределитель, устройство, обеспечивающее посредством включения, отключения и переключения выбор требуемой выходной цепи (цепей) и соединение с ней входной цепи (цепей).

Счётчик — устройство, на выходах которого получается двоичный (двоично-десятичный) код, определяемый числом поступивших импульсов. Счётчики могут строится на T-триггерах. Основной параметр счётчика — модуль счёта — максимальное число единичных сигналов, которое может быть сосчитано счётчиком. Счётчики обозначают через СТ (от англ. counter).

Счётчики классифицируют:

  • по модулю счёта:

    • двоично-десятичные;

    • двоичные;

    • с произвольным постоянным модулем счёта;

    • с переменным модулем счёта;

  • по направлению счёта:

    • суммирующие;

    • вычитающие;

    • реверсивные;

  • по способу формирования внутренних связей:

    • с последовательным переносом;

    • с параллельным переносом;

    • с комбинированным переносом;

    • кольцевые;

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

По числу входов и выходов одноразрядных двоичных сумматоров различают:

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

  • полусумматоры, характеризующиеся наличием двух входов, на которые подаются одноимённые разряды двух чисел, и двух выходов: на одном реализуется арифметическая сумма в данном разряде, а на другом - перенос в следующий (старший разряд);

  • полные одноразрядные двоичные сумматоры, характеризующиеся наличием трёх входов, на которые подаются одноимённые разряды двух складываемых чисел и перенос из предыдущего (более младшего) разряда, и двумя выходами: на одном реализуется арифметическая сумма в данном разряде, а на другом - перенос в следующий (более старший разряд).

По способу представления и обработки складываемых чисел многоразрядные сумматоры подразделяются на:

  • последовательные, в которых обработка чисел ведётся поочередно, разряд за разрядом, на одном и том же оборудовании;

  • параллельные, в которых слагаемые складываются одновременно по всем разрядам, и для каждого разряда имеется своё оборудование.

Компаратор (аналоговых сигналов) — электронная схема, принимающая на свои входы два аналоговых сигнала и выдающая логический «0» или «1», в зависимости от того, какой из сигналов больше.

Простейший компаратор представляет собой дифференциальный усилитель. Компаратор отличается от линейного операционного усилителя (ОУ) устройством и входного, и выходного каскадов:

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

  • Выходной каскад компаратора выполняется соместимым по уровням и токам с конкретным типом логических схем (ТТЛ, ЭСЛ и т.п.). Возможны выходные каскады на одиночном транзисторе с открытым коллектором (совместимость с ТТЛ и КМОП логикой).

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

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

8)Типы файловых систем внешних магнитных дисков Все пространство на диске разделено на секторы по 512 байт, и данные записываются посекторно.

Кластер представляет собой несколько секторов, расположенных последовательно, и операционная система считает кластер наименьшим адресуемым "кусочком" диска. На жестких дисках в кластере чаще всего от восьми до 64 секторов. Кластеры размером более чем в 16 секторов (8 килобайт) не позволяют экономно расходовать место на диске: из-за того, что размеры файлов обычно не кратны размеру кластера, в последнем кластере остается неиспользованное пространство. И чем больше размер кластера, тем больше места на диске тратится впустую. В предельном случае для сохранения файла размером один байт операционная система выделит на диске один кластер размером 32 килобайта. Метод организации секторов в кластеры, адресации этих кластеров, выделения их записываемым файлам и хранения информации о файлах, имеющихся на диске, называется файловой системой.

Windows 98 может использовать файловые системы трех типов: FAT 12, FAT 16 и FAT 32. FAT 12, как правило, используется только для дискет. FAT 16 использовалась для жестких дисков в ДОС и предыдущих версиях Windows. FAT 32 - это файловая система, появившаяся во второй исправленной версии Windows 95

Как влияет на работу системы размер кластера? Назначение кластеров - распределение места на диске.

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

При запросе на запись одного байта в кластер размером 32 КБ будет записан именно один байт. Но, поскольку диск читает или записывает сектор целиком, операционная система сначала прочитает этот сектор, затем исправит в нем требуемый байт и снова запишет сектор.

Размер кластера не влияет на количество прочитываемых/записываемых данных.

Что лучше: FAT 16 или FAT 32?

FAT 16: максимальный размер раздела - два гигабайта; при размере раздела свыше 512 мегабайт неэкономно расходует место на диске (из-за большого размера кластера); FAT 16 распознается и может использоваться практически всеми операционными системами, используемыми на ПК; позволяет уплотнять диск программой сжатия данных Drivespace; имеет корневой каталог фиксированного размера (512 записей).

FAT 32:работает чуть медленнее, чем FAT 16; позволяет создавать разделы размером до двух терабайт; диски почти любого размера может разбить на кластеры размером 4 КБ, уменьшая тем самым бесполезную трату места на диске; разделы с форматом FAT 32 нельзя уплотнить с помощью программы сжатия данных; старые версии ДОС и многие другие ОС не "видят" разделы с форматом FAT 32; корневой каталог является обычным каталогом, расширяемым по мере необходимости.

Файловая система NTFS NTFS - одна из самых сложных и удачных из существующих на данный момент файловых систем. Физическая структура NTFS

Максимальный размер раздела NTFS в данный момент ограничен лишь размерами жестких дисков.

Структура раздела - общий взгляд

Как и любая другая система, NTFS делит все полезное место на кластеры - блоки данных, используемые единовременно. NTFS поддерживает почти любые размеры кластеров - от 512 байт до 64 Кбайт, неким стандартом же считается кластер размером 4 Кбайт.

Диск NTFS условно делится на две части. Первые 12% диска отводятся под так называемую MFT зону - пространство, в которое растет метафайл MFT.

Запись каких-либо данных в эту область невозможна.

MFT-зона всегда держится пустой - для того, чтобы самый главный, служебный файл (MFT) не фрагментировался при своем росте.

Остальные 88% диска представляют собой обычное пространство для хранения файлов.

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

MFT и его структура

В файловой системе NTFS каждый элемент системы представляет собой файл - даже служебная информация.

Самый главный файл на NTFS называется MFT, или Master File Table - общая таблица файлов. Именно он размещается в MFT зоне и представляет собой централизованный каталог всех остальных файлов диска.

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

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

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

Метафайлы

Первые 16 файлов NTFS (метафайлы) носят служебный характер. Каждый из них отвечает за какой-либо аспект работы системы.

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

Метафайлы находятся корневом каталоге NTFS диска - и начинаются с символа имени "$", хотя получить какую-либо информацию о них стандартными средствами сложно. Любопытно, что и для этих файлов указан вполне реальный размер - можно узнать, например, сколько операционная система тратит на каталогизацию всего вашего диска, посмотрев размер файла $MFT.

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

Если для информации не хватает одной записи MFT, то используются несколько, причем не обязательно подряд.

Опциональный элемент - потоки данных файла. Может показаться странным определение "опциональный", но, тем не менее, ничего странного тут нет. Во-первых, файл может не иметь данных - в таком случае на него не расходуется свободное место самого диска. Во-вторых, файл может иметь не очень большой размер. Тогда идет в ход довольно удачное решение: данные файла хранятся прямо в MFT, в оставшемся от основных данных месте в пределах одной записи MFT.

Файлы, занимающие сотни байт, обычно не имеют своего "физического" воплощения в основной файловой области - все данные такого файла хранятся в одном месте - в MFT.

Каталоги

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

Для поиска файла с данным именем в линейном каталоге, таком, например, как у FAT-а, операционной системе приходится просматривать все элементы каталога, пока она не найдет нужный.

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

Сжатие

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

Журналирование

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