Временный файл

Вре́менный файл — файл, создаваемый определённой программой или операционной системой для сохранения промежуточных результатов в процессе функционирования или передачи данных в другую программу. Обычно такие файлы удаляются автоматически создавшим их процессом.

Многие операционные системы имеют дополнительные возможности при работе с временными файлами:

  • возможность получить имя временного файла, причём такое, которое будет уникальным — то есть не совпадёт с именем уже существующего файла;
  • требование создать файл только с нуля — ОС выдаст ошибку, если файл существует, и тогда программе придётся отыскать другое имя (флаг x в Си, режим CREATE_NEW в Win32);
  • требование удалить файл, когда все программы его закроют (флаг FILE_FLAG_DELETE_ON_CLOSE в Win32).

В Unix-подобных операционных системах для временных файлов выделен отдельный каталог /tmp. Данные в этом каталоге интенсивно кешируются, а также (во многих системах) удаляются при загрузке операционной системы.

Назначение

Временные файлы в узком смысле, которые больше ни на что не нужны, когда программа (EXE, скрипт, командный файл) корректно остановилась, могут использоваться с такими целями.

Дополнительная память
Все современные ОС используют файл подкачки.
Программы, работающие с большим количеством данных — например, видеоредакторы — могут создавать множество временных файлов.
Промежуточный результат в цепочке запуска программ
Например, для создания анимированного GIF из спрайтов игры цепочка будет такая: архив данных игры → спрайты во внутреннем формате → спрайты в PNG → окончательный GIF. Все файлы, кроме первого и последнего звена, временные.
Такая система распространена для драйверов Windows (Intel, nVidia): для распространения программ через интернет удобен один большой EXE-файл, а именно для драйвера годится не каждый генератор инсталляторов. Так что самоизвлекающийся архив распаковывает собранный в нужной программе инсталлятор во временный каталог, а затем запускает его.
Межпроцессная коммуникация
Причин использовать именно файл для коммуникации много: более сложная коммуникация недоступна; «почтовый ящик» между программами, запускающимися в разное время или на разных компьютерах. Этот ящик может работать через сетевой диск и даже интернет-диск вроде Dropbox.
Microsoft Office может сообщать своим копиям с других компьютеров, кто занял файл.
Использовалось в утилитах запуска Doom: командная строка DOS ограничивалась 128 байтами, но в Doom имелся параметр @filename.ext, позволявший обойти это ограничение.
Нужно любой ценой сохранить данные при аппаратно-программном сбое
Например, перезаписывая файл, программа может создать новый с временным именем, и если создание удастся, удалить старый и переименовать новый.
Творческие программы (Corel Draw) могут автоматически сохранять файлы под временными именами, чтобы при сбое вернуться к подобной копии.
Во встраиваемых СУБД добиваются требований ACID именно через временные файлы, используя механизмы надёжности, имеющиеся в ОС и файловых системах.

Местоположение

Временные файлы ОС Windows можно найти в следующих каталогах:

%SystemRoot%\Temp

%SystemRoot% — каталог, в который установлена Windows.

%HomeDrive%%HomePath%\Temp

%HomeDrive% — по умолчанию C: %HomePath% — \Documents and Settings\<имя пользователя> (по умолчанию в Windows XP).

то же что и предыдущее (при настройках по умолчанию):

%TMP%

%TEMP%

Кроме того временные файлы могут находиться в текущем каталоге.

Или, в Unix-подобных операционных системах,

/tmp

или

~/tmp

(где ~ — ссылка на домашний каталог пользователя).

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya