Sólin Sólin Rís 05:19 • sest 21:35 í Reykjavík
Tunglið Tunglið Rís 25:18 • Sest 04:56 í Reykjavík
Flóð Flóð Árdegis: 07:07 • Síðdegis: 19:24 í Reykjavík
Fjaran Fjara Árdegis: 01:08 • Síðdegis: 13:14 í Reykjavík

Hvernig eru tölvuskrár geymdar og hvað verður um þær þegar þeim er hent?

Hjálmtýr Hafsteinsson

Hvernig geymast skrár?

Til að skilja betur hvað verður um skrár eftir að þeim er eytt borgar sig að skoða fyrst hvernig skrár eru geymdar eða vistaðar í tölvum. Hér verður miðað við Windows stýrikerfið, en meðhöndlun skráa er svipuð í öðrum stýrikerfum, svo sem Linux og Mac OS. Hægt er að lesa í stuttu máli um helstu stýrikerfi í svari við spurningunni Hver eru aðalstýrikerfin í tölvum í dag? eftir EÖÞ og ÞV.

Þegar skrá er vistuð á harða diskinum (sjá mynd hér að neðan) í tölvu er hún ekki geymd í einni samfelldri blokk, heldur er henni skipt upp í jafnstórar einingar sem kallast klasar (e. cluster). Í Windows XP stýrikerfinu er stærð hvers klasa oftast 4 KB, eða 4096 bæti. Ef skrá inniheldur til dæmis 5000 bæti af gögnum þá þarf að nota tvo klasa til að geyma hana og hún tekur því 8 KB af geymsluplássi á disknum. Fyrri klasinn inniheldur 4096 bæti, en sá seinni afganginn sem er 904 bæti. Stórar skrár geta svo náð yfir marga klasa.



Þegar skrá er vistuð á harða diskinum er reynt að finna nógu marga samfellda klasa til að rúma alla skrána. Þetta er þó ekki alltaf hægt. Þegar diskurinn er næstum fullur getur þurft að setja skrána í klasa sem eru dreifðir víðs vegar um diskinn. Stýrikerfið heldur utan um hvar einstakir klasar skránna eru og í hvaða röð þeir skuli raðast saman. Vandamálið við þetta er að þegar skráin er lesin þurfa leshausar harða disksins að vera á fleygiferð um diskinn til að tína upp einstaka klasa. Þar sem leshausarnir fara frekar hægt yfir getur þetta tafið mjög fyrir lestri skráarinnar. Þegar þetta gerist er talað um að harði diskurinn sé tvístraður (e. fragmented).

Hægt er að lagfæra þetta ástand að nokkru leyti með því að færa klasa einstakra skráa saman og reyna að búa til sem stærst samfellt svæði fyrir þá klasa sem enn eru lausir. Þessi aðgerð kallast samstykkjun (e. defragmentation) og felst í því að afrita gögn á milli klasa og færa þannig alla klasa sömu skráar sem næst hver öðrum á disknum. Þetta getur verið nokkuð tímafrek aðgerð ef diskurinn er mjög tvístraður.

Hvernig er skrám hent?

Fyrir hverja skrá í tölvunni geymir stýrikerfið lista yfir þá klasa sem hún er vistuð í og hvar á disknum þeir eru. Ef skrá er eytt á venjulegan hátt í Windows XP hverfur hún í raun ekki heldur flyst hún yfir í ruslafötuna (e. recycle bin). Ruslafatan er sérstakt skráasafn þar sem skráin er geymd og alltaf hægt að ná í hana aftur. Það er því góð hugmynd að nota sér þessa aðferð við eyðingu skráa, því þá er auðvelt að leiðrétta hugsanleg mistök. Gallinn við þessa aðferð er að auða plássið á diskinum eykst ekkert þar sem skráin er í raun aðeins færð til.


Ekki fara allar eyddar skrár í ruslafötuna. Dæmi um þetta er ef skrá er eytt úr skipanaglugga (með skipuninni DEL), ef Shift-hnappinum er haldið niðri þegar skrá er eytt í Windows Explorer eða ef skrifað er yfir tiltekna skrá með annarri samnefndri skrá. Sama gildir auðvitað þegar ruslafatan er tæmd, þá hverfa skrárnar sem þar eru.

Hvað gerist þá nákvæmlega við eyðingu skráa sem ekki fara í ruslafötuna, eða við tæmingu hennar? Í rauninni er það frekar lítið. Stýrikerfið merkir skrána sem eydda skrá og setur alla klasa hennar á lista yfir klasa sem lausir eru til úthlutunar á ný. Þetta þýðir að strax eftir eyðingu eru nánast allar upplýsingar um skrána og innihald hennar ennþá á tölvunni. Þær eru þó ekki sýnilegar lengur og Windows gefur notanda engan aðgang að þeim. Hins vegar eru til forrit sem geta náð í þessar upplýsingar og endurgert þær skrár sem nægar upplýsingar eru til um. Flest slík forrit þarf að kaupa, til dæmis forritin Undo Delete og File Recover.

Eyði maður skrá fyrir slysni er mikilvægt að keyra sem fyrst endurgerðarforritin sem nefnd eru hér á undan. Þar sem klasar eyddra skráa eru merktir sem lausir til úthlutunar geta nýjar skrár skrifast í þá og gögnin í eyddu skránni glatast. Endurgerðarforritin skoða lausa klasa og reyna að púsla saman eyddum skrám sem voru geymdar í þeim. Ef fólk hefur ekki þegar slík endurgerðarforrit uppsett á tölvunni þarf það að passa að setja forritin ekki upp á þeim diski sem eydda skráin var á; þá gæti endurgerðarforritið yfirskrifað skrána sem því var ætlað að ná tilbaka!

Stundum vill fólk algerlega eyða skrá af hörðum diski þannig að ekki sé hægt að ná í hana aftur. Enn sem komið er býður Windows stýrikerfið ekki upp á slíkt. Það sem þarf því að gera er að skrifa yfir alla klasa skrárinnar með einhverjum tilbúnum gögnum þannig að ekki sé hægt að endurheimta gögn eyddu skrárinnar eins og lýst er hér á undan. Til eru forrit sem gera einmitt þetta. Nokkur þeirra eru ókeypis, til dæmis forritið Eraser. Ef miðað er við endurgerðarforrit eins og hér var lýst er nóg að skrifa yfir klasana einu sinni. Samt eru til öflugri endurgerðaraðferðir sem skoða harða diskinn sjálfan og geta þá stundum séð móta fyrir síðustu tveimur til þremur kynslóðum gagna sem voru skrifuð á hann. Þess vegna ráðleggur til dæmis Bandaríkjaher að skrifað sé sjö sinnum ofan í gögn á diskum áður en þeim er hent til að öruggt sé að ekki verði hægt að lesa aftur það sem skrifað var á þá.

Frekara lesefni af Vísindavefnum:

Upphaflegu spurningarnar voru:

  • Hvað verður um skrár sem maður hendir af tölvu? (Jóhannes Ari, f. 1990)
  • Hvað verður um skrár og möppur sem maður eyðir í tölvum? Er hægt að eyða þeim alveg? (Ólafur Jónsson)
  • Hvað gerist þegar við eyðum skrám í tölvum? (Vignir Stefánsson)
  • Hvað verður um ruslið sem maður hendir út af tölvunni? Fer það inn á einhvern harðan disk? Ef það fer þangað fyllist hann aldrei? (Ari Ágústsson, f. 1987)
  • Hvað gerist þegar maður hendir hlutum í tölvu? Hvert fara hlutirnir sem maður hendir? (Jóhann Garðar Þorbjörnsson, f. 1988)
  • Hvernig virkar Recycle Bin? Eyðast gögnin ekki af disknum fyrr en maður hefur tæmt ruslatunnuna? (Andri Pálsson)
  • Hvernig geta sum forrit endurheimt glötuð gögn eftir að þeim hefur verið hent? (Andri Pálsson)

Myndir:

Höfundur

Hjálmtýr Hafsteinsson

dósent í tölvunarfræði við HÍ

Útgáfudagur

31.10.2005

Spyrjandi

Jóhannes Ari, f. 1990 o. fl.

Tilvísun

Hjálmtýr Hafsteinsson. „Hvernig eru tölvuskrár geymdar og hvað verður um þær þegar þeim er hent?“ Vísindavefurinn, 31. október 2005. Sótt 25. apríl 2024. http://visindavefur.is/svar.php?id=5364.

Hjálmtýr Hafsteinsson. (2005, 31. október). Hvernig eru tölvuskrár geymdar og hvað verður um þær þegar þeim er hent? Vísindavefurinn. Sótt af http://visindavefur.is/svar.php?id=5364

Hjálmtýr Hafsteinsson. „Hvernig eru tölvuskrár geymdar og hvað verður um þær þegar þeim er hent?“ Vísindavefurinn. 31. okt. 2005. Vefsíða. 25. apr. 2024. <http://visindavefur.is/svar.php?id=5364>.

Chicago | APA | MLA

Spyrja

Sendu inn spurningu LeiðbeiningarTil baka

Hér getur þú sent okkur nýjar spurningar um vísindaleg efni.

Hafðu spurninguna stutta og hnitmiðaða og sendu aðeins eina í einu. Einlægar og vandaðar spurningar um mikilvæg efni eru líklegastar til að kalla fram vönduð og greið svör. Ekki er víst að tími vinnist til að svara öllum spurningum.

Persónulegar upplýsingar um spyrjendur eru eingöngu notaðar í starfsemi vefsins, til dæmis til að svör verði við hæfi spyrjenda. Spurningum er ekki sinnt ef spyrjandi villir á sér heimildir eða segir ekki nægileg deili á sér.

Spurningum sem eru ekki á verksviði vefsins er eytt.

Að öðru leyti er hægt að spyrja Vísindavefinn um allt milli himins og jarðar!

=

Senda grein til vinar

=

Hvernig eru tölvuskrár geymdar og hvað verður um þær þegar þeim er hent?
Hvernig geymast skrár?

Til að skilja betur hvað verður um skrár eftir að þeim er eytt borgar sig að skoða fyrst hvernig skrár eru geymdar eða vistaðar í tölvum. Hér verður miðað við Windows stýrikerfið, en meðhöndlun skráa er svipuð í öðrum stýrikerfum, svo sem Linux og Mac OS. Hægt er að lesa í stuttu máli um helstu stýrikerfi í svari við spurningunni Hver eru aðalstýrikerfin í tölvum í dag? eftir EÖÞ og ÞV.

Þegar skrá er vistuð á harða diskinum (sjá mynd hér að neðan) í tölvu er hún ekki geymd í einni samfelldri blokk, heldur er henni skipt upp í jafnstórar einingar sem kallast klasar (e. cluster). Í Windows XP stýrikerfinu er stærð hvers klasa oftast 4 KB, eða 4096 bæti. Ef skrá inniheldur til dæmis 5000 bæti af gögnum þá þarf að nota tvo klasa til að geyma hana og hún tekur því 8 KB af geymsluplássi á disknum. Fyrri klasinn inniheldur 4096 bæti, en sá seinni afganginn sem er 904 bæti. Stórar skrár geta svo náð yfir marga klasa.



Þegar skrá er vistuð á harða diskinum er reynt að finna nógu marga samfellda klasa til að rúma alla skrána. Þetta er þó ekki alltaf hægt. Þegar diskurinn er næstum fullur getur þurft að setja skrána í klasa sem eru dreifðir víðs vegar um diskinn. Stýrikerfið heldur utan um hvar einstakir klasar skránna eru og í hvaða röð þeir skuli raðast saman. Vandamálið við þetta er að þegar skráin er lesin þurfa leshausar harða disksins að vera á fleygiferð um diskinn til að tína upp einstaka klasa. Þar sem leshausarnir fara frekar hægt yfir getur þetta tafið mjög fyrir lestri skráarinnar. Þegar þetta gerist er talað um að harði diskurinn sé tvístraður (e. fragmented).

Hægt er að lagfæra þetta ástand að nokkru leyti með því að færa klasa einstakra skráa saman og reyna að búa til sem stærst samfellt svæði fyrir þá klasa sem enn eru lausir. Þessi aðgerð kallast samstykkjun (e. defragmentation) og felst í því að afrita gögn á milli klasa og færa þannig alla klasa sömu skráar sem næst hver öðrum á disknum. Þetta getur verið nokkuð tímafrek aðgerð ef diskurinn er mjög tvístraður.

Hvernig er skrám hent?

Fyrir hverja skrá í tölvunni geymir stýrikerfið lista yfir þá klasa sem hún er vistuð í og hvar á disknum þeir eru. Ef skrá er eytt á venjulegan hátt í Windows XP hverfur hún í raun ekki heldur flyst hún yfir í ruslafötuna (e. recycle bin). Ruslafatan er sérstakt skráasafn þar sem skráin er geymd og alltaf hægt að ná í hana aftur. Það er því góð hugmynd að nota sér þessa aðferð við eyðingu skráa, því þá er auðvelt að leiðrétta hugsanleg mistök. Gallinn við þessa aðferð er að auða plássið á diskinum eykst ekkert þar sem skráin er í raun aðeins færð til.


Ekki fara allar eyddar skrár í ruslafötuna. Dæmi um þetta er ef skrá er eytt úr skipanaglugga (með skipuninni DEL), ef Shift-hnappinum er haldið niðri þegar skrá er eytt í Windows Explorer eða ef skrifað er yfir tiltekna skrá með annarri samnefndri skrá. Sama gildir auðvitað þegar ruslafatan er tæmd, þá hverfa skrárnar sem þar eru.

Hvað gerist þá nákvæmlega við eyðingu skráa sem ekki fara í ruslafötuna, eða við tæmingu hennar? Í rauninni er það frekar lítið. Stýrikerfið merkir skrána sem eydda skrá og setur alla klasa hennar á lista yfir klasa sem lausir eru til úthlutunar á ný. Þetta þýðir að strax eftir eyðingu eru nánast allar upplýsingar um skrána og innihald hennar ennþá á tölvunni. Þær eru þó ekki sýnilegar lengur og Windows gefur notanda engan aðgang að þeim. Hins vegar eru til forrit sem geta náð í þessar upplýsingar og endurgert þær skrár sem nægar upplýsingar eru til um. Flest slík forrit þarf að kaupa, til dæmis forritin Undo Delete og File Recover.

Eyði maður skrá fyrir slysni er mikilvægt að keyra sem fyrst endurgerðarforritin sem nefnd eru hér á undan. Þar sem klasar eyddra skráa eru merktir sem lausir til úthlutunar geta nýjar skrár skrifast í þá og gögnin í eyddu skránni glatast. Endurgerðarforritin skoða lausa klasa og reyna að púsla saman eyddum skrám sem voru geymdar í þeim. Ef fólk hefur ekki þegar slík endurgerðarforrit uppsett á tölvunni þarf það að passa að setja forritin ekki upp á þeim diski sem eydda skráin var á; þá gæti endurgerðarforritið yfirskrifað skrána sem því var ætlað að ná tilbaka!

Stundum vill fólk algerlega eyða skrá af hörðum diski þannig að ekki sé hægt að ná í hana aftur. Enn sem komið er býður Windows stýrikerfið ekki upp á slíkt. Það sem þarf því að gera er að skrifa yfir alla klasa skrárinnar með einhverjum tilbúnum gögnum þannig að ekki sé hægt að endurheimta gögn eyddu skrárinnar eins og lýst er hér á undan. Til eru forrit sem gera einmitt þetta. Nokkur þeirra eru ókeypis, til dæmis forritið Eraser. Ef miðað er við endurgerðarforrit eins og hér var lýst er nóg að skrifa yfir klasana einu sinni. Samt eru til öflugri endurgerðaraðferðir sem skoða harða diskinn sjálfan og geta þá stundum séð móta fyrir síðustu tveimur til þremur kynslóðum gagna sem voru skrifuð á hann. Þess vegna ráðleggur til dæmis Bandaríkjaher að skrifað sé sjö sinnum ofan í gögn á diskum áður en þeim er hent til að öruggt sé að ekki verði hægt að lesa aftur það sem skrifað var á þá.

Frekara lesefni af Vísindavefnum:

Upphaflegu spurningarnar voru:

  • Hvað verður um skrár sem maður hendir af tölvu? (Jóhannes Ari, f. 1990)
  • Hvað verður um skrár og möppur sem maður eyðir í tölvum? Er hægt að eyða þeim alveg? (Ólafur Jónsson)
  • Hvað gerist þegar við eyðum skrám í tölvum? (Vignir Stefánsson)
  • Hvað verður um ruslið sem maður hendir út af tölvunni? Fer það inn á einhvern harðan disk? Ef það fer þangað fyllist hann aldrei? (Ari Ágústsson, f. 1987)
  • Hvað gerist þegar maður hendir hlutum í tölvu? Hvert fara hlutirnir sem maður hendir? (Jóhann Garðar Þorbjörnsson, f. 1988)
  • Hvernig virkar Recycle Bin? Eyðast gögnin ekki af disknum fyrr en maður hefur tæmt ruslatunnuna? (Andri Pálsson)
  • Hvernig geta sum forrit endurheimt glötuð gögn eftir að þeim hefur verið hent? (Andri Pálsson)

Myndir:...