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
$MFTmirr копия первых 16 записей MFT, размещенная посередине диска
$LogFile файл поддержки журналирования
$Volume служебная информация - метка тома, версия файловой системы, т.д.
$AttrDef список стандартных атрибутов файлов на томе
$. корневой каталог
$Bitmap карта свободного места тома
$Boot загрузочный сектор (если раздел загрузочный)
$Quota файл, в котором записаны права пользователей на использование дискового пространства (начал работать лишь в NT5)
$Upcase файл - таблица соответствия заглавных и прописных букв в имен файлов на текущем томе. Нужен в основном потому, что в NTFS имена файлов записываются в Unicode, что составляет 65 тысяч различных символов, искать большие и малые эквиваленты которых очень нетривиально.

Файлы и потоки.Итак, у системы есть файлы – и ничего кроме файлов. Что включает в себя это понятие на NTFS?

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

Каждый файл на NTFS, в общем-то, имеет несколько абстрактное строение - у него нет как таковых данных, а есть опциональные элементы – потоки (streams). Только один из потоков носит привычный смысл – данные файла. Но большинство атрибутов файла - тоже потоки! Таким образом, получается, что базовая сущность у файла только одна - номер в MFT, а всё остальное опционально. Данная абстракция может использоваться для создания довольно удобных вещей - например, файлу можно «прилепить» еще один поток, записав в него любые данные - например, информацию об авторе и содержании файла, как это сделано в Windows 2000. Интересно, что эти дополнительные потоки не видны стандартными средствами: наблюдаемый размер файла – это лишь размер основного потока, который содержит традиционные данные. Можно, к примеру, иметь файл нулевой длинны, при стирании которого освободится 1 Гбайт свободного места - просто потому, что какая-нибудь хитрая программа или технология прилепила в нему дополнительный поток (альтернативные данные) гигабайтового размера. Итак, файл на NTFS - это более глубокое и глобальное понятие, чем можно себе вообразить просто просматривая каталоги диска.

Имя файла может содержать любые символы, включая полый набор национальных алфавитов, так как данные представлены в Unicode - 16-битном представлении, которое дает 65535 разных символов. Максимальная длина имени файла - 255 символов.

Каталоги.Каталог на NTFS представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT, который уже предоставляет полную информацию об элементе каталога. Внутренняя структура каталога представляет собой бинарное дерево. Вот что это означает: для поиска файла с данным именем в линейном каталоге, таком, например, как у FAT-а, операционной системе приходится просматривать все элементы каталога, пока она не найдет нужный. Бинарное же дерево располагает имена файлов таким образом, чтобы поиск файла осуществлялся более быстрым способом – с помощью получения двухзначных ответов на вопросы о положении файла. Вопрос, на который бинарное дерево способно дать ответ, таков: в какой группе, относительно данного элемента, находится искомое имя – выше или ниже? Мы начинаем с такого вопроса к среднему элементу, и каждый ответ сужает зону поиска в среднем в два раза. Файлы, скажем, просто отсортированы по алфавиту, и ответ на вопрос осуществляется очевидным способом – сравнением начальных букв. Область поиска, суженная в два раза, начинает исследоваться аналогичным образом, начиная опять же со среднего элемента.

Вывод – для поиска одного файла среди 1000, например, FAT придется осуществить в среднем 500 сравнений (наиболее вероятно, что файл будет найден на середине поиска), а системе на основе дерева – всего около 10-ти (2^10 = 1024). Экономия времени поиска налицо.

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

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

Пример 2: более сложный случай - идет запись данных на диск. Вдруг, бах - отключается питание и система перезагружается. На какой фазе остановилась запись, где есть данные, а где чушь? На помощь приходит другой механизм системы - журнал транзакций. Дело в том, что система, осознав свое желание писать на диск, пометила в метафайле $LogFile это свое состояние. При перезагрузке это файл изучается на предмет наличия незавершенных транзакций, которые были прерваны аварией и результат которых непредсказуем - все эти транзакции отменяются: место, в которое осуществлялась запись, помечается снова как свободное, индексы и элементы MFT приводятся в с состояние, в котором они были до сбоя, и система в целом остается стабильна.

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

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

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

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

Новые файловые системы имеют многоуровневую структуру, на верхнем уровне которых располагается переключатель файловых систем, который называется устанавливаемым диспетчером файловой системы – installable filesystem manager (IFS). Он обеспечивает интерфейс между запросами приложения и конкретной файловой системой, к которой оно обращается. Переключатель файловых систем преобразует запросы в формат, воспринимаемый следующим уровнем - уровнем файловых систем.

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

Основные понятия ОС Windows

В ОС Windows приложения, папки, документы рассматриваются как объекты, поэтому пользователю предоставляется возможность так называемого объектно-ориентированного подхода.

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

Ознакомиться со свойствами любого объекта, а также выполнить над ним разрешенные для него операции можно, вызвав контекстное меню.

Базовые понятия ОС Windows:

1. Документ – любой файл, созданный пользователем.

2. Инструмент – программа, с помощью которой создаются и редактируются документы пользователя.

3. Папка – служит для упорядочения хранения документов (аналог каталога в MS DOS). Папка как и каталог может содержать вложенные папки.

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

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

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

7. Рабочий стол – скрытая папка \Windows\Рабочий стол - абсолютно чистым быть не может. Как правило, на рабочем столе располагаются специальные папки «Мой компьютер», Корзина, Мои документы и «Сетевое окружение». На рабочем столе целесообразно создавать ярлыки для быстрого доступа к дискам, папкам и документам наиболее часто используемым.

8. Командный центр. В Windows9x их несколько. Это специальные прикладные и управляющие программы.

- панель задач (кнопка «Пуск»-программы, документы, настройка, справка, выполнить, остановка и завершение работы; кнопки всех открытых папок и программ);

- мой компьютер (средство, позволяющее получить сведения о составе компьютера, дисках, папках);

- принтеры;

- панель управления;

- сетевое окружение (средство, обеспечивающее быстрый доступ к сетевым ресурсам – дискам, принтерам, общим для всех компьютеров сети)

Элемент управления – стандартный объект, используемый ОС для ввода разного рода информации.

Основные элементы управления для Windows:

1. Меню. Это набор всевозможных команд, из которых надо выбрать одну. Пример – главное меню Windows, появляющееся после нажатия кнопки ПУСК. Меню представляет собой перечень команд, из которых необходимо сделать выбор. Выбор команды осуществляется кнопкой мыши и щелчком. Обычно это приводит к выполнению определенной команды. Все меню обладают общими свойствами : могут иметь несколько уровней (меню, подменю), могут иметь недоступные для выполнения пункты (блеклые), могут иметь пункты, при выборе которых открываются диалоговые панели (эти пункты имеют названия, которые оканчиваются многоточием)

2. Окна. Существуют два типа окон – окна приложений и окна документов.

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

- рабочая область – внутренняя часть окна;

- границы – рамка, ограничивающая окно, размеры окна можно изменить;

- заголовок – строка над верхней границей окна;

- строка горизонтального меню – располагается под заголовком, содержит пункты меню;

- панель инструментов, располагается под строкой меню, представляет собой набор кнопок, обеспечивает быстрый доступ к некоторым командам;

- кнопки свернуть, развернуть, закрыть расположены в верхней правой части окна.

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

3. Диалоговые окна. Используются для проведения настроек и задания различных параметров программ. В диалоговых окнах содержатся разнообразные элементы управления.

4. Командная кнопка. При ее нажатии исполняется некая команда. Для работы с кнопками используют мышь. Простой щелчок мышью используют для работы с элементами управления, двойной щелчок – для работы с объектами (значками и папками). Щелчок правой (дополнительной) кнопкой мыши применяется для доступа к свойствам объектов, при этом раскрывается контекстное меню.

5. Списки представляют собой набор предлагаемыхна выбор значений.

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

6. Поле ввода. Например, ввод текущего года. Еще этот элемент управления называют текстовым полем. Оно позволяет вводить текстовую информацию.

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

8. Стандартные командные кнопки. Автор программы может создавать любые кнопки, но есть несколько общепринятых кнопок: OK (для ввода сделанных настроек и закрытия диалогового окна), ПРИМЕНИТЬ (чтобы сохранить настройки, но не закрывать окно), ОТМЕНА ( для отмены всех сделанных настроек и закрытия окна).

9. Вкладки. В диалоговом окне может быть так много элементов управления, что они в нем не поместятся. В таких случаях окно составляют из нескольких страниц-вкладок. У вкладок есть корешки. Чтобы открыть другую страницу диалогового окна, надо просто щелкнуть на ее корешке левой кнопкой мыши. Например, выбрали пункт меню Найти\Файлы и папки… Появится диалоговая панель, которая содержит три вкладки : Имя и местоположение, Дата, Дополнительно.

10.Флажки. Это элементы управления, имеющие два состояния. Они позволяют пользователю делать нужный выбор параметров. Флажки можно использовать группами, тогда они позволяют выбрать несколько вариантов из одного списка. Раскрывающийся список не дает такой возможности.

11. Переключатели. Похожи на флажки, тоже имеют два состояния – включено, выключено. Но один из переключателей включен всегда. Когда включается другой переключатель, предыдущий выключается.

12. Контекстное меню. На Рабочем столе Windows располагаются значки программ, документов, папок – все это объекты Windows, включая сам Рабочий стол. У каждого объекта есть индивидуальные свойства ( к примеру, названия, значки и др.).Если щелкнуть правой кнопкой мыши по свободному месту Рабочего стола, раскроется контекстное меню. Оно содержит команды, относящиеся именно к тому объекту, на котором произошел щелчок.

13. Движок (ползунок). Его перемещают методом перетаскивания при нажатой левой кнопке. Позволяет плавно изменять значение параметра (например громкость).

14. Полоса прокрутки. Если в окне содержится так много данных, что они в него не помещаются, в окне образуются полосы прокрутки, с помощью которых можно «прокручивать» содержимое окна.

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

Таблица, в которой перечислены английские названия некоторых элементов управления:

Элемент управления Control
Кнопка Button
Меню Menu
Список Listbox
Раскрывающийся список ComboBox
Диалоговое окно Dialog box, Dialog
Полоса прокрутки Scrollbar
Флажок Checkbox
Переключатель Option
Корешок вкладки Tab
Текстовое поле Text box
Надпись Label
Движок Slider
Список дисков DriveListBox
Список каталогов Directory List Box
Список файлов File List Box

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

Особенности ОС Windows:

1. Ориентирование на неподготовленного пользователя (простота работы в операционной среде;

2. Единый пользовательский интерфейс

3. Оптимальное управление оперативной памятью;

4. Возможность подключать новые внешние устройства без перенастройки ОС;

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

6. возможность использовать в конкретной программе объекты, созданные средствами другой программы;

7. Совместимость с MS DOS;

8. Возможность одновременно выполнять несколько приложений и легко переключаться с одной программы на другую;

9. Возможность использовать анимацию, мультимедиа и многое другое;

10. Поддержка масштабируемых шрифтов (используются не растровые, а векторные шрифты).

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

12. Средства обмена данными. Существует 3 способа:

ü общий буфер обмена Clipboard - одна программа помещает данные в буфер, а другие могут ее использовать (Копировать CTRL+Insert, Вставить SHIFT+Insert).

ü динамический обмен данными (DDE) – одна из программ использует данные из другой программы, например, в текстовый редактор вставляются диаграммы из табличного процессора, причем исходные данные в любой момент можно обновить.

ü технология OLE (Object Linking and Embedding). Этот механизм связи и внедрения объектов представляет собой набор стандартов и программ, предназначенных для одновременной работы с одной и той же информацией в разных файлах..

13. Встроенные средства поддержки работы в локальных сетях и сетях Internet;

 

Динамический обмен данными DDE (Dinamic Data Exchange) – средство непосредственного обмена данными между приложениями. Имеется 3 категории технологии DDE:

ü конвертирование, т.е. изменение формата документа (например, формата .txt в формат .doc.).

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

.dbf ® .xls

.mdb ® .txt

ü динамический обмен данными – разработанный фирмой Microsoft набор специальных соглашений (протоколов) об обмене данных между приложениями фирмы Microsoft. Например, письма Word рассылаются по адресам, которые берутся из базы данныхAccess.

Технология OLE (Object Linking and Embedding) – связь и внедрение объектов. В одном документе можно объединить объекты разного происхождения. (текст, фото, музыка) – такие документы называют составными. Причем, после внедрения докуменат из другого приложения, остается возможность редактировать этот объект средствами родного приложения. Таким образом, если установлена связь, то этот объект как бы будет «жить» своей жизнью. Например, в документ Word внедрен объект Visio. При щелчке дважды мышью на этом объекте, открывается приложение, в котором создан этот объект, т.е. Visio. Закрыв Visio, мы снова попадаем в Word. Документ Word при этом называют клиентом OLE или приложением-приемником, а объект Visio – сервером OLE или приложением-источником. Связать и внедрить объект по технологии OLE можно одним из следующих способов:

1. Через буфер обмена командой ПРАВКА\СПЕЦИАЛЬНАЯ ВСТАВКА.

2. Командой приложения ВСТАВКА\ОБЪЕКТ (например, формулы можно вставить через объект Microsoft Equation 3.0.

3. Просто перетащить по технологии Drag-and-Drop.

Для возврата в OLE-клиент достаточно щелкнуть мышью вне созданного объекта.

 








Дата добавления: 2015-01-29; просмотров: 4277;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.026 сек.