Обсуждение:Файл
Материал из Википедии — свободной энциклопедии
Содержание |
[править] Определение
предлагаю определить файл, как поименованную упорядоченную последовательность данных. Текущее определение неполно, нечётко и самозависимо (блок - это что, файл без имени? как читать этот блок? а папка с документами - это что, не файл?) Mashiah 13:26, 11 сентября 2006 (UTC)
- Файл не обязательно является данными, в частности, в ряде случаев файл имеет смысл по факту своего существования (т.н. файловые флаги). Вопрос "что такое файл?" это известная кащенитская провокация в ru.os.cmp, т.к. никто до сих пор не смог дать точного определения.
Предлагаю:
- собрать определения из разных источников
- перечислить свойства файлов.
#!George Shuklin 04:13, 21 ноября 2006 (UTC)
Поддерживаю предложение. Мне нравится определение "Файл - совокупность данных, доступ к которой осуществляется по ее имени".
--Savchenko Andrey 08:55, 23 декабря 2006 (UTC)
- А кто сказал, что у файла есть имя? Доступ по номеру ничем не хуже (и во многих файловых системах был абсолютно нормальным). #!George Shuklin 23:05, 26 января 2007 (UTC)
[править] Unix
LSOF(8) LSOF(8) NAME lsof - list open files SYNOPSIS lsof [ -?abChlnNOPRstUvVX ] [ -A A ] [ -c c ] [ +c c ] [ +|-d d ] [ +|-D D ] [ +|-f [cfgGn] ] [ -F [f] ] [ -g [s] ] [ -i [i] ] [ -k k ] [ +|-L [l] ] [ +|-m m ] [ +|-M ] [ -o [o] ] [ -p s ] [ +|-r [t] ] [ -S [t] ] [ -T [t] ] [ -u s ] [ +|-w ] [ -x [fl] ] [ -z [z] ] [ -- ] [names] DESCRIPTION Lsof revision 4.76 lists information about files opened by processes for the following UNIX dialects:
Выполняем
$ lsof | grep -i x-chat
что мы видим:
каталог
X-Chat 236 libc cwd DIR 14,3 272 2001499 /Applications/My/X-Chat Aqua
текстовый файл
X-Chat 236 libc txt REG 14,3 4240132 2001535 /Applications/My/X-Chat Aqua/X-Chat Aqua.app/Contents/MacOS/X-Chat Aqua
Shared memory
X-Chat 236 libc 3r PSXSHM 4096 apple.shm.notification_center
Неименнованый PIPE
X-Chat 236 libc 12 PIPE 0x2046a70 16384
Сокет
X-Chat 236 libc 25u IPv4 0x208a228 0t0 TCP 192.168.1.3:49170->ircworld.ru:6667 (ESTABLISHED)
И это все файлы с точки зрения Unix
[править] Свойства файлов
- файл может содержать в себе данные (а может и не содержать)
- файл может иметь одно или более имён (хардлинки), а может и не иметь имени вообще
- файл может иметь в себе пустые места (sparced)
- файл иногда может быть открыт fopen()
- файл иногда может быть закрыт fclose()
- некоторые файлы можно читать
- некоторые файлы можно fseek(), причём есть файлы, которые можно fseek() только вперёд
- некоторые файлы можно fwrite()
- У файла могут быть дополнительные потоки
- файл не обязательно где-то хранится (/dev/rand, dev/nul)
- файл не обязательно блочный (любое символьное устройство)
[править] Об определении
Я выписал основные проблемы определений файлов в самой статье, надеюсь, это слегка поможет. #!George Shuklin 23:06, 26 января 2007 (UTC)
[править] Структура статьи
Писать о файле - всё равно, что писать о компьютерах вообще - сумашедший объём данных.
Предположительная стркуктура статьи:
- Abstract
- Проблема точного определения
- Файл как объект файловой системы на носителе и файл как объект API.
- Всё - файл (концепция Unix)
- Типы файлов (символьные/блочные)
- Каталоги, структура дерева каталогов
- Свойства файлов как объектов файловой системы (атрибуты, sparced, хардлинки, и т.д.)
- Свойства файлов как объектов файлового АПИ (чтение/запись/fseek).
- Файлы устройств: в unix, в windows
- UNC-путь в Windows NT
- Файлы-контейнеры (архивы, loopback, ISO и т.д.)
- Проблемы сериализации данных в файл
- Версии файлов
- Файловые системы (обзор)
#!George Shuklin 10:25, 1 марта 2007 (UTC)