Файловые операции над массивами и структурами реферат

Обновлено: 30.06.2024

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

Размер может быть задан только целой положительной константой или

Определение одномерного массива:

тип имя [размер массива];

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

Программирование – лекция 12 (лекции Стрикелевой Л.В.)

extern int array[ ];

К отдельному элементу массива можно обратиться при помощи переменной с индексом: имени массива (единого для всех элементов) и одного или нескольких индексов, в зависимости от размерности массива. Индекс может меняться от 0 до n-1 , где n – количество элементов массива, его размер. Максимальный индекс элемента всегда на 1 меньше размера массива.

char buffer[81]; //массив состоит из элементов buffer[0], … buffer[80] типа char; int key[4]; //массив состоит из элементов key[0], … key[3] типа int;

float a[10]; //массив состоит из элементов key[0], … key[3] типа float;

Доступ к элементу массива:

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

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

Если элементов в массиве больше, чем инициализаторов , элементы, для которых

значения не указаны, обнуляются:

// массив целых значений, занимает 5*4=20 байтов

// массив занимает 10*4=40 байтов

// массив вещественных значений занимает 5*8=40 байтов

// массив символов, занимает 3 байта

Если элементов в массиве меньше, чем инициализаторов , то определение массива будет ошибочным:

double B[]; //ошибка в определении – нет размера double B[3]=;//ошибка инициализации

Для статических или внешних массивов компилятор выполняет инициализацию по умолчанию (всем элементам присваиваются нулевые значения).

Наиболее часто массив используется для хранения значений векторов. Например, структура из трех значений типа float, проиндексированных заданным диапазоном целых чисел от 0 до 2 объявляется записью: float V [3];

В памяти элементы V[0], V[1], V[2] располагаются последовательно:

Адрес массива в памяти совпадает с адресом его первого элемента (элемента со значением индекса равным левой границе диапазона индексов).

Программирование – лекция 12 (лекции Стрикелевой Л.В.)

Любой полином можно описать массивом его коэффициентов a 0 , a 1 , … , a k-1 , a k , в котором роль индекса играет степень переменной х: a[0], a[1], …a[k-1], a[k].

В качестве характеристик массива выступают:

 Тип – общий тип элементов массива.

 Размерность – количество индексов массива (a[10] – одномерный массив; b[3][5] – двухмерный массив; с[2][3][5] – трехмерный и т.д.)

 Размер (количество элементов) по каждой из размерностей.

Тип компонентов. Тип индексов

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

Пример использования при определении массива предварительно определенных констант:

Операции над массивами

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

Наиболее часто при работе с массивами решаются следующие типы задач:

1. анализ массива (всего или части) для нахождения некоторой его характеристики;

2. поиск в массиве, т.е. определение элемента (первого, последнего, всех) с некоторым условием и нахождение его индекса;

3. построение массива по некоторому правилу, используя индексы, числа или массивы;

4. преобразование массива (изменение значения, перестановка элементов, добавление или удаление элементов и т.п.);

5. сортировка массива по некоторому критерию;

6. вывод массива в специальном виде.

Рассмотрим более подробно работу с массивами.

Инициализация массива – присваивание каждому элемента массива значения, соответствующего базовому типу. Возможна явная инициализация массивa только при его

Программирование – лекция 12 (лекции Стрикелевой Л.В.)

Размер массива указывать необязательно (компилятор вычислит его по количеству инициализирующих значений):

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

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

Так как все элементы массива имеют одинаковый размер, то количество элементов в массиве позволяет определить выражение:

sizeof ( имя_массива ) / sizeof ( имя_массива[0] ).

Ввод массива реализуется вводом в цикле значений его элементов. При этом размер массива задается константой, например:

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

Содержание

Введение 3
Файловая система 4
Понятие файлов 4
Типы файлов 4
Файловые операции 5
Понятие файловой системы 6
Структура файловой системы 6
Обслуживание файловой структуры 7
Создание и именование файлов 7
Создание каталогов (папок) 8
Копирование и перемещение файлов 8
Удаление файлов и каталогов (папок) 8
Навигация по файловой структуре 8
Управление атрибутами файлов 9
Программы для работы с файловой системой 9
Проводник Windows 9
Папки 10
Файловые менеджеры 10
Обслуживание файловой системы 11
Заключение 12
Список литературы 13

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

Контрольная работа по информатике 10 вариант.docx

Министерство образования Республики Беларусь

Белорусский национальный технический университет

студент 1 курса группы 101041-12

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

Понятие файлов 4

Файловые операции 5

Понятие файловой системы 6

Структура файловой системы 6

Обслуживание файловой структуры 7

Создание и именование файлов 7

Создание каталогов (папок) 8

Копирование и перемещение файлов 8

Удаление файлов и каталогов (папок) 8

Навигация по файловой структуре 8

Управление атрибутами файлов 9

Программы для работы с файловой системой 9

Проводник Windows 9

Файловые менеджеры 10

Обслуживание файловой системы 11

Список литературы 13

Введение

В данной работе рассматривается актуальная на данный момент тема работы с файловой системой.

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

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

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

На основе нижеизложенной информации будет составлена общая методика работы с файловыми системами.

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

Понятие файлов

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

В зависимости от файловой системы, файл может обладать различными свойствами

Типы файлов

Файлы бывают разных типов: обычные файлы, специальные файлы, файлы-каталоги.

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

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

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

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

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

Файловые операции

Понятие файловой системы

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

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

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

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

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

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

Обслуживание файловой структуры

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

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

Что такое файловая система ………………………………. 2

Определение файловой системы .……………. ……. ……3

Распространенные файловые системы ………………..……3

Файловая система FAT …………………………..…. …..4

Обзор файловой системы FAT…………………. ………..4

Имена файлов в FAT………………………. ………. 5

Недостатки файловой системы FAT ………………. ………6

Файловая система FAT 32 ……………………………. ….6

Файловая система HPFS ……………………. ………. …….8

Обзор файловой системы HPFS ………………. …………. …8

Преимущества HPFS ……………………. ……………..…. 11

Файловая система NTFS .…………………………..………..…11

Обзор файловой системы NTFS .…………………. ………….11

Дополнительные функции ………………. ……..………… 12

Устранение ограничений …………………..…….………….. 13

Соглашение именований в NTFS ………..…….………….…. 14

В настоящее время на одном диске в среднем записывается несколько десятков тысяч файлов. Как разобраться во всем этом многообразии с тем, чтобы точно адресоваться к файлу? Назначение файловой системы – эффективное решение, указанной задачи.

Информация на файловых систем.

Что такое файловая система

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

Определение файловой системы

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

Файловая система определяет:

- как хранятся файлы и каталоги на диске;

- какие сведения хранятся о файлах и каталогах;

- как можно узнать, какие участки диска свободны, а какие – нет;

- формат каталогов и другой служебной информации на диске.

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

Распространенные файловые системы

Поскольку на IBM PC – совместимых компьютерах информация храниться в основном на дисках, то применяемые на них файловые системы определяют организацию данных именно на дисках (точнее, на логических дисках). Мы рассмотрим четыре файловые системы – FAT, FAT 32, HPFS, NTFS.

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

ОБЗОР ФАЙЛОВОЙ СИСТЕМЫ FAT

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

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

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

Имена файлов в FAT

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

CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL

Все символы образуются в верхний регистр.

Преимущества файловой системы FAT

На компьютере под управлением Windows NT в любой из поддерживаемых файловых систем нельзя отменить удаление. Программа отмены удаления пытается напрямую обратиться к оборудованию, что невозможно при использовании Windows NT. Однако если файл находился в FAT-разделе, то, запустив компьютер в режиме MS-DOS, удаление файла можно отменить. Файловая система FAT лучше всего подходит для использования на дисках и разделах размером до 200 МБ, потому что она запускается с минимальными накладными расходами.

Недостатки файловой системы FAT

Как правило, не стоит использовать файловую систему FAT для дисков и разделов, чей размер больше 200 МБ. Это объясняется тем, что по мере увеличения размера тома производительность файловой системы FAT быстро падает. Для файлов, расположенных в разделах FAT, невозможно установить разрешения.

Разделы FAT имеют ограничение по размеру: 4 ГБ под Windows NT и 2 ГБ под MS-DOS.

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

Для работы с большими дисками была разработана новая файловая система FAT32. Microsoft впервые представляет файловую систему FAT32 в операционной системе Windows 95 OSR2. В этой ФС, как следует из названия разрядность указателя на кластер увеличивается до 32 бит, что значительно увеличивает количество поддерживаемых кластеров, и, следовательно, позволяет уменьшить их размер. Вы видите, что разрядность указателя составляет 32 бита и, даже используя кластер 512 байт, эта файловая система может поддерживать диски в 127,9 Гбайт. А при использовании кластера 32 Кбайт она может поддерживать диски до 2 Тбайт.

На первый взгляд может показаться, что теперь можно использовать кластер размеров в один блок (512 байт), уменьшив тем самым потери в хвостах файлов почти до нуля, но использование таких малых кластеров все же не выгодно из соображений производительности. Вы помните, что информация о расположении файла по кластерам содержится в FAT таблице. Чем меньше размер кластера, тем больше кластеров займет файл и тем больше записей появится в таблице и соответственно тем дольше будет происходить считывание информации о расположении файла при доступе к нему.

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

Быстродействие системы FAT32 можно повысить, увеличив размер кластера. Увеличивая кластер в два раза, мы сокращаем область FAT тоже в два раза. В FAT32 это очень важная для быстродействия область занимает несколько Мбайт. Сокращение области FAT в несколько раз даст заметное увеличение быстродействия, так как объем системных данных файловой системы сильно сократится - уменьшится и время, затрачиваемое на чтение данных о расположении файлов. Обратная сторона – существенно возрастают потери дискового пространства.

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

Поскольку эта файловая система предназначалась для работы с большими дисками, давайте рассмотрим ее с этой стороны.

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

В Windows XP/2000 максимальный размер раздела, который можно отформатировать с помощью FAT32, равен 32 Гбайт, не смотря на теоретический предел в 4 Тбайт. Видимо, Microsoft нашла ту точку, дальше которой идти не имеет смысла. Несмотря на это, вы можете работать с разделами FAT32 более 32 Гбайт, если они были отформатированы с помощью другой ОС.

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

Корневой каталог в FAT32 больше не располагается в определенном месте, вместо этого хранится указатель на начальный кластер корневого каталога. В результате снимается ранее существовавшее ограничение на число записей в корневом каталоге.

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

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

ОБЗОР ФАЙЛОВОЙ СИСТЕМЫ HPFS

Записи в каталоге файловой системы HPFS содержат больше сведений, чем в FAT. Наряду с атрибутами файла здесь хранятся сведения о создании и внесении изменений, а также дата и время доступа. Записи в каталоге файловой системы HPFS указывают не на первый кластер файла, а на FNODE. FNODE может содержать данные файла, указатели на данные файла или другие структуры, указывающие на данные файла.

HPFS старается по возможности располагать данные файла в смежных секторах. Это приводит к повышению скорости последовательной обработки файла.

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

Кроме того, файловая система HPFS содержит два уникальных объекта данных.

Суперблок располагается в логическом секторе 16 и содержит указатель на FNODE корневого каталога. В этом кроется главная опасность использования HPFS: если сектор суперблока помечен как поврежденный, это приводит к потере всех данных раздела даже на неповрежденных участках диска. Для восстановления данных их необходимо скопировать на другой диск с неповрежденным сектором 16 и воссоздать суперблок. Это очень сложная задача.

Запасной блок

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

Примечание. Версия файловой системы HPFS, которая входит в состав Windows NT, не поддерживает технологию экстренного исправления.

Преимущества файловой системы HPFS

HPFS – оптимальный вариант файловой системы для использования с дисками размером 200–400 МБ.

Недостатки файловой системы HPFS

Дополнительные накладные расходы, связанные с использованием HPFS, снижают эффективность ее применения на дисках размером меньше 200 МБ. Кроме того, производительность также снижается при использовании дисков размером больше 400 МБ. При использовании HPFS под Windows NT нельзя установить параметры безопасности.

Файловая система HPFS поддерживается только операционной системой Windows NT версий 3.1, 3.5 и 3.51. Нельзя получить доступ к разделу HPFS с помощью Windows NT 4.0.

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

ОБЗОР ФАЙЛОВОЙ СИСТЕМЫ NTFS

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

Для обеспечения надежности файловой системы NTFS особое внимание было уделено трем основным вопросам: способности к восстановлению, устранению неустранимых ошибок одного сектора и экстренному исправлению.

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

Подобно версиям HPFS для OS/2, NTFS поддерживает экстренное исправление.

Дополнительные функции

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

Устранение ограничений

Во-первых, в NTFS значительно – до 2^64 байт (16 экзабайт или 18 446 744 073 709 551 616 байт) – увеличен допустимый раздел файлов и томов. В NTFS для решения проблемы фиксированного размера сектора снова применена концепция кластеров, ранее использованная в файловой системе FAT. Это было сделано для улучшения аппаратной независимости операционной системы Windows NT при ее использовании с жесткими дисками, изготовленными по другой технологии. Таким образом, была принята точка зрения, что деление диска на секторы размером 512 не всегда является оптимальным. Размер кластера определяется кратным числом единичных блоков жесткого диска. Кроме того, для задания имен файлов используется кодировка Юникод и наряду с длинными именами обеспечена поддержка формата 8.3.

Преимущества файловой системы FAT

NTFS лучше всего подходит для использования с томами размером более 400 МБ. С увеличением размера тома производительность файловой системы NTFS не падает, как у FAT.

Благодаря способности к восстановлению в NTFS отсутствует необходимость использования каких-либо программ восстановления диска.

Недостатки файловой системы NTFS

Из-за дополнительного расхода дискового пространства файловую систему NTFS не рекомендуется использовать с томами размером менее 400 МБ. Такой расход объясняется необходимостью хранения системных файлов NTFS (в разделе размером 100 МБ для этого требуется около 4 МБ).

В настоящее время NTFS не имеет встроенного шифрования файлов.

Следовательно, можно загрузить MS-DOS (или другую операционную

систему) и воспользоваться низкоуровневой программой редактирования диска для просмотра хранящихся в томе NTFS данных.

С помощью файловой системы NTFS нельзя форматировать дискеты. Windows NT форматирует дискеты с помощью FAT, так как объем служебной информации, необходимой для функционирования NTFS, не помещается на дискете.

Соглашения именования в NTFS

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

В настоящее время из командной строки можно задать имя файла длиной не более 253 символов.

Примечание. Особенности установленного оборудования могут наложить дополнительные требования на размер раздела в любой файловой системе. В частности, размер загрузочного раздела не может быть больше 7,8 ГБ, а таблица раздела ограничена

Cегодня в Windows применяются файловые системы: FAT, FAT32, HPFS и NTFS.

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

Область применения FAT32 на самом деле гораздо уже – эту файловую систему стоит применять, если Вы собираетесь получать доступ к разделам и с помощью Windows 9x и с помощью Windows 2000/XP. Но так как актуальность Windows 9x сегодня практически сошла на нет, то и использование этой файловой системы не представляет особого интереса.

Некоторые из возможностей, обеспечиваемых на сегодняшний день только файловой системой NTFS, перечислены ниже:

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

2). Встроенные средства восстановления данных; поэтому ситуации, когда пользователь должен запускать на томе NTFS программу восстановления диска, достаточно редки. Даже в случае краха системы NTFS имеет возможность автоматически восстановить непротиворечивость файловой системы, используя журнал транзакций и информацию контрольных точек.

3). Реализованная в виде бинарного-дерева структура папок файловой системы NTFS позволяет существенно ускорить доступ к файлам в папках большого объема по сравнению со скоростью доступа к папкам такого же объема на томах FAT.

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

Список литературы

1. Гук М. Аппаратные средства IBM PC: Бестселлер - 2-е изд.: Питер, 2005.

Урок 8.1.2. Операции над структурами

8.1.2. Операции над структурами

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

Название операции Знак операции
выбор элемента через имя (селектор) . (точка)
выбор элемента через указатель (селектор) -> (минус и знак больше)
присваивание =
взятие адреса &

1. Для получения доступа к элементу структурной переменной через ее имя используется символ точка, обозначающий операцию выбор поля структуры. Например, для структурных переменных pos, pos1 и массива pos2, описанных как

struct RECORD
< int num; /* Табельный номер */
char name[20]; /* Имя служащего */
float wage; /* Зарплата в месяц */
>;

struct RECORD pos, pos1, pos2[5];

pos.num осуществляет доступ к полю num структурной переменной pos, а pos1.num – то же поле, но в составе структурной переменной pos1. Эти элементы можно записывать в любых выражениях Cи, допускающих использование переменных целого типа, так как элемент num структурного шаблона RECORD имеет тип int:

pos.num=67;
if((pos.num (операция -> записывается как минус, за которым следует символ отношения больше ). Действие операции -> заключается в следующем:

Если P есть указатель на структурный тип и P содержит адрес переменной S такого же структурного типа, тогда обращение P-> относится к конкретному элементу структурной переменной S.

В условиях предыдущего описания данных и инициализации указателя получим обращения :
ptrw->num к элементу num структурной переменной w;
ptrw->name к элементу name структурной переменной w;
ptrw->wage к элементу wage структурной переменной w.

Обратим внимание на то, что в данном случае для обращения к элементу нельзя записать, например, ptrw.num, так как ptrw не является именем структурной переменной.

Рассмотрим второй способ. Второй способ обращения к элементу структурной переменной через ее указатель заключается в применении уже известной нам операции косвенной адресации. Суть состоит в следующем: поскольку ptrw является указателем на структурную переменную w, то, по определению операции косвенной адресации, использование выражения *ptrw равносильно использованию переменной w: и то и другое реализует обращение к одному и тому же полю памяти. Следовательно, (*ptrw).num представляет собой обращение к элементу num структурной переменной w. Скобки здесь обязательны, так как операция . (точка) имеет приоритет выше чем операция * (звездочка). Таким образом, обращения к полям переменной w можно переписать так:

(*ptrw).num к элементу num структурной переменной w;
(*ptrw).name к элементу name структурной переменной w;
(*ptrw).wage к элементу wage структурной переменной w.

Заметим, что первый способ более распространен, так более лаконечен и -> выполняет роль селектора при указателе на стктурную переменную.

5. Обращаться к полям структурной переменной можно и при помощи полей-функций. При этом функции имеют прямой доступ к полям структурной переменной, операцию селектор использовать не надо. Ниже приведен фрагмент программы, в которой поля–функции исполюзуются для печати значений перменной (функция print_rec()) и для изменения значения поля wage (функция wage_raise()).

Читайте также: