맨위로가기

디스크 압축

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

디스크 압축은 디스크 공간을 절약하기 위해 파일들을 압축하여 저장하는 기술이다. 압축된 볼륨 파일을 생성하여 데이터를 읽고 쓸 때 실시간으로 압축 및 압축 해제가 이루어진다. 초기에는 하드웨어 지원을 받았으나, PC 성능 향상으로 소프트웨어 기반 솔루션이 주류를 이루었다. MS-DOS 및 Windows 운영체제에 유틸리티가 번들로 제공되기도 했으며, 윈도우 XP 이후에는 NTFS 파일 압축 기능을 사용할 수 있다. 디스크 압축은 하드 드라이브 접근 빈도가 높은 시스템에서 성능을 향상시킬 수 있지만, CPU 사용률을 증가시키고 데이터 손실의 위험이 있을 수 있다.

더 읽어볼만한 페이지

  • 데이터 압축 - 해상도
    해상도는 1인치당 픽셀 또는 점의 수를 나타내는 지표로, 이미지의 선명도를 결정하며 DPI와 PPI 단위를 사용하고, 높을수록 섬세한 표현이 가능하다.
  • 데이터 압축 - MP3
    MP3는 MPEG 표준의 오디오 압축 형식으로, 인간의 청각 심리를 이용하여 음질 저하를 최소화하며 데이터를 압축하고, 1991년에 발명되어 2017년 특허 만료로 퍼블릭 도메인이 되었다.
디스크 압축
개요
DriveSpace 로고
DriveSpace 로고
종류디스크 압축 소프트웨어
개발사마이크로소프트
상세 정보
출시일1993년 (MS-DOS 6.0)
마지막 버전1997년 (Windows 98)
운영 체제MS-DOS
윈도우 95
윈도우 98
방식실시간, 무손실 압축
관련 기술스택커
더블스페이스
설명
주요 기능디스크 공간 확장
파일 압축 및 해제
역사적 의의초창기 PC 환경에서 디스크 공간 부족 문제를 해결하는 데 기여
현재 상황더 이상 사용되지 않으며, 현대 운영체제는 자체적인 압축 기능을 제공

2. 원리

압축된 파티션은 파티션 내부에 하나의 압축된 볼륨 파일(compressed volume file)을 두어, 그 내부에 파티션의 모든 정보를 저장한다. 사용자는 압축된 볼륨 파일을 볼 수 없으며, 일반적인 파티션처럼 내부 내용만 볼 수 있다. 파티션 내부의 데이터를 읽고 쓸 때에는 실시간으로 압축 및 압축 해제를 하여 사용자가 일반적인 파티션과 동일한 방법으로 사용할 수 있게 해준다.

디스크 압축은 일반적으로 하나의 큰 파일을 생성하며, 이는 가상 하드 드라이브가 된다. 이는 하나의 물리적 하드 드라이브를 여러 개의 가상 드라이브로 분할하는 방식과 유사하다. 압축된 드라이브는 장치 드라이버를 통해 접근한다.

3. 역사

초기 디스크 압축 솔루션은 하드웨어 지원을 받는 형태였다. 다음은 그 예시이다.

회사명제품명
스택 일렉트로닉스Stacker XT/8, Stacker AT/16
인포칩 시스템즈Expanz!, Expanz! Plus
데이터란 코퍼레이션DiskDoubler dd2000
마이크로소프트MRCI (Microsoft Real-Time Compression Interface)



PC 프로세서 성능이 향상되면서 소프트웨어 기반 솔루션이 주류를 이루게 되었다. 다음은 독립형 소프트웨어로 판매된 디스크 압축 유틸리티들이다.

회사명제품명
Sundog SoftwareSquish, Squish Plus
스택 일렉트로닉스스태커


운영체제에 디스크 압축 유틸리티를 번들로 제공하는 방식도 널리 사용되었다. 다음은 그 예시이다(연대순).

운영체제번들 유틸리티
DR DOS 6.0 (1991)Addstor, Inc.의 SuperStor
PalmDOS 1.0 (1992)DPMS를 지원하는 SuperStor
MS-DOS 6.0 (1993)Vertisoft Systems의 DoubleDisk를 부분적으로 기반으로 한 DoubleSpace
PC DOS 6.1 (1993)초기에는 없었으나, AddStor 인수 후 SuperStor/DS 포함
MS-DOS 6.2 (1993)개선된 버전의 DoubleSpace
Novell DOS 7 (1993)Stac Electronics의 Stacker 3.12 (STACKER.BIN)
PTS-DOS Extended 6.4 (1994)'Folder'(FOLDER.SYS)
PC DOS 6.3 (1994)'SuperStor/DS'
MS-DOS 6.22 (1994)다른 압축 알고리즘을 가진 DoubleSpaceDriveSpace
PC DOS 7.0 (1995)Stac Electronics의 Stacker 4.02
Windows 95 (1995)DriveSpace 2
Windows 95 OSR2 (1996)축소된 버전의 DriveSpace 3
Windows 95 Plus! (1996)전체 버전의 DriveSpace 3
OpenDOS 7.01 (1997)Stacker 3.12의 DPMS 지원 버전
DR-DOS 7.02 (1998)Stacker 3.12의 DPMS 지원 버전, DriveSpace 지원 추가
PC DOS 2000 (1998)Stacker 4.02의 DPMS 지원 버전
Windows 98 (1998)전체 버전의 DriveSpace 3
DR-DOS 7.03 (1999)Stacker 3.12의 DPMS 지원 버전
Windows 98 SE (1999)전체 버전의 DriveSpace 3
PTS-DOS Pro 2000 (1999)'DATACOMP'



그 외에도 다음과 같은 솔루션이 존재했다.


  • '''스퀴즈''': 로터스 1-2-3 및 로터스 심포니 파일용 압축기
  • '''스퀴시 플러스 롬''': HP 포터블 플러스용 맞춤형 스퀴시 플러스 버전
  • '''Double Tools for DoubleSpace''': MS-DOS 6.0용 DoubleSpace 기능 향상
  • '''멀티미디어 스태커''': Helix Software의 제품
  • '''THS 파일 시스템''' (1994–1996): 리눅스용 압축 파일 시스템 드라이버
  • '''DMSDOS''' (1996): DoubleSpace, DriveSpace 2 & 3, Stacker 3 & 4 볼륨 읽기/쓰기 지원 리눅스 커널 드라이버


마이크로소프트윈도우 XPNTFS 시스템의 파일 압축 기능을 지원했지만, "압축 드라이브" 구현 방식은 아니었다.

4. 동작 방식

디스크 압축은 압축된 볼륨 파일(compressed volume file)을 파티션 내부에 생성하여 작동한다. 이 파일은 파티션의 모든 정보를 저장하지만, 사용자에게는 보이지 않는다. 사용자는 일반 파티션처럼 데이터를 읽고 쓸 수 있으며, 이때 실시간으로 압축 및 압축 해제가 이루어진다.

디스크 압축은 일반적으로 큰 파일을 생성하여 가상 하드 드라이브로 만든다. 이는 하나의 물리적 하드 드라이브를 여러 가상 드라이브로 분할하는 것과 유사하며, 장치 드라이버를 통해 압축된 드라이브에 접근한다.

4. 1. 기존 드라이브 압축

기존 드라이브 압축 과정은 다음과 같다.

# 기존 드라이브에 빈 압축 드라이브를 생성한다.

# 기존 드라이브의 파일들을 압축해 새 압축 드라이브로 옮긴다.

# 더 많은 파일을 담고 빈 공간을 확보하기 위해 필요에 따라 새 압축 드라이브의 크기를 늘린다.

# 모든 파일 전송이 끝나면 드라이브 문자를 교환한다.

이때 운영체제 스왑 파일 같은 일부 시스템 파일은 전송되지 않고 호스트 드라이브에 남는다.

4. 2. 부팅 드라이브 압축

장치 드라이버는 압축 드라이브에 접근하기 위해 로드되어야 했다. 압축된 C: 드라이브는 다음과 같이 부팅 프로세스에 대한 변경이 필요했다.

  • 시스템 BIOS는 첫 번째 물리적 하드 드라이브의 0번 섹터(마스터 부트 레코드)를 로드한다.
  • 파티션 섹터는 부팅 가능한 파티션의 0번 섹터(볼륨 부트 레코드)를 로드한다. 이 경우 호스트 드라이브이다.
  • 호스트 드라이브의 0번 섹터는 (DOS의 경우) DOS BIOS (IO.SYS, IBMBIO.COM 등)를 로드한다. 버전에 따라 파일의 처음 몇 섹터 또는 전체 파일이 메모리에 로드될 수 있다. 첫 번째 경우에는 로드된 스텁에 디스크에서 나머지 파일을 로드하는 다른 로더가 포함되어 있다. DR-DOS의 경우 BIOS가 압축되어 있으며 내장된 압축 해제 루틴을 통해 자체적으로 압축을 해제한다.
  • 그런 다음 DOS BIOS는 DOS 커널(MSDOS.SYS, IBMDOS.COM 등)을 로드한다.
  • DOS가 DOS 프리로드 API를 지원하는 경우 DOS BIOS는 프리로드 가능한 압축 드라이버 (DBLSPACE.BIN, DRVSPACE.BIN 또는 STACKER.BIN)를 호스트 드라이브의 루트에서 로드하려고 시도하고 DOS 프리로드 API를 통해 통신을 시도한다. 드라이버가 예상대로 응답하면 DOS BIOS는 드라이버를 유지하고, 그렇지 않으면 드라이버를 폐기한다. 유지되고 적절하게 구성된 경우 드라이브 문자가 바뀔 수 있으므로 압축된 드라이브가 C:가 된다.
  • DOS BIOS는 부트 드라이브의 루트에서 해당 파일을 찾음으로써 CONFIG.SYS 처리를 시작한다. DR-DOS의 경우 DCONFIG.SYS가 존재할 경우 CONFIG.SYS보다 우선한다.
  • 프리로드 API를 통해 로드되지 않은 압축 드라이버는 DEVICE 문을 통해 로드될 수 있다.
  • 구성에 따라, 그리고 아직 발생하지 않은 경우 드라이브 문자가 바뀔 수 있으므로 압축된 드라이브가 C:가 된다.
  • 압축된 드라이브에서 처리가 계속된다.

5. 지원 소프트웨어

스택 일렉트로닉스사의 스태커와 마이크로소프트더블스페이스는 디스크 압축을 지원하는 대표적인 소프트웨어이다. 윈도 95 플러스 및 윈도 98에 포함된 더블스페이스 3는 하드디스크 공간을 약 1.5배 확장할 수 있었다. 그러나 FAT32와 NTFS 파티션을 위의 소프트웨어가 지원하지 않게 됨으로써 디스크 압축 전용 소프트웨어는 사라지게 되었다.

6. NTFS의 디스크 압축

NTFS 파티션은 자체적으로 압축 기능을 지원하지만, 압축 효율이 더블스페이스에 비해 현저히 떨어져 실제로는 거의 사용되지 않는다.[1]

7. 성능 영향

느린 하드 드라이브를 가진 시스템에서 디스크 압축은 실제로 시스템 성능을 향상시킬 수 있었다. 이는 다음 두 가지 방법으로 달성되었다.


  • 압축을 하면 저장할 데이터가 줄어든다.
  • 디스크 접근은 효율성을 위해 종종 함께 배치되었다.


시스템이 하드 드라이브 접근 완료를 위해 자주 대기해야 하는 경우(I/O 바운드) 하드 드라이브를 압축 드라이브로 변환하면 시스템 속도를 크게 높일 수 있었다. 데이터의 압축 및 압축 해제는 CPU 사용률을 증가시킨다. 시스템이 이미 CPU 바운드인 경우 디스크 압축은 전반적인 성능을 감소시킨다.

8. 단점

일부 압축 유틸리티는 압축 전에 FAT 파일 시스템의 오류를 확인하지 않아, 교차 연결된 파일과 같은 오류가 발생하면 압축 과정에서 데이터 손실을 유발할 수 있었다.[3] 압축된 드라이브는 장치 드라이버가 로드되고 마운트된 경우에만 내용을 볼 수 있었기 때문에, 부팅 디스크를 압축하려면 장치 드라이버가 압축되지 않은 상태로 로드될 수 있도록 해야 했다. 사용자는 호스트 드라이브의 큰 파일이 압축된 드라이브라는 것을 인식하지 못하고 삭제하여 데이터가 손실되는 경우도 있었다.[4]

참조

[1] 문서 In crosslinked file
[2] 문서 For example, DOS associated up to four attributes with files
[3] 문서 クロスリンクとは、2つのファイルの一部がディスク上の同じ位置にあるとされている状態である。
[4] 문서 MS-DOSでは、ファイルには 、System, Hidden, Read-Only, Archivable という属性があり



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com