Hakemisto

Tämä artikkeli käsittelee tiedostojen tallennusta. Hakemisto voi viitata myös kirjassa olevaan hakemistoon, tai tietojenkäsittelytieteessä hakurakenteeseen.

Hakemisto eli kansio on tiedostojen järjestämiseen käytetty rakenne tiedostojärjestelmässä. Teknisestä näkökulmasta hakemisto on erityinen tiedosto, jossa on luettelo siihen liitetyistä tiedostoista.[1]

Hakemistoja ja niiden alla olevia tiedostoja.

Hakemistot ovat niin sanotun toisen sukupolven tiedostojärjestelmän (hierarkkinen tiedostojärjestelmä) ominaisuus ja keskeisessä roolissa.[2][3] Hierarkiset tiedostojärjestelmät ovat olennaisia moderneissa käyttöjärjestelmissä.[3] Kun Unixissa oli hierarkinen tiedostojärjestelmä se ei vielä ollut itsestäänselvyys kaikkialla: esimerkiksi CP/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.[4]

Käyttäjälle hakemisto ilmenee astiana tai säiliönä, joka voi sisältää tiedostoja ja muita hakemistoja.[3] Kansio on Macintoshissa ja Windowsissa käytetty synonyymi hakemistolle.[3]

Hakemistopolkuja käytetään tunnistamaan kappale tiedostojärjestelmässä. Polut sisältävät erotinmerkkkejä sekä komponentteja, jotka ovat muita kuin erotinmerkkejä. Hakemistopolut voivat olla "absoluuttisia" (alkaen juurihakemistosta) tai "suhteellisia", jotka alkavat sen hetkisestä hakemistosta.[5] 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, AmigaOS ja useat muut käyttävät hakemistotasojen erottimena vinoviivaa (/). CP/M, MS-DOS ja Windows käyttävät kenoviivaa (\). Vastaavasti URL-osoitteissa verkkotunnuksen jälkeiset vinoviivat tyypillisesti jäsentävät WWW-palvelimen hakemistopolkua.

Hakemistopolun ja tiedostonimien yhteispituus voi rajoittaa maksimipituutta ja se voi riippua käytetystä merkistöstä. Mac OS X, Solaris ja AIX käyttöjärjestelmissä suurin sallittu yhteispituus on 1024 merkkiä.[6] Linuxissa tiedoston nimelle on 255 merkin maksimi ja yhteispituus voi olla 4096 tavua.[6] Windowsin ohjelmointirajapinnassa suurin sallittu tiedoston polun pituus on 260 merkkiä ("D:\<korkeintaan 256 merkkiä><NUL>"), josta enintään 255 on tiedostonimelle.[7][6] Unicoden kanssa merkkien maksimimäärä voi vaihdella kun yksi merkki voi käyttää useampia tavuja.[6]

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).[2]

Hakemistojen esitystavatMuokkaa

 
Graafisissa käyttö­liittymissä hakemistoa tyypillisesti edustaa kansio-kuvake.

Useissa graafisissa 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älläistä eroa ei ole.

Muun muassa AmigaOS käytti laatikostoja (drawer) hakemistosymboleina ja muitakin on käytetty.

LähteetMuokkaa

  1. K. Thompson: UNIX Implementation (PDF) users.soe.ucsc.edu. Viitattu 8.9.2019. (englanniksi)
  2. a b Jim Salter: Bitrot and atomic COWs: Inside “next-gen” filesystems 15.1.2014. Ars Technica. Viitattu 13.11.2019. (englanniksi)
  3. a b c d Directory Definition linfo.org. Viitattu 23.9.2021. (englanniksi) 
  4. Neil Brown: Ghosts of Unix Past: a historical search for design patterns lwn.net. 27.10.2010. Viitattu 23.10.2020. (englanniksi)
  5. Pathname lookup kernel.org. Viitattu 23.9.2021. (englanniksi)
  6. a b c d File specification syntax ibm.com. Viitattu 23.9.2021. (englanniksi)
  7. http://msdn.microsoft.com/en-us/library/aa365247.aspx#maxpath