Утилита программного обеспечения для сжатия диска увеличивает объем информации, который может храниться на жестком диске заданного размера. В отличие от утилиты сжатия файлов , которая сжимает только указанные файлы и которая требует от пользователя указать файлы для сжатия, утилита сжатия диска «на лету» работает автоматически через резидентное программное обеспечение, и пользователю не нужно знать о его существовании. Поэтому сжатие диска «на лету» также известно как прозрачное , реальное или онлайн-сжатие диска .
Когда информацию необходимо сохранить на жестком диске, утилита сжимает ее. Когда информацию необходимо прочитать, утилита распаковывает ее. Утилита сжатия диска переопределяет стандартные процедуры операционной системы . Поскольку все программные приложения обращаются к жесткому диску с помощью этих процедур, они продолжают работать после установки сжатия диска.
Утилиты сжатия дисков были особенно популярны в начале 1990-х годов, когда жесткие диски микрокомпьютеров были еще относительно небольшими (от 20 до 80 мегабайт ). Жесткие диски также были довольно дорогими в то время, примерно по 10 долларов США за мегабайт. Для пользователей, которые покупали приложения сжатия дисков, программное обеспечение оказалось в краткосрочной перспективе более экономичным средством приобретения большего дискового пространства по сравнению с заменой своего текущего диска на больший. Хорошая утилита сжатия дисков могла, в среднем, удвоить доступное пространство с незначительной потерей скорости. Сжатие дисков вышло из употребления к концу 1990-х годов, поскольку достижения в области технологий и производства жестких дисков привели к увеличению емкости и снижению цен.
Распространенные решения для сжатия дисков
Автономное оборудование
Некоторые из первоначальных решений по сжатию дисков были аппаратными и использовали дополнительные карты сопроцессора компрессора/декомпрессора в дополнение к программному драйверу. Известные решения включают:
- Укладчики XT/8 и AT/16 от Stac Electronics [1] [2]
- Expanz! и Expanz! Plus от InfoChip Systems [1] [2] [3]
- DiskDoubler dd2000 от корпорации Datran
- MRCI (интерфейс сжатия в реальном времени Microsoft) от Microsoft
Автономное программное обеспечение
С ростом мощности процессора ПК программные решения стали достигать или даже превосходить производительность аппаратных решений в большинстве сценариев. Эти утилиты сжатия продавались отдельно. Пользователь должен был специально выбрать установку и настройку программного обеспечения.
Встроенное программное обеспечение
Идея объединения сжатия диска в новые машины понравилась реселлерам и пользователям. Реселлерам понравилось, что они могли требовать больше места для хранения; пользователям понравилось, что им не нужно было настраивать программное обеспечение. В комплект утилит входили (в хронологическом порядке):
- DR DOS 6.0 (1991) от Digital Research включала в себя специальную версию SuperStor от AddStor .
- PalmDOS 1.0 (1992) от Novell (после приобретения Digital Research) включала версию SuperStor с поддержкой DPMS .
- MS-DOS 6.0 (1993) от Microsoft включал DoubleSpace , [8] который был частично основан на DoubleDisk от Vertisoft Systems . MS-DOS 6.0 представил так называемый API предварительной загрузки DOS, недокументированный [9] [10] интерфейс типа «вызов-ответ» , который позволял автоматически загружать программное обеспечение для сжатия дисков ( DBLSPACE.BIN ) даже до обработки CONFIG.SYS .
- PC DOS 6.1 (1993) от IBM , хотя в первоначальный релиз не входил дисковый компрессор, в более поздний релиз была включена специальная версия SuperStor/DS (после приобретения AddStor), также представившая API предварительной загрузки в линейке PC DOS.
- MS-DOS 6.2 (1993) от Microsoft включала улучшенную версию DoubleSpace .
- Novell DOS 7 (1993) от Novell включала версию Stacker 3.12 с поддержкой DPMS ( STACKER.BIN ) от Stac Electronics , которая также поддерживала обмен сжатыми данными с удаленными серверами NetWare и PNW , также работающими под управлением Stacker, чтобы избежать ненужной повторной компрессии при копировании файлов. [11] Также была введена поддержка API предварительной загрузки DOS 6 для сохранения совместимости с DoubleSpace от Microsoft в сценариях с несколькими загрузками. [9] [11] Похожий механизм использовался для загрузки необязательного одно- или многопользовательского компонента SECURITY .
- PTS-DOS Extended 6.4 (1994) от PhysTechSoft включал компонент сжатия диска под названием Folder ( FOLDER.SYS ) [12]
- PC DOS 6.3 (1994) от IBM включала версию SuperStor/DS .
- В MS-DOS 6.22 (1994) от Microsoft был включен DriveSpace , представлявший собой DoubleSpace с другим алгоритмом сжатия ( DRVSPACE.BIN ), после того как MS-DOS 6.21 пришлось поставлять вообще без какого-либо программного обеспечения для сжатия дисков по юридическим причинам.
- PC DOS 7.0 (1995) от IBM включала версию Stacker 4.02 с поддержкой DPMS от Stac Electronics.
- Windows 95 (1995) от Microsoft включала обновленную версию DriveSpace 2 .
- В состав Windows 95 OSR2 (1996) от Microsoft вошла урезанная версия DriveSpace 3 .
- Windows 95 Plus! (1996) от Microsoft включала полную версию DriveSpace 3 .
- OpenDOS 7.01 (1997) от Caldera (после приобретения Novell DOS) включала версию Stacker 3.12 с поддержкой DPMS . [11]
- DR-DOS 7.02 (1998) от Caldera включала версию Stacker 3.12 с поддержкой DPMS . [13] DR-DOS 7.02 также добавила поддержку DriveSpace от Microsoft . [14]
- PC DOS 2000 (1998) от IBM включала версию Stacker 4.02 с поддержкой DPMS .
- В состав Windows 98 (1998) от Microsoft вошла полная версия DriveSpace 3 .
- DR-DOS 7.03 (1999) от Caldera включала версию Stacker 3.12 с поддержкой DPMS .
- В состав Windows 98 SE (1999) от Microsoft вошла полная версия DriveSpace 3 .
- PTS-DOS Pro 2000 (1999) от Paragon Technology Software включал компонент сжатия дисков под названием DATACOMP .
Другие решения
- Squeeze , резидентный DOS-компрессор файлов Lotus 1-2-3 и Lotus Symphony от Turner Hall Publishing [15]
- Squish Plus ROM от Sundog Software, но распространяемый исключительно через Personalized Software (теперь Thaddeus Computing ), представлял собой специальную микросхему ROM , содержащую специальную версию Squish Plus с объемом памяти всего 36 КБ, адаптированную для HP Portable Plus . [6]
- Double Tools for DoubleSpace от Addstor — дополнительный продукт, расширяющий функциональность DoubleSpace , поставляемого в комплекте с MS-DOS 6.0 .
- Multimedia Stacker от Helix Software представлял собой пакет Stacker 4.01 с поддержкой DPMS от Stac в сочетании с Helix Cloaking и утилитами, использующими встроенный сервер DPMS Cloaking для перемещения и работы в защищенном режиме .
- Файловая система THS (1994–1996 Томас Шойерманн), сжатый драйвер файловой системы для Linux , который мог читать некоторые CVF . [16] [17] [18]
- DMSDOS (1996), драйвер ядра Linux, [19] [20] для поддержки чтения и записи томов DoubleSpace, DriveSpace 2 и 3, а также Stacker 3 и 4.
В то время как Windows XP от Microsoft включает как встроенную поддержку, так и команду Compact , которая сжимает файлы в системах NTFS , она не реализована как отдельный «сжатый диск», как те, что указаны выше.
Операция
Сжатие диска обычно создает один большой файл, который становится виртуальным жестким диском. Это похоже на то, как один физический жесткий диск может быть разделен на несколько виртуальных дисков. Доступ к сжатому диску осуществляется через драйвер устройства .
Сжатие существующих дисков
Все диски изначально были бы пустыми. Утилита для создания диска обычно предлагала бы «сжать текущий диск». Это означало, что утилита:
- Создайте пустой сжатый диск, сохраненный на существующем диске.
- Перенесите существующие файлы со старого диска на новый сжатый диск.
- Увеличьте размер нового сжатого диска по мере необходимости, чтобы вместить больше файлов и оставить пустое место после завершения.
- После переноса всех файлов буквы дисков менялись местами.
Обычно некоторые системные файлы не переносились. Например, файлы подкачки ОС оставались только на хост-диске.
Сжатие загрузочного диска
Для доступа к сжатому диску необходимо было загрузить драйвер устройства. Сжатый диск C: требовал внесения изменений в процесс загрузки следующим образом:
- Системный BIOS загружает сектор 0 первого физического жесткого диска ( главную загрузочную запись ).
- Сектор раздела загружает сектор 0 загрузочного раздела ( Volume Boot Record ). В данном случае это хост-диск.
- Сектор 0 хост-диска загружает (в случае DOS ) DOS BIOS ( IO.SYS , IBMBIO.COM и т. д.). В зависимости от версии, в память могут быть загружены только первые несколько секторов файла или весь файл. В первом случае загруженный заглушка содержит другой загрузчик, загружающий оставшуюся часть файла с диска. В случае DR-DOS BIOS упакован и распаковывается с помощью встроенной процедуры распаковки. [14] [21]
- Затем DOS BIOS загружает ядро DOS ( MSDOS.SYS , IBMDOS.COM и т. д.)
- Если DOS поддерживает API предварительной загрузки, DOS BIOS пытается загрузить предварительно загружаемый драйвер сжатия [9] [10] ( DBLSPACE.BIN , DRVSPACE.BIN или STACKER.BIN ) из корня хост-диска и пытается связаться с ним через API предварительной загрузки DOS. [14] [11] Если драйвер отвечает ожидаемым образом, DOS BIOS сохранит драйвер, если нет, он будет удален. [8] Если сохранить и настроить соответствующим образом, буквы дисков могут поменяться местами, так что сжатый диск станет C:.
- DOS BIOS начинает обработку CONFIG.SYS , ища файл в корне загрузочного диска. В случае DR-DOS, DCONFIG.SYS имеет приоритет над CONFIG.SYS, если он присутствует. [11] [14]
- Драйверы сжатия, не загруженные через API предварительной загрузки, могут быть загружены с помощью операторов DEVICE .
- В зависимости от конфигурации, если это еще не произошло, буквы дисков могут поменяться местами, так что сжатый диск станет C:.
- Обработка продолжается со сжатого диска.
Влияние на производительность
На системах с более медленными жесткими дисками сжатие диска могло фактически повысить производительность системы. Это достигалось двумя способами:
- После сжатия объем хранимых данных стал меньше.
- Для повышения эффективности доступы к диску часто объединялись.
Если системе приходилось часто ожидать завершения доступа к жесткому диску ( ограничение ввода-вывода ), преобразование жесткого диска в сжатые диски могло бы значительно ускорить работу системы. Сжатие и распаковка данных увеличивает загрузку ЦП. Если система уже была ограничена ЦП , сжатие диска снижает общую производительность. [11]
Недостатки
Некоторые распространенные недостатки использования сжатия диска:
- Не все утилиты сжатия подтверждают отсутствие ошибок в файловой системе FAT перед сжатием диска на месте. Некоторые ошибки, такие как сшитые файлы , могут привести к дополнительной потере данных во время процесса передачи. [nb 1]
- Сжатый диск виден только в том случае, если загружен драйвер устройства и смонтирован сжатый диск. Например, загрузочный диск может не содержать драйвер. (Обычно это не было проблемой для решений, которые поставлялись в комплекте с операционными системами, если только не загружались сторонние операционные системы, поскольку системные утилиты, такие как SYS, были изменены для копирования драйверов сжатия на загрузочные диски по умолчанию, [11] [21] и соответствующие операционные системы также возвращались к их поиску на дисках, отличных от загрузочного диска, если они не могли быть там найдены.)
- Удаление было проблематичным, если расширенный размер данных на сжатом диске превышал обычную емкость диска.
- Пользователи не всегда осознавали, что большой файл на хост-диске содержал сжатый диск. Хотя он обычно был «скрыт» по умолчанию, [nb 2] пользователи, которые находили большой файл любопытным или подозрительным, могли удалить его. Обычно это приводило к потере данных.
Смотрите также
Примечания
- ^ В сшитых файлах два файла хранят по крайней мере часть своих данных в одном и том же месте. По крайней мере часть одного файла («плохого» файла) всегда теряется в этом случае. Однако, если «плохой» файл копируется и затем удаляется, часть «хорошего» файла также удаляется. Microsoft SCANDISK был создан, в частности, для выполнения лучшей проверки файловой системы перед сжатием, чем утилита MS-DOS CHKDSK .
- ^ Например, DOS связывал с файлами до четырех атрибутов : Системный, Скрытый, Только для чтения и Архивный. Файлы с атрибутами Системный или Скрытый часто не отображаются по умолчанию. Файлы с атрибутом Системный или Только для чтения не могут быть удалены с помощью команд DOS ERASE или DEL . Большинство утилит сжатия помечают файл на диске как минимум одним или несколькими атрибутами Системный, Скрытый и Только для чтения (многие используют все три). Однако файлы, помеченные такими атрибутами, можно просматривать и удалять другими способами. Кроме того, пользователь также может удалять атрибуты.
Ссылки
- ^ abcd Словик, Линда (1992-02-17). "Большое сжатие". InfoWorld . 14 (7): 57–63 . Получено 2015-04-06 .
- ^ abcde Пастрик, Грег (1992-01-28). "Удвойте - нет - утройте место на жестком диске с помощью утилит сжатия данных "на лету". PC Magazine . 11 (2): 261 . Получено 2015-04-06 .
- ^ Мендельсон, Эдвард (1990-11-13). "Плата Expanz! быстро сжимает файлы на всех типах дисков, но теряет некоторую совместимость с DOS". PC Magazine . 9 (19): 13 . Получено 2015-04-06 .
- ^ Уокенбах, Джон (1987-02-02). "Squish - Файловый компрессор втискивает данные в меньшее пространство, но медленно". InfoWorld . 9 (6): 55 . Получено 2015-04-05 .
- ^ Дэвис, Стивен Рэнди (1987-02-24). «Squish сжимает файлы перед их записью на диск». PC Magazine . 6 (4): 46. Получено 2015-04-06 .
- ^ ab Goldstein, Hal (1989-07-08). "На 50% больше места для файлов всего за $89.95" (PDF) . The Portable Paper . 4 (4). Персонализированное программное обеспечение , теперь Thaddeus Computing : 46 . Получено 2015-04-05 .
- ^ http://files.mpoli.fi/unpacked/software/dos/compress/jam125sw.zip/readme.doc [ простой текстовый файл URL ]
- ^ ab Slivka, Benjamin W.; Straub, Eric; Freedman, Richard (июль 1993 г.). «Hands on - Under the Hood: Inside MS-DOS 6 - Разработчики MS-DOS описывают технологию оптимизации памяти и сжатия диска операционной системы». BYTE Magazine . 18 (8): 197–202 . Получено 01.11.2016 .[1]
- ^ abc Шульман, Эндрю; Браун, Ральф Д .; Макси, Дэвид; Михельс, Рэймонд Дж.; Кайл, Джим (1994) [ноябрь 1993]. Недокументированная DOS: руководство программиста по зарезервированным функциям и структурам данных MS-DOS — расширено для включения MS-DOS 6, Novell DOS и Windows 3.1 (2-е изд.). Эддисон Уэсли . ISBN 0-201-63287-X.(xviii+856+vi страниц, 3,5-дюймовая дискета) Опечатки: [2][3]
- ^ ab Chappell, Geoff (1994). Внутренние компоненты DOS . Addison Wesley . ISBN 978-0-201-60835-9.[4][5] Опечатки: [6][7][8]
- ^ abcdefg Пол, Матиас Р. (30 июля 1997 г.). NWDOS-TIPs — советы и подсказки для Novell DOS 7, с просмотром недокументированных подробностей, ошибок и обходных путей. MPDOSTIP (на немецком языке) (3-е изд.). Архивировано из оригинала 10 сентября 2017 г. Проверено 5 апреля 2015 г.NWDOSTIP.TXT — это комплексная работа по Novell DOS 7 и OpenDOS 7.01 , включающая описание многих недокументированных функций и внутренних компонентов. Она является частью еще более обширной коллекции MPDOSTIP.ZIP автора, которая поддерживалась до 2001 года и распространялась на многих сайтах в то время. Приведенная ссылка указывает на более старую версию файла NWDOSTIP.TXT, преобразованную в HTML.
- ^ "MS-DOS-Clone, сделанный в России". Computerwoche . 1994-05-06 . Получено 2015-04-12 .
- ^ Руководство пользователя Caldera DR-DOS 7.02. Caldera, Inc. 1998 [1993, 1997]. Архивировано из оригинала 2016-11-05 . Получено 2013-08-10 .
- ^ abcd Пол, Маттиас Р. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT". Архивировано из оригинала 2003-10-04 . Получено 2009-03-29 .[9]
- ^ "Сжимайте в 10 раз больше электронных таблиц на диске - SQZ! - Сжиматель данных для Lotus". PC Magazine . Turner Hall Publishing: 155. 1986-10-14 . Получено 2016-11-18 .
- ^ ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/dosfs/thsfs.tgz [ постоянная мертвая ссылка ]
- ^ "Re: Сжатие диска - Stacker - Drivespace и т. д.".
- ^ http://ftp.nluug.nl/ftp/ibiblio/system/filesystems/thsfs.lsm [ простой текстовый файл URL ]
- ^ "DMSDOS - Linux kernel driver". 2005-03-18. Архивировано из оригинала 2016-11-11 . Получено 2016-05-25 .
- ^ "DMSDOS CVF module" (dmsdoc.doc). 0.9.2.0. 1998-11-19. Архивировано из оригинала 2016-11-02 . Получено 2016-11-01 .
- ^ ab DR-DOS 7.03 WHATSNEW.TXT — Изменения с DR-DOS 7.02 на DR-DOS 7.03. Caldera, Inc. 1998-12-24. Архивировано из оригинала 2019-04-08 . Получено 2019-04-08 .
Внешние ссылки
- «Технический справочник MS-DOS 6». Microsoft .
- «Макет файла DoubleSpace CVF».и т.д.
- «Насколько безопасно сжатие диска?». Журнал BYTE . Февраль 1994 г. Архивировано из оригинала 19 июня 2008 г.
- «Как... сжимать жесткие диски». Smart Computing . Апрель 1999 г.