Аннотация: В настоящей лекции рассматриваются основные функции и интерфейс файловой системы NTFS. Файловая система решает задачи именования и типизации файлов, организации доступа к файлам, защиты, поиска файлов и ряд других. В системе на каждом разделе диска поддерживается иерархическая система каталогов. Для эффективного доступа к файлам могут быть организованы асинхронные чтение и запись
Введение
В большинстве компьютерных систем предусмотрены устройства внешней (вторичной) памяти большой емкости, на которых можно хранить огромные объемы данных. Чтобы повысить эффективность использования этих устройств, был разработан ряд специфичных для них структур данных и алгоритмов.
Ранее прикладная программа сама решала проблемы именования данных и их структуризации во внешней памяти. Это затрудняло поддержание на внешнем носителе нескольких архивов долговременно хранящейся информации. В настоящее время используются централизованные системы управления файлами . Система управления файлами берет на себя распределение внешней памяти, отображение имен файлов в адреса внешней памяти и обеспечение доступа к данным.
Расширение имени файла
Файловая система — это часть операционной системы, назначение которой состоит в том, чтобы организовать эффективную работу с данными, хранящимися во внешней памяти, и обеспечить пользователю удобный интерфейс при работе с такими данными. С точки зрения пользователя, файл — единица внешней памяти, то есть данные, записанные на диск , должны быть в составе какого-нибудь файла.
В ОС Windows поддерживается представление о файле как о неструктурированной последовательности байтов. Прикладная программа имеет возможность считывать эти байты в произвольном порядке. Обычно хранение файла организовано на устройстве прямого доступа в виде набора блоков фиксированного размера. Основная задача подсистемы управления файлами — связать символьное имя файла с блоками диска, которые содержат данные файла.
В данном курсе основное внимание будет сосредоточено на NTFS — базовой файловой системе ОС Windows . Вначале будет рассмотрен интерфейс , то есть вопросы структуры, именования, защиты файлов; операции над файлами; организация файлового архива при помощи каталогов. В следующей лекции будут проанализированы проблемы реализации файловой системы, способы выделения дискового пространства и связывания его с именем файла, обеспечение производительной работы файловой системы и ряд других вопросов, интересующих разработчиков системы.
Основные функции для работы с файлами
Предметное изучение интерфейса файловой системы лучше начать с описания простейшей программы чтения и записи в файл , которая использует основные ( CreateFile, ReadFile и WriteFile ) операции для работы с файлами.
Прогон программы чтения и записи в файл
Следующая программа открывает существующий файл, считывает из него 10 байтов с начала файла и записывает в файл фразу «some bytes to write», начиная с 11-й позиции. Для буфера выделяется память из стандартной кучи процесса (см. «Введение. Виртуальное адресное пространство процесса» ).
УРОК 22. Операционная система (7 класс)
Варианты использования различных комбинаций параметров функций CreateFile , ReadFile и WriteFile подробно описаны в MSDN. К счастью, большинство из них имеет вполне отчетливую мнемонику и не вызывает затруднений, см., например, текст программы. Назначение некоторых параметров будет уточняться в последующих разделах. Важным является то, что в случае успешного завершения функции CreateFile в системе создается объект «открытый файл», который управляет операциями, связанными с файлом, контролирует совместный доступ к файлу и содержит информацию, специфичную для данного объекта, например, указатель текущей позиции .
После приобретения некоторого опыта работы с основными функциями ввода-вывода перейдем к рассмотрению наиболее важных аспектов пользовательского интерфейса файловой системы.
Именование файлов
Имя любого абстрактного объекта — одна из его важнейших характеристик. Когда процесс создает файл , он дает ему имя. После завершения процесса файл продолжает существовать и через свое имя может быть доступен другим процессам. Для создания файла и присвоения ему имени в ОС Windows используют Win32-функцию CreateFile .
Имя файла задается параметром lpFileName — указателем на строку, заканчивающуюся нулем. В соответствии со стандартом POSIX ОС Windows оперирует длинными (до 255 символов) именами. Если быть более точным, максимальная длина полного имени файла при создании файла равна MAX_PATH . Значение MAX_PATH определено как 260 , но система позволяет преодолеть это ограничение и использовать имена файлов длиной до 32000 символов в формате Unicode.
В системе заложена возможность различать большие и маленькие буквы в названии файла ( значение FILE_FLAG_POSIX_SEMANTICS параметра dwFlagsAndAttributes функции CreateFile ). Однако пользоваться этим флагом не рекомендуется, поскольку многие приложения и поисковые программы эту возможность не учитывают, поэтому для них данный файл может быть недоступен.
Типы файлов
ОС Windows поддерживает типизацию файлов. Основные типы файлов: регулярные (обычные) файлы и директории (справочники, каталоги).
Обычные файлы содержат пользовательскую информацию. Директории — системные файлы, поддерживающие структуру файловой системы. В каталоге содержится перечень входящих в него файлов и устанавливается соответствие между файлами и их разнообразными атрибутами. Директории будут рассмотрены ниже.
Считается, что пользователь представляет файл в виде линейной последовательности байтов (притом, что реальное хранение файла во внешней памяти организовано совсем по -другому). Такое представление оказалось очень удобным и позволяет использовать абстракцию файла для организации межпроцессных взаимодействий , при работе с внешними устройствами, и т.д. Поэтому иногда к файлам приписывают другие объекты ОС, такие, как: физические и логические диски, последовательные и параллельные порты, каналы и др., которые создаются при помощи той же самой функции CreateFile . В этом случае параметр lpFileName определяет не только имя, но и тип объекта . Эти объекты рассматриваются в других разделах данного курса.
Далее речь пойдет, главным образом, об обычных файлах.
Прикладные программы, работающие с файлами, как правило, распознают тип файла по его имени в соответствии с общепринятыми соглашениями. Например, файлы с расширениями .c, .pas — текстовые файлы , хранящие программы на Си и Паскале, а файлы с расширениями .exe — исполняемые, и т.д. Связь имен с обрабатывающими программами реализована в реестре.
Атрибуты файлов
Кроме имени ОС часто связывает с каждым файлом и другую информацию, например, дату модификации, размер и т.д. Эти другие характеристики файлов называются атрибутами. В ОС Windows понятие атрибута трактуется шире. Считается, что файл — это не просто последовательность байтов, а совокупность атрибутов, и данные файла являются лишь одним из атрибутов — так называемый неименованный поток данных. Есть и другие (именованные) потоки данных , которые нужно указывать через двоеточие. Именованные потоки данных можно «увидеть» при помощи таких команд, как echo и more . Например, если выполнить следующие интерактивные команды
>Echo содержимое файла > MyFile:Stream1 >more < MyFile:Stream1
то на экране должны появиться слова «содержимое файла».
Вот далеко не полный перечень атрибутов файла в NTFS :
- Стандартная информация — флаговые биты (только чтение, архивный), временные штампы и т.д.
- Имя файла. Имя файла хранится в кодировке Unicode. Имена файлов могут повторяться в формате MS-DOS.
- Описатель защиты.
- Данные. Неименованный и именованные потоки данных.
- Список атрибутов — расположение дополнительных записей MFT , если одной записи о файле оказалось недостаточно.
- Идентификатор объекта — 64-разрядный идентификатор файла, уникальный для данного тома. Файл может быть открыт не по имени, а по этому идентификатору.
- Информация о точке повторного разбора (см. следующую лекцию), которая используется для символьных ссылок и монтирования устройств.
- Информация о томе.
- Информация об индексировании, используемая для каталогов.
- Данные EFS (Encryption File System), используемые для шифрования.
Имя файла тоже является одним из атрибутов. Атрибуты хранятся в виде пары: значение атрибута> в записи о файле в главной файловой таблице MFT (см. следующую лекцию).
Часть атрибутов файла можно определить при его создании (через параметры функции CreateFile ) или позже при помощи SetFileAttributes , сославшись на файл по имени. Можно также специфицировать атрибуты защиты файла при помощи параметра lpSecurityAttributes . Если же значение lpSecurityAttributes равно NULL , то соответствующие атрибуты файла будут содержать параметры так называемой стандартной защиты (подробнее об этом часть V).
В качестве примера рассмотрим простую программу, которая извлекает атрибуты указанного файла с помощью функции GetFileAttributes .
Прогон программы получения атрибутов файла
#include #include void main(void)
С помощью данной программы можно установить характер файла tmp (каталог, обычный файл или точка повторного разбора).
Рекомендуется самостоятельно написать программу, где применяется функция SetFileAttributes , например, устанавливается флаг «FILE_ATTRIBUTE_READONLY» для атрибутов указанного файла.
Организация файлов и доступ к ним. Понятие об асинхронном вводе-выводе
Для хранения файлов обычно используются устройства прямого доступа (диски), которые позволяют обращаться напрямую к любому блоку диска. Это обеспечивает произвольный доступ к байтам файла, поскольку номер блока однозначно определяется текущей позицией внутри файла.
Таким образом, файловая подсистема ОС Windows имеет дело с файлами, байты которых могут быть считаны в любом порядке. Такие файлы называется файлами прямого доступа. Непосредственное обращение к любому байту внутри файла предполагает наличие операции позиционирования, целью которой является задание текущей позиции для считывания или записи. Поскольку файл может иметь большой размер, указатель текущей позиции — 64-разрядное число, для задания которого обычно используются два 32-разрядных.
Известно, что операции ввода-вывода являются относительно медленными. Чтобы избавить центральный процессор от ожидания выполнения операции ввода-вывода, в системе организована обработка асинхронных событий, в частности, прерываний, для оповещения процессора о завершении операции ввода-вывода. Однако если на уровне ОС операции ввода-вывода являются асинхронными, на уровне пользовательской программы они еще долго оставались синхронными и блокирующими. В результате процесс, инициировавший операцию ввода-вывода, переходил в состояние ожидания. Примером синхронного ввода-вывода служит приведенный выше программный фрагмент, где операторы, следующие за вызовами функций ReadFile и WriteFile , не могут выполняться до тех пор, пока операция ввода-вывода не завершена.
Важным достижением разработчиков ОС Windows является предоставление пользователю возможности осуществлять асинхронные операции ввода-вывода наряду с традиционными синхронными. При этом процесс, инициирующий операцию ввода-вывода, не ждет ее окончания, а продолжает вычисления. В распоряжении пользователя имеются средства проконтролировать завершение операции ввода-вывода впоследствии. Асинхронный ввод-вывод позволяет создавать более эффективные приложения за счет планомерного использования ресурсов и в первую очередь — центрального процессора.
Источник: intuit.ru
Вопрос 7. Понятия файла и файловой системы. Имя, атрибуты и спецификация файла, типы файловых систем.
Файл — это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти.
Имя файла состоит из двух частей, разделенных точкой: собственно имя файла и расширение, определяющее его тип (программа, данные и т. д.). Собственно имя файлу дает пользователь, а тип файла обычно задается программой автоматически при его создании. Расширение файла — часть имени файла, отделённая самой правой точкой в имени.
При записи имени файла разрешается использовать только буквы английского алфавита и цифры. Начинаться имя должно с буквы. Пробелы и знаки препинания не допускаются, за исключением восклицательного знака (!), тильды (~) и символа подчеркивания (_).
После введения в действие операционной системы Windows 95 требования к именам файлов стали существенно мягче. Они действуют и во всех последующих версия операционных систем Windows.
1. Разрешается использовать до 255 символов.
2. Разрешается использовать символы национальных алфавитов, в частности русского.
3. Разрешается использовать пробелы и другие ранее запрещенные символы, за исключением следующих девяти: /:*?»<>|.
4. В имени файла можно использовать несколько точек. Расширением имени считаются все символы, стоящие за последней точкой.
Роль расширения имени файла чисто информационная, а не командная. Если файлу с рисунком присвоить расширение имени ТХТ, то содержимое файла от этого не превратится в текст. Его можно просмотреть в программе, предназначенной для работы с текстами, но ничего вразумительного такой просмотр не даст.
Файловая система. На каждом носителе информации (гибком, жестком или лазерном диске) может храниться большое количество файлов. Порядок хранения файлов на диске определяется установленной файловой системой.
Файловая система — это система хранения файлов и организации каталогов. Она определяет формат физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имени файла, максимальный возможный размер файла, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.
Для дисков с небольшим количеством файлов (до нескольких десятков) удобно применять одноуровневую файловую систему, когда каталог (оглавление диска) представляет собой линейную последовательность имен файлов. Для отыскания файла на диске достаточно указать лишь имя файла. Такая одноуровневая схема использовалась в первых версиях MS-DOS. Сегодня её можно встретить, например, в некоторых цифровых фотоаппаратах: все сделанные фотографии складываются в один каталог.
Если на диске хранятся сотни и тысячи файлов, то для удобства поиска файлы организуются в многоуровневую иерархическую файловую систему, которая имеет «древовидную» структуру (имеет вид перевернутого дерева).
В таком случаи файлы на дисках объединяются в каталоги. Начальный, корневой, каталог содержит вложенные каталоги 1-го уровня, в свою очередь, в каждом из них бывают вложенные каталоги 2-го уровня и т. д. Необходимо отметить, что в каталогах всех уровней могут храниться и файлы. В Windows каталоги называются папкам
Атрибуты файла устанавливаются для каждого файла и указывают системе, какие операции можно производить с файлами. Существует четыре атрибута:
— только чтение (R);
Атрибут файла «Только чтение»
информатика 7 класс
Учащиеся 7 Б класса вопросы выставлены с ответами для анализы выполненной работы
1 Файл это:
-область хранения данных на диске
-программа или данные, хранящиеся в долговременной памяти
-программа или данные, имеющие имя и хранящиеся в оперативной памяти
+программа или данные, имеющие имя и хранящиеся в долговременной памяти
2
Имя файла состоит из двух частей:
-адреса первого сектора и объёма файла
+имени и расширения
-области хранения файлов и каталога
-имени и адреса первого сектора
3
Имя файлу даёт:
-операционная система
-процессор
-программа при его создании
+пользователь
4
Расширение файлу присваивает:
+программа при его создании
-процессор
-пользователь
-операционная система
5
Имя файла может включать до
-16 символов
-254 символов
-256 символов
+255 символов
6
В процессе форматирования диск разбивается на две области:
-имя и расширение
— область хранения и каталог
— оперативную и кэш-память
+ сектора и дорожки
7
Путь к файлу
— начинается с логического имени диска, затем записывается нужный файл , за-тем последовательность имён вложенных друг в друга папок
— начинается с последовательности имён вложенных друг в друга папок, в последней из которых находится нужный файл, затем записывается логическое имя диска,
— начинается с последней папки, в которой находится нужный файл, затем за-писывается логическое имя диска
+ начинается с логического имени диска, затем записывается последовательность имён вложенных друг в друга папок, в последней из которых находится нужный файл
8
Выберите правильное имя файла
— 3:LIST.EXE
— IN3:.TXT
+12345.BMP
— SPRAVKI
9
Операционная система относится к
— к программам – оболочкам
+ к системному программному обеспечению
— к прикладному программному обеспечению
— приложениям
10
Где хранится выполняемая в данный момент программа и обрабатываемые данные
— во внешней памяти
-в процессоре
+ в оперативной памяти
— на устройстве вывода
11
Каталогом называется место на диске, имеющее имя и содержащее
— Список программ, составленных пользователем
-файлы и другие каталоги
— только определённые файлы
+ информацию о файлах (имя, расширение, дата последнего обновления)
12
Начальная загрузка операционной системы осуществляется
— клавишами ALT+DEL
-клавишами CTRL+DEL
+ при включении компьютера
— клавишей DEL
13
Операционная система это:
— техническая документация компьютера
— совокупность устройств и программ общего пользования
— совокупность основных устройств компьютера
+комплекс программ, организующих управление работой компьютера и его взаи-модействие с пользователем
14
Имя логического диска обозначается
— цифрами
-буквами и цифрами
-русскими буквами
+латинскими буквами
15
Корневой каталог – это
+ первый верхний
— самый нижний
— самый главный
— самый большой
16
Путь к файлу не включает .
— имя диска
-имя каталога
+ команду
— :
17
Состояние операционной системы, при котором она перестает выдавать результаты и реагировать на запросы. — это ..
-отключение принтера
-зацикливание
— отключение монитора
+ зависание
18
В процессе загрузки операционной системы происходит:
— копирование файлов операционной системы с гибкого диска на жёсткий диск
— копирование файлов операционной системы с CD – диска на жёсткий диск
+ последовательная загрузка файлов операционной системы в оперативную память
— копирование содержимого оперативной памяти на жёсткий диск.
19
Приложение — это
-пользователь, который решает свои прикладные задачи
— программа, с помощью которой операционная система решает свои приклад-ные задачи
— устройства, с помощью которых пользователь решает свои прикладные задачи
+ программа, с помощью которой пользователь решает свои прикладные задачи
20
Приложение функционирует под управлением
— оперативной памяти
— процессора
+ операционной системы
— пользователя
21
К приложениям общего назначения не относятся:
— графические редакторы
+ пользовательские редакторы
— звуковые редакторы
— текстовые редакторы
22
Под расширение отводится
— 4 символа
— 2 символа
+ 3 символа
— 5 символов
23
Для того, чтобы на диске можно было хранить файлы, диск должен быть предварительно:
— скопирован
+ отформатирован
-дефрагментирован
-почищен
24
Графический интерфейс —
Выберите один из 3 вариантов ответа:
-совокупность средств и правил, которые обеспечивают взаимодействие устройств, программ и человека
— комплекс программ, обеспечивающих взаимодействие пользователя и компьютера
+ интерфейс, в котором для взаимодействия человека и компьютера применяются графические средства
25
Обработка информации происходит в
+процессоре
— мониторе
-клавиатуре
-принтере
— сканере
26
Устройства, работающие с текстовой информацией
+принтер, сканер, клавиатура, монитор
-принтер, сканер,наушники, системный блок
-наушники, колонки, процессор
27
К внешней памяти компьютера относятся:
-монитор, винчестер, мышь, лазерный диск;
+винчестер, лазерный диск, дискета, флеш — память;
-дискета, флеш — память, системный блок, мышь
28
К устройствам вывода информации относятся:
— процессор, жесткий диск;
+ принтер, монитор, колонки
-процессор, принтер, монитор, колонки
29
Внутренняя память компьютера предназначена для:
— долговременного хранения информации;
+ хранения информации во время работы компьютера.
— хранения промежуточных данных
— передачи информации
30
С графической информацией можно работать с помощью:
-монитор , принтер, микрофон
+ монитор, принтер, сканер
-принтер, наушники, микрофон
31
Полоса, расположенная в нижней части Рабочего стола называется:
— панель инструментов;
+ панель задач;
— панель управления
32
Картинка на рабочем столе с небольшой стрелкой в левом нижнем углу называется;
— иконка
+ ярлык
— значок
— пиктограмма
-рисунок
33
Прикладными программами называются
— программы, управляющие компьютером;
+ программы, с помощью, которых пользователь на компьютере выполняет конкретные задачи
— программы, обеспечивающие работу внешних устройств
34
Клавиша «CAPS LOCK» предназначена
-для установки курсора на определенную позицию;
-для отмены только что введенного действия;
-переключения режимов ввода символов;
+ фиксирования режима заглавных букв
35
Клавиша «ESC» предназначена
— для удаления символа, стоящего справа от курсора;
+для отмены только, что введенного действия
-переключения режимов ввода символов;
— для установки курсора на определенную позицию
36
Для ввода цифр Саша хотела воспользоваться дополнительной клавиатурой. Но как он ни нажимал на клавиши, цифры все не вводились. В чем здесь дело?
-неисправна клавиша;
+ не включен цифровой режим дополнительной клавиатуры Num Lock
— Сломался компьютер
-не включен режим Сaps Lock
37
Вася набирал текст на компьютере. Вдруг все буквы у него стали вводиться прописными. Что произошло?
-Сломался компьютер;
-Сбой в текстовом редакторе;
+Случайно нажал клавишу Caps Loсk
-Случайно нажал клавишу Num Loсk
38?
Определите тип файла Закат.jpg
-видео
— текстовый
— звуковой
+ графический
39
Исполняемые файлы имеют расширения
— txt, doc, rtf
— jpg, pcx, bmp
— mp3, wav
+ exe, com
40
Какая из приведенных ниже программ относиться к прикладному программному обеспечению?
-Windows XP
-RAR
+Microsoft Paint
-Turbo Pascal
41
Маска имени файла может содержать знак
— /
-+
+?
-!
42
Определите какое из указанных имен файлов удовлетворяет маске h*a*p?.p?*
-happy.p
+hairpy.ppt
-hapless.pt
-harp.pps
43
Среди перечисленных программ выберите прикладное программное обеспечение.
1. система прграммирования
2. операционные системы
3. офисные программы
4. устройства общего пользования
5. мультимедиа проигрыватели
6. электронные учебники
7. программы обслуживания дисков
+3 5 6
-1 3 4 6
-2 3 5 6
— 3 4 6
44
Драйвер -это:
-устройство компьютера
+программа , обеспечивающая работу у стройств компьютера
-язык программирования
-прикладнаяпрограмма
Источник: informatika7k.blogspot.com