Hakemisto
Hakemisto,myös nimilläkansiotailaatikosto(engl.drawer)[1],ontiedostojenjärjestämiseen käytetty rakennetiedostojärjestelmässä.Teknisestä näkökulmasta hakemisto on erityinen tiedosto, jossa on luettelo siihen liitetyistä tiedostoista.[2]
Hakemistot ovat niin sanotun toisen sukupolven tiedostojärjestelmän (hierarkkinen tiedostojärjestelmä) ominaisuus ja keskeisessä roolissa.[3][4]Hierarkkiset tiedostojärjestelmät ovat olennaisia moderneissakäyttöjärjestelmissä.[4] KunUnixissaoli hierarkkinen tiedostojärjestelmä se ei vielä ollut itsestäänselvyys kaikkialla: esimerkiksiCP/M:ssä tiedostojärjestelmässä ei ollut alihakemistoja ja joissakin muissa järjestelmissä syvyys oli rajattu vain muutamaan tasoon kun taas Unix salli minkä vain syvyyden.[5]
Käyttäjälle hakemisto ilmeneeastianataisäiliönä,joka voi sisältää tiedostoja ja muita hakemistoja.[4]Kansio on Macintoshissa ja Windowsissa käytetty synonyymi hakemistolle.[4]
Hakemistopolkuja käytetään tunnistamaan kappale tiedostojärjestelmässä. Polut sisältävät erotinmerkkejä sekä komponentteja, jotka ovat muita kuin erotinmerkkejä. Hakemistopolut voivat olla "absoluuttisia" (alkaenjuurihakemistosta) tai "suhteellisia", jotka alkavat sen hetkisestä hakemistosta.[6]
Hakemisto voi sisältää tiedostojen lisäksi muita hakemistoja eli alihakemistoja. Sisäkkäisistä hakemistoista muodostuu tiedostojärjestelmän hakemistorakenne eli hakemistopuu.Unix-tyyppiset käyttöjärjestelmät,AmigaOSja useat muut käyttävät hakemistotasojen erottimenavinoviivaa(/
).CP/M,MS-DOSjaWindowskäyttävätkenoviivaa(\
). VastaavastiURL-osoitteissaverkkotunnuksenjälkeiset vinoviivat tyypillisesti jäsentävät WWW-palvelimen hakemistopolkua.OpenVMSkäyttää hakemistoerottimena pistettä (.
) ja vanhaMac OS(ennen OS X:ää) kaksoispistettä (:
).
Hakemistopolun ja tiedostonimien yhteispituus voi rajoittaa maksimipituutta ja se voi riippua käytetystämerkistöstä. Mac OS X,SolarisjaAIXkäyttöjärjestelmissä suurin sallittu yhteispituus on 1024 merkkiä.[7]Linuxissatiedoston nimelle on 255 merkin maksimi ja yhteispituus voi olla 4096tavua.[7] Windowsinohjelmointirajapinnassasuurin sallittu tiedoston polun pituus on 260 merkkiä ( "D:\<korkeintaan 256 merkkiä><NUL>" ), josta enintään 255 on tiedostonimelle.[8][7]Unicodenkanssa merkkien maksimimäärä voi vaihdella kun yksi merkki voi käyttää useampia tavuja.[7] OpenVMS:ssäODS-5tiedostojärjestelmällä nimen pituus voi olla 236 8-bittistä tai 118 16-bittistä merkkiä.[9]
Vanhanaikaisissa tai yksinkertaisissa tietokonejärjestelmissä (sulautetut järjestelmät) ei välttämättä ole hakemistoja lainkaan, vaan kaikki tiedostot tallentuvat suoraan juurihakemistoon (ensimmäisen sukupolven tiedostojärjestelmät).[3]
Hakemistojen esitystavat
[muokkaa|muokkaa wikitekstiä]Useissagraafisissa käyttöliittymissähakemisto voidaan esittääkansion(folder) näköiselläkuvakkeella.Tämän tarkoitus on havainnollistaa ajatusta, että tiedostoja voidaan säilyttää ikään kuin kansion sisällä. Graafisten käyttöliittymien esitystavat vaihtelevat ja niissä on toisinaan erinäköisiä kansioita, kun taas tiedostojärjestelmän kannalta tällaista eroa ei ole.
Muun muassa AmigaOS käytti laatikostoja (drawer) hakemistosymboleina.[10]Muitakin esitystapoja on käytetty.
Lähteet
[muokkaa|muokkaa wikitekstiä]- ↑Using The Amiga Workbenchcomputinghistory.org.uk.Viitattu 14.4.2022.(englanniksi)
- ↑K. Thompson:UNIX Implementation(PDF)users.soe.ucsc.edu.Viitattu 8.9.2019.(englanniksi)
- ↑abJim Salter:Bitrot and atomic COWs: Inside “next-gen” filesystems15.1.2014. Ars Technica. Viitattu 13.11.2019.(englanniksi)
- ↑abcdDirectory Definitionlinfo.org.Viitattu 23.9.2021.(englanniksi)
- ↑Neil Brown:Ghosts of Unix Past: a historical search for design patternslwn.net.27.10.2010. Viitattu 23.10.2020.(englanniksi)
- ↑Pathname lookupkernel.org.Viitattu 23.9.2021.(englanniksi)
- ↑abcdFile specification syntaxibm.Viitattu 23.9.2021.(englanniksi)
- ↑http://msdn.microsoft /en-us/library/aa365247.aspx#maxpath
- ↑OpenVMS Guide to Extended File Specifications(PDF)vmssoftware.Viitattu 14.4.2022.(englanniksi)
- ↑The Amiga Workbenchtheamigamuseum.Viitattu 6.1.2022.(englanniksi)[vanhentunut linkki]