Diskkomprimering
Ett verktyg för diskkomprimering ökar mängden information som kan lagras på en hårddisk av given storlek. Till skillnad från ett filkomprimeringsverktyg , som endast komprimerar specificerade filer – och som kräver att användaren anger att filerna ska komprimeras – fungerar ett on-the-fly-diskkomprimeringsverktyg automatiskt genom inbyggd programvara utan att användaren behöver vara medveten om dess existens. On-the-fly diskkomprimering är därför också känd som transparent , realtids- eller onlinediskkomprimering .
När information behöver lagras på hårddisken komprimerar verktyget informationen. När information behöver läsas, dekomprimerar verktyget informationen. Ett verktyg för diskkomprimering åsidosätter standardrutinerna för operativsystemet . Eftersom alla program har tillgång till hårddisken med dessa rutiner, fortsätter de att fungera efter att diskkomprimering har installerats.
Diskkomprimeringsverktyg var populära särskilt i början av 1990-talet, när mikrodatorhårddiskarna fortfarande var relativt små (20 till 80 megabyte ). Hårddiskar var också ganska dyra på den tiden och kostade ungefär 10 USD per megabyte. För de användare som köpte diskkomprimeringsapplikationer visade sig mjukvaran på kort sikt vara ett mer ekonomiskt sätt att skaffa mer diskutrymme i motsats till att ersätta sin nuvarande enhet med en större. Ett bra verktyg för diskkomprimering kan i genomsnitt fördubbla det tillgängliga utrymmet med försumbar hastighetsförlust. Diskkomprimering förföll i slutet av 1990-talet, eftersom framsteg inom hårddiskteknik och tillverkning ledde till ökad kapacitet och lägre priser.
Vanliga diskkomprimeringslösningar
Fristående hårdvara
Några av de initiala diskkomprimeringslösningarna var hårdvaruassisterad och använde tilläggskompressor/dekomprimerings- samprocessorkort förutom en mjukvarudrivrutin. Kända lösningar inkluderar:
- Stacker XT/8 och Stacker AT/16 från Stac Electronics
- Expanz! och Expanz! Plus från InfoChip Systems
- DiskDoubler dd2000 från Datran Corporation
- MRCI (Microsoft Real-Time Compression Interface) från Microsoft
Fristående programvara
Med ökande PC-processorkraft började mjukvarulösningar nå eller till och med överträffa prestandan hos hårdvarustödda lösningar i de flesta scenarier. Dessa kompressionsverktyg såldes oberoende. En användare var tvungen att specifikt välja att installera och konfigurera programvaran.
- Squish och Squish Plus från Sundog Software
- Staplare från Stac Electronics
- XtraDrive från Integrated Information Technology (IIT)
- SuperStor och SuperStor Pro från AddStor
- DoubleDisk och DoubleDisk Gold från Vertisoft Systems
- JAM (JAM.SYS) från JAM Software, Kiev, Ukraina
- DiskDoubler från Salient Software
- Double Density från Data Becker
Medföljande programvara
Idén att paketera diskkomprimering till nya maskiner tilltalade återförsäljare och användare. Återförsäljare gillade att de kunde göra anspråk på mer lagringsutrymme; användare gillade att de inte behövde konfigurera programvaran. Medföljande verktyg ingår (i kronologisk ordning):
- DR DOS 6.0 (1991), från Digital Research , inkluderade en anpassad version av AddStors SuperStor .
- PalmDOS 1.0 (1992), från Novell (efter att ha förvärvat Digital Research), inkluderade en DPMS- aktiverad version av SuperStor .
- MS-DOS 6.0 (1993), från Microsoft , inkluderade DoubleSpace , som delvis baserades på Vertisoft Systems DoubleDisk . MS-DOS 6.0 introducerade det så kallade DOS preload API, ett odokumenterat utmaning och svar som gjorde det möjligt för diskkomprimeringsprogramvaran ( DBLSPACE.BIN ) att laddas automatiskt redan innan CONFIG.SYS bearbetades.
- PC DOS 6.1 (1993), från IBM , medan den ursprungliga utgåvan inte inkluderade en diskkompressor, inkluderades en anpassad version av SuperStor/DS (efter att ha förvärvat AddStor) i en senare utgåva, vilket också introducerade preload API i PC DOS-linjen .
- MS-DOS 6.2 (1993), från Microsoft , inkluderade en förbättrad version av DoubleSpace .
- Novell DOS 7 (1993), från Novell, inkluderade en DPMS-aktiverad version av Stacker 3.12 ( STACKER.BIN ) från Stac Electronics , som också stödde komprimerat datautbyte med fjärranslutna NetWare- och PNW -servrar som också kör Stacker för att undvika onödig omkomprimering när kopiera filer. Det introducerade också stöd för DOS 6 preload API för att bibehålla kompatibilitet med Microsofts DoubleSpace i scenarier med flera startar. En liknande mekanism användes för att ladda den valfria SECURITY- komponenten för en eller flera användare.
- PTS-DOS Extended 6.4 (1994), från PhysTechSoft , inkluderade en diskkomprimeringskomponent med namnet Folder ( FOLDER.SYS )
- PC DOS 6.3 (1994), från IBM, inkluderade en version av SuperStor/DS .
- MS-DOS 6.22 (1994), från Microsoft, inkluderade DriveSpace , som var DoubleSpace med en annan komprimeringsalgoritm ( DRVSPACE.BIN ), efter att MS-DOS 6.21 var tvungen att skickas utan någon diskkomprimeringsprogram alls av juridiska skäl.
- PC DOS 7.0 (1995), från IBM, inkluderade en DPMS-aktiverad version av Stacker 4.02 från Stac Electronics.
- Windows 95 (1995), från Microsoft, inkluderade en uppdaterad version av DriveSpace 2 .
- Windows 95 OSR2 (1996), från Microsoft, inkluderade en avskalad version av DriveSpace 3 .
- Windows 95 Plus! (1996), från Microsoft, inkluderade den fullständiga versionen av DriveSpace 3 .
- OpenDOS 7.01 (1997), från Caldera (efter att ha förvärvat Novell DOS), inkluderade en DPMS-aktiverad version av Stacker 3.12 .
- DR-DOS 7.02 (1998), från Caldera, inkluderade en DPMS-aktiverad version av Stacker 3.12 . DR-DOS 7.02 lade också till stöd för Microsofts DriveSpace .
- PC DOS 2000 (1998), från IBM, inkluderade en DPMS-aktiverad version av Stacker 4.02 .
- Windows 98 (1998), från Microsoft, inkluderade den fullständiga versionen av DriveSpace 3 .
- DR-DOS 7.03 (1999), från Caldera, inkluderade en DPMS-aktiverad version av Stacker 3.12 .
- Windows 98 SE (1999), från Microsoft, inkluderade den fullständiga versionen av DriveSpace 3 .
- PTS-DOS Pro 2000 (1999), från Paragon Technology Software , inkluderade en diskkomprimeringskomponent med namnet DATACOMP .
Andra lösningar
- Squeeze , en inbyggd DOS-filkompressor för Lotus 1-2-3 och Lotus Symphony- filer från Turner Hall Publishing
- Squish Plus ROM från Sundog Software, men distribueras exklusivt genom Personalized Software (nu Thaddeus Computing ), var ett speciellt ROM- chip som innehöll en anpassad version av Squish Plus med endast 36 KB fotavtryck anpassat för HP Portable Plus .
- Double Tools for DoubleSpace från Addstor var en tilläggsprodukt, som förbättrade funktionaliteten hos DoubleSpace medföljande MS-DOS 6.0 .
- Multimedia Stacker från Helix Software var en bunt av Stacs DPMS -aktiverade Stacker 4.01 kombinerat med Helix Cloaking och verktyg, som använder Cloakings inbyggda DPMS-server för att flytta och köra i skyddat läge .
- THS filsystem (1994–1996 av Thomas Scheuermann), en drivrutin för komprimerat filsystem för Linux , som kunde läsa vissa CVF:er .
- DMSDOS (1996), en Linux-kärndrivrutin, för att stödja läsning och skrivning av DoubleSpace, DriveSpace 2 & 3, såväl som Stacker 3 & 4-volymer.
Medan Windows XP , från Microsoft, inkluderade både ett inbyggt stöd och ett kommando som heter compact som komprimerar filer på NTFS- system, är det inte implementerat som en separat "komprimerad enhet" som de ovan.
Drift
Diskkomprimering skapar vanligtvis en enda stor fil, som blir en virtuell hårddisk. Detta liknar hur en enda fysisk hårddisk kan partitioneras i flera virtuella enheter. Den komprimerade enheten nås via en enhetsdrivrutin .
Komprimera befintliga enheter
Alla enheter skulle initialt vara tomma. Verktyget för att skapa en enhet skulle vanligtvis erbjuda att "komprimera en aktuell enhet". Detta innebar att verktyget skulle:
- Skapa en tom komprimerad enhet, lagrad på den befintliga enheten.
- Överför befintliga filer på den gamla enheten till den nya komprimerade enheten.
- Öka storleken på den nya komprimerade enheten efter behov för att få plats med fler filer och tillåta tomt utrymme när du är klar.
- När alla filer överfördes byttes enhetsbokstäverna.
Vanligtvis skulle vissa systemfiler inte överföras. Till exempel skulle OS swap-filer bara finnas kvar på värdenheten.
Komprimerar startenheten
En enhetsdrivrutin måste laddas för att komma åt den komprimerade enheten. En komprimerad enhet C: krävde ändringar av startprocessen enligt följande:
- System -BIOS laddar sektor 0 på den första fysiska hårddisken ( Master Boot Record) .
- Partitionssektorn laddar sektor 0 för den startbara partitionen ( Volume Boot Record ) . I det här fallet är det värdenheten.
- Värdenhetssektor 0 laddar (i fallet med DOS ) DOS BIOS ( IO.SYS , IBMBIO.COM etc.) Beroende på version kan endast de första få sektorerna av filen eller hela filen laddas in i minnet. I det första fallet innehåller den laddade stubben en annan laddare som laddar resten av filen från disken. I fallet med DR-DOS är BIOS packat och kommer att dekomprimera sig själv genom en inbäddad dekompressionsrutin.
- DOS BIOS laddar sedan DOS-kärnan ( MSDOS.SYS , IBMDOS.COM etc.)
- Om DOS stöder preload API, försöker DOS BIOS att ladda en förladdningsbar komprimeringsdrivrutin ( DBLSPACE.BIN , DRVSPACE.BIN eller STACKER.BIN ) från roten på värdenheten och försöker kommunicera med den via DOS preload API. Om drivrutinen svarar som förväntat kommer DOS BIOS att behålla drivrutinen, om inte kommer den att kasseras. Om den behålls och konfigureras i enlighet därmed, kan enhetsbokstäver bytas ut, så att den komprimerade enheten blir C:.
- DOS BIOS startar CONFIG.SYS- bearbetning genom att leta efter filen i roten på startenheten. I fallet med DR-DOS DCONFIG.SYS företräde framför CONFIG.SYS, om det finns.
- Komprimeringsdrivrutiner som inte laddas via preload API kan laddas via DEVICE- satser.
- Beroende på konfiguration och om detta inte redan har hänt, kan enhetsbokstäver bytas ut så att den komprimerade enheten blir C:.
- Bearbetningen fortsätter från den komprimerade enheten.
Prestandapåverkan
På system med långsammare hårddiskar kan diskkomprimering faktiskt öka systemets prestanda. Detta åstadkoms på två sätt:
- När den väl komprimerats fanns det mindre data att lagra.
- Diskåtkomster skulle ofta kombineras för effektivitet.
Om systemet var tvungen att vänta ofta på att åtkomst till hårddisken skulle slutföras ( I/O-bunden ) skulle konvertering av hårddisken till komprimerade enheter kunna påskynda systemet avsevärt. Komprimering och dekomprimering av data ökar CPU-användningen. Om systemet redan var CPU-bundet , minskar diskkomprimeringen den totala prestandan.
Nackdelar
Några vanliga nackdelar med att använda diskkomprimering:
- Inte alla komprimeringsverktyg skulle bekräfta frånvaron av fel i FAT-filsystemet innan en disk komprimeras på plats. Vissa fel, som tvärlänkade filer , kan resultera i ytterligare dataförlust under överföringsprocessen.
- Den komprimerade enheten är endast synlig om enhetsdrivrutinen är laddad och den komprimerade enheten är monterad. En startskiva , till exempel, kanske inte innehåller drivrutinen. (Detta var normalt inte ett problem för lösningar som följde med operativsystemen såvida man inte startar upp främmande operativsystem, eftersom systemverktyg som SYS modifierades för att kopiera komprimeringsdrivrutinerna till startdiskar som standard, och motsvarande operativsystem skulle också falla tillbaka till leta efter dem på andra enheter än startskivan om de inte kunde hittas där.)
- Avinstallationen var problematisk om den utökade storleken på data på den komprimerade disken var större än den normala diskkapaciteten.
- Användare insåg inte alltid att den stora filen på värdenheten innehöll den komprimerade enheten. Även om den vanligtvis var "dold" som standard, kunde användare som tyckte att den stora filen var nyfiken eller misstänksam radera den. Detta skulle normalt resultera i dataförlust.
Se även
- RAM-komprimering
- Datakomprimering
- Diskfragmentering
- Körbar komprimering
- Självutdragande arkiv
- kramper
- e2compr
- SquashFS
- MDFAT (DoubleSpace)
- BitFAT (DoubleSpace)
- MDBPB (DoubleSpace)
Anteckningar
- ^ I tvärlänkade filer lagrar två filer åtminstone en del av sina data på samma plats. Åtminstone en del av en fil (den "dåliga" filen) går alltid förlorad i det här fallet. Men om den "dåliga" filen kopieras och sedan raderas, raderas en del av den "bra" filen också. Microsoft SCANDISK skapades delvis för att utföra en bättre kontroll av filsystemet före komprimering än MS-DOS CHKDSK -verktyget.
- ^ Till exempel, DOS associerade upp till fyra attribut med filer: System, Hidden, Read-Only och Archive. Filer med attributen System eller Hidden visas ofta inte som standard. Filer med attributet System eller Read-Only kan inte raderas med ERASE eller DEL DOS. De flesta komprimeringsverktyg skulle markera enhetsfilen med minst ett eller flera av attributen System, Hidden och Read-Only (många skulle använda alla tre). Filer märkta med sådana attribut kan dock visas och raderas på andra sätt. Dessutom kan användaren också ta bort attribut.
externa länkar
- "MS-DOS 6 teknisk referens" . Microsoft .
- "DoubleSpace CVF-fillayout" . ff.
- "Hur säker är diskkomprimering?" . BYTE Magazine . Februari 1994. Arkiverad från originalet 2008-06-19.
- "Hur man... komprimerar hårddiskar" . Smart Computing . april 1999.