Разреженные  файлы


Файл в котором большая часть данных - нули, как говорят, содержит разреженный набор данных (sparse data set). Файлы подобные этим - обычно очень большие, например, файл, содержащий данные изображения, которые обрабатываются или матрица внутри быстродействующей базы данных. Проблема с файлами, содержащими разреженные наборы данных состоит в том, что в большая часть файла не содержит полезных данных и, потому, они - неэффективно используют дисковое пространство.

Сжатие файла, введенное в NTFS версии 3.51, - частичный метод решения этой проблемы. Все данные в файле, которые не записаны явно, явно устанавливаются в нуль. Сжатие файла уплотняет эти области нулей. Однако, недостаток сжатия файла заключается в том, что благодаря сжатию и восстановлению сжатых данных может увеличится время доступа к ним.

Поддержка разреженных файлов (sparse files) была введена в NTFS как еще один способ сделать использование дискового пространства более эффективным. Когда включаются в работу выполняемые функции разреженного файла, система не распределяет пространство жесткого диска файлу, исключая области, где он содержит ненулевые данные. Когда предпринимается операция записи, где большой объем данных в буфере - нули, нули в файл не записываются. Вместо этого, файловая система создает внутренний список, содержащий местоположения нулей в файле, и в ходе всех операций чтения обращается за справкой к этому списку. Когда операция чтения выполняется в областях файла, где были расположены нули, файловая система возвращает соответствующее число нулей в буфере, распределенном для операции чтения. Этим способом, обслуживание разреженного файла происходит прозрачно для всех процессов, которым доступен этот файл.

Заданное по умолчанию значение данных разреженного файла равняется нулю; однако, оно может быть установлено в другие значения.

Дополнительную информацию о разреженных  файлах смотри в статьях ниже:

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz