Программные средства реализации информационных процессов

Автор работы: Пользователь скрыл имя, 09 Декабря 2014 в 16:26, лекция

Краткое описание

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

Вложенные файлы: 1 файл

Lektsia_4 (1).docx

— 123.91 Кб (Скачать файл)

Физическая структура NTFS

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

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

Диск NTFS условно делится на две части. Первые 12% диска отводятся под так называемую MFT зону – пространство, в которое записывается Главная таблица файлов. Запись каких-либо данных в эту область невозможна. MFT-зона всегда держится пустой – это делается для того, чтобы самый главный, служебный файл (MFT) не фрагментировался при своем росте. Остальные 88% диска представляют собой обычное пространство для хранения файлов.

Примечание. Свободное место диска, однако, включает в себя всё физически свободное место – незаполненные куски MFT-зоны туда тоже включаются. Механизм использования 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

$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. Документ – любой файл, созданный пользователем.

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

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

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

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

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

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

Информация о работе Программные средства реализации информационных процессов