Учитель информатики
Информатика. 7 класса. Босова Л.Л. Оглавление
К каждому компьютеру может быть подключено несколько устройств внешней памяти. Основным устройством внешней памяти ПК является жёсткий диск. Если жёсткий диск имеет достаточно большую ёмкость, то его можно разделить на несколько логических разделов.
Наличие нескольких логических разделов на одном жёстком диске обеспечивает пользователю следующие преимущества:
- можно хранить операционную систему в одном логическом разделе, а данные — в другом, что позволит переустанавливать операционную систему, не затрагивая данные;
- на одном жёстком диске в различные логические разделы можно установить разные операционные системы;
- обслуживание одного логического раздела не затрагивает другие разделы.
Каждое подключаемое к компьютеру устройство внешней памяти, а также каждый логический раздел жёсткого диска имеет логическое имя.
В операционной системе Windows приняты логические имена устройств внешней памяти, состоящие из одной латинской буквы и знака двоеточия:
- для дисководов гибких дисков (дискет) — А: и В:;
- для жёстких дисков и их логических разделов — С:, D:, Е: и т. д.;
- для оптических дисководов — имена, следующие по алфавиту после имени последнего имеющегося на компьютере жёсткого диска или раздела жёсткого диска (например, F:);
- для подключаемой к компьютеру флеш-памяти — имя, следующее за последним именем оптического дисковода (например, G:).
В операционной системе Linux приняты другие правила именования дисков и их разделов. Например:
- логические разделы, принадлежащие первому жёсткому диску, получают имена hdal, hda2 и т. д.;
- логические разделы, принадлежащие второму жёсткому диску, получают имена hdbl, hdb2 и т. д.
Имя файла
Имя файла в операционных системах DOS/Windows состоит из трёх частей:
ПРИМЕЧАНИЕ
По умолчанию в Windows расширения файлов скрыты, так что в Проводнике вы можете их и не увидеть. Как сделать их видимыми — зависит от операционной системы.
В первых версиях операционной системы DOS имя (то есть первая часть имени файла) не могла иметь длину более 8 символов. Сейчас это ограничение снято. Однако я настоятельно рекомендую не давать файлам слишком длинные имена. Потому что если полный путь к файлу (о полном пути будет сказано далее) будет превышать 255 символов, то вы можете столкнуться с разного рода неприятностями (особенно в операционных системах вплоть до Windows XP).
Подробнее см. в бесплатной книге Компьютер для чайника.
Имя и расширение
Название файла чаще всего состоит из имени и расширения, которые отделяются друг от друга точкой:
Но на самом деле название файла может быть и без расширения, и без точки или вообще начинаться с точки, как .htaccess.
Компьютеру на самом деле без разницы, есть ли у файла расширение или нет. Единственное, зачем оно нужно, — чтобы и компьютер, и человек понимали, какие данные в нём могут храниться и в какой программе нужно открыть этот файл. Для этого компьютер создаёт таблицу расширений и приложений — в ней написано, файлы с каким расширением открывать в каких программах.
? В разных операционных системах свои требования к названию файла: в Windows нельзя создать файл .con, а в MacOS это можно сделать без проблем.
Что такое файл, путь к нему
Данные на цифровых носителях хранятся в виде документов – это адресуемая область памяти на накопителе, единица, базовый объект при работе программного обеспечения с данными. В графическом интерфейсе (Проводнике) выглядит как объект с именем и разрешением. Разберёмся, из каких двух частей состоит имя файла.
Физически файл – это контейнер, внутри которого определённым образом сосредоточена информация. Способ её размещения, позволяющий считывать и записывать данные внутрь контейнера называется форматом. Программы и ОС для работы с данными обращаются к файлам как элементарным единицам цифрового объекта. Информацию об адресах ячеек, последовательности обращения к ним для считывания содержимого контейнера им сообщает драйвер ФС.
В ОС UNIX документами являются даже порты и периферийные устройства.
Файловые системы
Файловая система — абстракция, которая позволяет работать с данными на различных внешних накопителях так, чтобы для программ в операционной системе не видна была разница в аппаратной реализации. Файловая система позволяет на физическом устройстве выделять и освобождать постоянную память, заполнять её данными в асинхронном режиме, используя абстракцию файла. Кроме того, файловая система разрешает конфликты (говорят, коллизии) с именами файлов.
Один из методов решения коллизий — запретить создавать файлы с одинаковыми именами.
Первой моделью организации файлов была одноуровневая (или плоская) файловая система. Использовать такую файловую систему неудобно, если в операционной системе работает несколько пользователей и используется большое количество файлов. Однако одноуровневые файловые системы до сих пор применяются для определённых устройств. Например, в стиральных машинах или в микроволновых печах.
Продолжением одноуровневых файловых систем являются системы с фиксированным количеством уровней. Такие файловые системы используются на маршрутизаторах и телевизорах.
Самой успешной моделью файловой системы является иерархическая модель. Она произвела настоящую революцию в хранении данных. Иерархическая система подразумевает существование дерева данных с узлами трёх типов:
- корневая директория (каталог, папка) — специальный узел дерева;
- обычная директория (каталог, папка) — обычные узлы дерева;
- файлы — листья дерева.
Такая структура позволяет хранить файлы в разных директориях. Полное имя файла состоит из пути до файла в дереве директорий и имени файла. Таким способом обеспечивается уникальность имён. Файлы с одинаковыми именами не создают коллизии, если хранятся в разных директориях.
Один уровень иерархии от другого отделяется особым символом (например, / для Unix-подобных систем и для операционных систем на базе Windows). Поддерживаются и относительные имена файлов, из которых можно сформировать полное имя путём конкатенации (сложения строк) имени директории и относительного имени.
В Unix-подобных системах поддерживаются специальные директории: домашняя директория пользователя и текущая директория. Часть операционных систем вслед за Unix использует эти абстракции. Модель файловой системы Unix считается одной из наиболее удачных и безопасных, поскольку:
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобретя в каталоге.
Операции с файлом
Условно можно выделить два типа операций с файлом — связанные с его открытием, и выполняющиеся без его открытия. Операции первого типа обычно служат для чтения/записи информации или подготовки к записи/чтению. Операции второго типа выполняются с файлом как с «объектом» файловой системы, в котором файл является мельчайшей единицей структурирования.
Операции, связанные с открытием файла
В зависимости от операционной системы те или иные операции могут отсутствовать.
Обычно выделяют дополнительные сущности, связанные с работой с файлом:
- хэндлер файла, или дескриптор (описатель). При открытии файла (в случае, если это возможно), операционная система возвращает число (или указатель на структуру), с помощью которого выполняются все остальные файловые операции. По их завершению файл закрывается, а хэндлер теряет смысл.
- файловый указатель. Число, являющееся смещением относительно нулевого байта в файле. Обычно по этому адресу осуществляется чтение/запись, в случае, если вызов операции чтения/записи не предусматривает указание адреса. При выполнении операций чтения/записи файловый указатель смещается на число прочитанных (записанных) байт. Последовательный вызов операций чтения таким образом позволяет прочитать весь файл не заботясь о его размере.
- файловый буфер. Операционная система (и/или библиотека языка программирования) осуществляет кеширование файловых операций в специальном буфере (участке памяти). При закрытии файла буфер сбрасывается.
- режим доступа. В зависимости от потребностей программы, файл может быть открыт на чтение и/или запись. Кроме того, некоторые операционные системы (и/или библиотеки) предусматривают режим работы с текстовыми файлами. Режим обычно указывается при открытии файла.
- режим общего доступа. В случае многозадачной операционной системы возможна ситуация, когда несколько программ одновременно хотят открыть файл на запись и/или чтение. Для регуляции этого существуют режимы общего доступа, указывающие на возможность осуществления совместного доступа к файлу (например, файл в который производится запись может быть открыт для чтения другими программами — это стандартный режим работы log-файлов).
- Открытие файла (обычно в качестве параметров передается имя файла, режим доступа и режим совместного доступа, а в качестве значения выступает файловый хэндлер или дескриптор), кроме того обычно имеется возможность в случае открытия на запись указать на то, должен ли размер файла изменяться на нулевой.
- Закрытие файла. В качестве аргумента выступает значение, полученное при открытии файла. При закрытии все файловые буферы сбрасываются.
- Запись — в файл помещаются данные.
- Чтение — данные из файла помещаются в область памяти.
- Перемещение указателя — указатель перемещается на указанное число байт вперёд/назад или перемещается по указанному смещению относительно начала/конца. Не все файлы позволяют выполнение этой операции (например, файл на ленточном накопителе может не «уметь» перематываться назад).
- Сброс буферов — содержимое файловых буферов с незаписанной в файл информацией записывается. Используется обычно для указания на завершение записи логического блока (для сохранения данных в файле на случай сбоя).
- Получение текущего значения файлового указателя.
Операции, не связанные с открытием файла
Операции, не требующие открытия файла оперируют с его «внешними» признаками — размером, именем, положением в дереве каталогов. При таких операциях невозможно получить доступ к содержимому файла, файл является минимальной единицей деления информации.
В зависимости от файловой системы, носителя информации, операционной системой часть операций может быть недоступна.
- Удаление файла
- Переименование файла
- Копирование файла
- Перенос файла на другую файловую систему/носитель информации
- Создание симлинка или хардлинка
- Получение или изменение атрибутов файла