Ответы Учебник Информатика 7 класс — §2.4.Файлы и файловые структуры Босова
Файл — это информация, хранящаяся в долговременной памяти как единое целое и обозначенная именем.
Все программы и данные в устройствах долговременной памяти компьютера хранятся в виде файлов, которые, в свою, очередь, группируются в папки. Файлы и папки важные компьютерные объекты.
Функции файловой системы
Работу пользователя с файлами обеспечивает подсистема ОС, называемая файловой системой.
- определяют правила построения имён файлов и каталогов;
- поддерживают программный интерфейс работы с файлами для приложений (предоставляют приложениям функции для работы с файлами);
- определяют порядок размещения файлов на диске;
- обеспечивают защиту данных в случае сбоев и ошибок;
- обеспечивают установку прав доступа к данным для каждого конкретного пользователя;
- обеспечивают совместную работу с файлами (если один пользователь открыл файл, то для остальных устанавливается режим «только чтение»).
Рассмотрим некоторые из этих функций более подробно.
Правила построения имён файлов и каталогов
Файловые системы современных ОС допускают использование имён длиной до 255 символов, причём в них можно использовать буквы национальных алфавитов и пробелы.
В ОС Windows в имени файла запрещено использование следующих символов: , /, *, ?, «, , |. В Linux эти символы, кроме /, допустимы, хотя использовать их следует с осторожностью, т. к. некоторые из них могут иметь специальный смысл, а также из соображений совместимости с другими ОС.
Операционная система Linux, в отличие от Windows, различает строчные и прописные буквы в имени файла, например: FILE.txt, file.txt и FiLe.txt — это в Linux три разных файла.
Порядок размещения файлов на диске
Файл, представляемый нами как единое целое, на самом деле может быть разбросан «кусочками» по всему диску. Минимальный размер такого «кусочка» (кластера, блока) — от 512 байт до 64 Кбайт в зависимости от используемой файловой системы. При размещении на диске каждому файлу отводится целое число кластеров. Например, на файл размером 65 Кбайт будет отведено два кластера по 64 Кбайта, при этом второй кластер будет считаться занятым, хотя фактически значительная его часть использоваться не будет.
Использование кластеров больших размеров обеспечивает следующие преимущества: 1) повышается скорость чтения/записи файлов, имеющих большие размеры; 2) увеличивается максимальный объём диска, который поддерживает файловая система.
Как вы можете это объяснить?
Почему в файловой системе с большими кластерами (блоками) невыгодно хранить маленькие файлы? К чему это может привести?
Защита данных в случае сбоев и ошибок
Эта функция обеспечивается за счёт журналирования, суть которого состоит в следующем. Перед началом выполнения операций с файлами ОС записывает (сохраняет) список действий, которые она будет проводить с файловой системой. Эти записи хранятся в отдельной части файловой системы, называемой журналом. Как только изменения файловой системы внесены в журнал, она применяет эти изменения к файлам, после чего удаляет эти записи из журнала. Если во время выполнения операций с файлами произошёл сбой, то по записям в журнале можно определить пострадавшие файлы и восстановить их.
3. Файловые структуры
Совокупность файлов на диске и взаимосвязей между ними называют файловой структурой диска. Первоначально файловые системы поддерживали только одноуровневые файловые структуры: все файлы хранились в одном каталоге.
Для хранения большого (сотни и тысячи) количества файлов используются иерархические (многоуровневые) файловые структуры: файлы группируются в каталоги, каталоги могут группироваться в каталоги более высокого уровня.
Пользователь, объединяя по собственному усмотрению файлы в каталоги, может создать удобную для себя систему хранения информации.
Графическое изображение иерархической файловой структуры называется деревом. Древовидные иерархические структуры можно изображать вертикально и горизонтально (рис. 2.10).
Чтобы обратиться к нужному файлу (каталогу), хранящемуся на некотором диске, можно указать путь (адрес каталога) — набор символов, показывающий расположение файла в файловой системе.
Рис. 2.10. Типовая древовидная иерархическая структура, принятая в Windows
Полное имя файла — запись пути к файлу, завершаемая именем файла.
Е:ДокументыЗадачи — путь к файлу Расчёты.xlsx;
Е:ДокументыЗадачиРасчёты.xlsx — полное имя файла Расчёты.xlsx.
Для того чтобы «добраться» до нужного файла в многоуровневой файловой структуре, пользователю совсем не обязательно перемещаться по каталогам, образующим путь к файлу. Современные операционные системы имеют специальные инструменты, позволяющие достаточно быстро находить нужные файлы даже в том случае, когда точно не известно их расположение. Если пользователь знает только некоторую часть имени файла (например, он знает, что в имени файла обязательно должна быть цифра 7), то для его поиска можно воспользоваться маской имени файла.
Маска имени файла — последовательность букв, цифр и других допустимых в именах файлов символов, а также символов «?» и «*», определяющая те или иные требования к имени файла.
Символ «?» (вопросительный знак) означает, что на его месте в имени файла должен быть ровно один произвольный символ. Символ «*» (звёздочка) означает, что на его месте в имени файла может быть последовательность любых символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
Рассмотрим несколько примеров масок:
• маске *.* соответствуют абсолютно все файлы, поскольку набор произвольных символов указывается как для имени, так и для расширения файла;
• маске *.трЗ соответствуют все аудиозаписи формата mp3;
• маска info.* позволит отобрать файлы всех типов с именем info;
• маске info*.* будут соответствовать все файлы, начинающиеся с info;
• маске *info.* будут соответствовать все файлы, имена которых заканчиваются на info;
• маска . * позволит отобрать все файлы с трёхбуквенными именами;
• маске info. * будут соответствовать все файлы, имена которых состоят из шести символов и начинаются с info;
• маска info??*.* позволяет найти все файлы, имена которых начинаются с info и содержат шесть и более символов.
Подумайте, какая из трёх следующих масок позволит отобрать больше всего файлов:
Пример. В каталоге находится 6 файлов:
motors.dat;
torsten.docx;
motors.doc;
victoria.docx;
storch.doc;
x_torero.doc.
С помощью маски из них была отобрана следующая группа файлов:
motors.doc;
storch.doc;
victoria.docx;
x_torero.doc.
Какая из следующих масок была при этом использована?
1) *tor?*.d*;
2) ?tor*.doc;
3) *?tor?*.do*;
4) *tor?.doc*.
Выясним, какие группы файлов позволит выбрать каждая из масок. Результаты анализа представим в таблице:
Здесь мы серым цветом выделили строки, соответствующие файлам, которые должны быть отобраны.
Если файл соответствует маске, то в ячейке, находящейся на пересечении строки с именем файла и столбца с именем маски, будем ставить « + », в противном случае — «-».
В столбце искомой маски, знаки «+» должны соответствовать отобранным файлам, знаки «—» — всем прочим.
Анализируя маску *tor?*.d*, ставим знак «+» в ячейку, соответствующую файлу motors.dat. Данная маска позволяет отобрать файл, который не входит в интересующую нас группу, следовательно, она не может обеспечить отбор нужных файлов. Дальнейшее рассмотрение этой маски можно прекратить.
Маска ?tor*.doc не позволит отобрать файл motors.dat, но она же не позволит отобрать и подлежащий отбору файл motors.doc. Следовательно, дальнейшее рассмотрение этой маски можно прекратить.
Маска *?tor?*.do* позволяет отобрать только те файлы, которые нам нужны. Её можно использовать для решения задачи.
Но, возможно, задача имеет не одно решение. Проверяем маску *tor?.doc*. Она не позволит нам отобрать файл storch.doc.
Итак, решением задачи может быть только третья маска (*?tor?*.do*).
Практическая часть урока
1) Работа на основании задания 112 в РТ.
2) Работа с тренажером DIRTEST (http://nk-inform.narod.ru/statii/dir-change.htm).
4.5. Полное имя файла
Чтобы обратиться к нужному файлу, хранящемуся на некотором диске, можно указать путь к файлу — имена всех каталогов от корневого до того, в котором непосредственно находится файл.
В операционной системе Windows путь к файлу начинается с логического имени устройства внешней памяти; после имени каждого подкаталога ставится обратный слэш. В операционной системе Linux путь к файлу начинается с имени единого корневого каталога; после имени каждого подкаталога ставится прямой слэш.
Последовательно записанные путь к файлу и имя файла составляют полное имя файла. Не может быть двух файлов, имеющих одинаковые полные имена.
Пример полного имени файла в ОС Windows:
Пример полного имени файла в ОС Linux:
Задача 1. Пользователь работал с каталогом С:ФизикаЗадачиКинематика. Сначала он поднялся на один уровень вверх, затем ещё раз поднялся на один уровень вверх и после этого спустился в каталог Экзамен, в котором находится файл Информатика.dос. Каков путь к этому файлу?
Пользователь работал с каталогом С:ФизикаЗадачиКинематика. Поднявшись на один уровень вверх, пользователь оказался в каталоге С:ФизикаЗадачи. Поднявшись ещё на один уровень вверх, пользователь оказался в каталоге С:Физика. После этого пользователь спустился в каталог Экзамен, где находится файл. Полный путь к файлу имеет вид: С:ФизикаЭкзамен
Задача 2. Учитель работал в каталоге D:Уроки8 классПрактические работы. Затем перешёл в дереве каталогов на уровень выше, спустился в подкаталог Презентации и удалил из него файл Введение.ppt. Каково полное имя файла, который удалил учитель? Решение.
Учитель работал с каталогом D:Уроки8 классПрактические работы. Поднявшись на один уровень вверх, он оказался в каталоге D:Уроки8 класс. После этого учитель спустился в каталог Презентации, путь к файлам которого имеет вид: D:Уроки8 классПрезен-тации. В этом каталоге он удалил файл Введение.ppt, полное имя которого D:Уроки8 класс Презентации Bвeдeниe.ppt
Архивирование и разархивирование
Сжатие информации — это процесс преобразования информации файла к виду, при котором уменьшается избыточность в ее представлении и, соответственно, требуется меньший объем памяти для ее хранения.
Сжиматься могут как один, так и несколько файлов, которые в упакованном виде помещаются в так называемый архивный файл, или архив.
Архив — это специальным образом организованный файл, содержащий в себе один или несколько файлов в сжатом или несжатом виде и служебную информацию об их именах, датах и времени их создания или модификации, размерах и т. п.
Файлы архивов могут иметь формат ZIP, RAR, LZH, ARJ, ARC, TAR и др. в зависимости от программы–архиватора, с помощью которой они были созданы.
Файлы, упакованные в архив, занимают меньше места на диске и быстрее передаются по каналам связи в компьютерных сетях. Кроме того, упаковка группы файлов в один архивный файл значительно упрощает работу с ними: копирование, перенос на другой компьютер и т. п.
Принято различать архивацию и упаковку (или компрессию, сжатие) данных. В первом случае речь идет о слиянии нескольких файлов и даже каталогов в единый файл — архив, во втором — о сокращении объема исходных файлов путем устранения избыточности.
Процесс восстановления файлов из архива (на диск или в оперативную память) точно в таком виде, какой они имели до загрузки в архив, называется разархивацией (распаковкой) данных.
Принцип работы программ–архиваторов основан на поиске в файлах избыточной информации и последующем ее кодировании, позволяющем получить минимальный объем хранимых данных. В список задач архиваторов могут входить не только архивация или упаковка файлов, но и сохранение дерева файловой системы, атрибутов и имен файлов, шифровка данных архива, архивация с паролем и т. д.
Степень сжатия зависит от используемой программы, метода сжатия и типа исходного файла. Лучше всего упаковываются файлы графических образов, текстовые файлы и файлы данных, которые могут быть сжаты до 5–40 % от исходного размера. Хуже сжимаются файлы исполняемых программ и загрузочных модулей — до 60–90 %. Почти не сжимаются архивные файлы.
Большие по объему архивные файлы могут быть разбиты на несколько частей. Такие архивы называются многотомными, а их составные части — томами. Преимущество многотомных архивов в том, что их части можно записать на несколько носителей (диски, флеш–диски и пр.).
Чтобы при распаковке данных не зависеть от наличия соответствующей программы–архиватора, можно создать так называемый самораспаковывающийся архивный файл. Это загрузочный (исполняемый) модуль, который самостоятельно разархивирует находящиеся в нем данные при его запуске. Самораспаковывающийся архив называют также SFX–архивом (англ. SelF–eXtracting). Обычно они создаются в форме ЕХЕ–файла.
Наиболее популярными программами–архиваторами на сегодняшний день являются WinZip и WinRAR. «Родным» архивным форматом первого из них является формат ZIP, второго — RAR, несмотря на то что каждый из них поддерживает работу еще с десятками других архивных форматов.
Что такое файловая система
Обычно вся информация записывается, хранится и обрабатывается на различных цифровых носителях в виде файлов. Далее, в зависимости от типа файла, кодируется в виде знакомых расширений – *exe, *doc, *pdf и т.д., происходит их открытие и обработка в соответствующем программном обеспечении. Мало кто задумывается, каким образом происходит хранение и обработка цифрового массива в целом на соответствующем носителе.
Операционная система воспринимает физический диск хранения информации как набор кластеров размером 512 байт и больше. Драйверы файловой системы организуют кластеры в файлы и каталоги, которые также являются файлами, содержащими список других файлов в этом каталоге. Эти же драйверы отслеживают, какие из кластеров в настоящее время используются, какие свободны, какие помечены как неисправные.
Запись файлов большого объема приводит к необходимости фрагментации, когда файлы не сохраняются как целые единицы, а делятся на фрагменты. Каждый фрагмент записывается в отдельные кластеры, состоящие из ячеек (размер ячейки составляет один байт). Информация о всех фрагментах, как части одного файла, хранится в файловой системе.
Файловая система связывает носитель информации (хранилище) с прикладным программным обеспечением, организуя доступ к конкретным файлам при помощи функционала взаимодействия программ A PI. Программа, при обращении к файлу, располагает данными только о его имени, размере и атрибутах. Всю остальную информацию, касающуюся типа носителя, на котором записан файл, и структуры хранения данных, она получает от драйвера файловой системы.
На физическом уровне драйверы ФС оптимизируют запись и считывание отдельных частей файлов для ускоренной обработки запросов, фрагментации и «склеивания» хранящейся в ячейках информации. Данный алгоритм получил распространение в большинстве популярных файловых систем на концептуальном уровне в виде иерархической структуры представления метаданных (B-trees). Технология снижает количество самых длительных дисковых операций – позиционирования головок при чтении произвольных блоков. Это позволяет не только ускорить обработку запросов, но и продлить срок службы HDD. В случае с твердотельными накопителями, где принцип записи, хранения и считывания информации отличается от применяемого в жестких дисках, ситуация с выбором оптимальной файловой системы имеет свои нюансы.
exFAT
exFAT — это улучшенная система FAT32, избавленная от ее недостатков. Была создана специально для SSD дисков, здесь используется куда меньшее количество перезаписей секторов, что увеличивает срок службы таких дисков. Ограничения на размер данных нет и увеличен размер кластера.
Из минусов — не все ОС и устройства видят ее на данный момент, те же Windows Vista без Service Pack и более ранние просто не могут с ней работать. Это же относится и к некоторым моделям устройств: телевизоров, планшетов, магнитол и других.