Контрольная работа: Мониторы. Файловые системы
Файл (англ. file – папка, скоросшиватель) – концепция в вычислительной технике: сущность, позволяющая получить доступ к какому-либо ресурсу вычислительной системы и обладающая рядом признаков:
· фиксированное имя (последовательность символов, число или что-то иное, однозначно характеризующее файл);
· определённое логическое представление и соответствующие ему операции чтения / записи.
Может быть любой – от последовательности бит до базы данных с произвольной организацией или любым промежуточным вариантом.
Первому случаю соответствуют операции чтения / записи потока и / или массива (то есть последовательные или с доступом по индексу), второму – команды СУБД. Промежуточные варианты – чтение и разбор всевозможных форматов файлов.
В отличие от переменной, файл (в частности, его имя) имеет смысл вне конкретной программы. Работа с файлами реализуется средствами операционных систем.
Ресурсами, доступными через файлы, в принципе, может быть что угодно, представимое в цифровом виде. Чаще всего в их перечень входят:
· области данных (необязательно на диске);
· устройства (как физические, так и виртуальные);
· потоки данных (в частности, вход или выход процесса) («pipe» следует переводить словом «конвейер»);
· сетевые ресурсы;
· объекты операционной системы.
Имя файла
В большинстве файловых систем имя файла используется для указания к какому именно файлу производится обращение. В различных файловых системах ограничения на имя файла сильно различаются:
· В FAT16 и FAT12 размер имени файла ограничен 8 символами (3 символа расширения).
· В VFAT ограничение 255 байт.
· В FAT32, HPFS имя файла ограниченно 255 символами
· В NTFS имя ограничено 255 символами Unicode
· В ext2/ext3 ограничение 255 байт.
Помимо ограничений файловой системы, интерфейсы операционной системы дополнительно ограничивают набор символов, который допустим при работе с файлами.
· Для MS-DOS в имени файла допустимы только заглавные буквы, цифры. Недопустимы пробел, знак вопроса, звёздочка, символы больше / меньше, символ вертикальной черты.[1] При вызове системных функций именами файлов в нижнем или смешанном регистре, они приводятся к верхнему регистру.
· Для Microsoft Windows в имени файла разрешены заглавные и строчные буквы, цифры, некоторые знаки препинания, пробел. Запрещены символы > < |? * / \:».
· Для GNU/Linux (с учётом возможности маскировки) разрешены все символы, кроме / и нулевого байта.
Большинство операционных систем требуют уникальности имени файла в одном каталоге, хотя некоторые системы допускают файлы с одинаковыми именами (например, при работе с ленточными накопителями).
Расширение имени файла
Расширение имени файла (часто расширение файла или расширение) как самостоятельный атрибут файла существует в файловых системах FAT16, FAT32, NTFS, используемых операционными системами MS-DOS, DR-DOS, PC DOS, MS Windows и используется для определения типа файла. Оно позволяет системе определить, каким приложением следует открывать данный файл. По умолчанию в операционной системе Windows расширение скрыто от пользователя.
Атрибуты
В некоторых файловых системах предусмотрены атрибуты (обычно это бинарное значение «да»/ «нет», кодируемое одним битом). Практически атрибуты не влияют на возможность доступа к файлам, для этого в некоторых файловых системах существуют права доступа. (Табл. 2)
Название атрибута | перевод | значение | файловые системы | операционные системы |
READ ONLY | только для чтения | в файл запрещено писать | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
SYSTEM | системный | критический для работы операционной системы файл | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
HIDDEN | скрытый | файл скрывается от показа, пока явно не сказано обратное | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
ARCHIVE | архивный (требующий архивации) | файл изменён после резервного копирования или не был скопирован программами резервного копирования | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
SUID | Установка пользовательского ID | выполнение программы от имени владельца | ext2 | Unix-like |
SGID | Установка группового ID | выполнение программы от имени группы (для каталогов: любой файл созданный в каталоге с установленным SGID, получит заданную группу-владельца) | ext2 | Unix-like |
Sticky Bit | липкий бит | предписывает ядру не выгружать завершившуюся программу из памяти сразу, а лишь спустя некоторое время, чтобы избежать постоянной загрузки с диска наиболее часто используемых программ | ext2 | Unix-like |
Типы файлов
В различных операционных и / или файловых системах могут быть реализованы различные типы файлов; кроме того, реализация различных типов может различаться.