Unix File System (UFS) on alkuperäinen Unixin tiedostojärjestelmä.[1] Tiedostojärjestelmän perusteet suunnittelivat Rudd Canaday, Ken Thompson ja Dennis Ritchie.[2] Tiedostojärjestelmän toteutuksen teki Ken Thompson.[1] Käyttöjärjestelmän tärkeimmäksi ominaisuudeksi mainittiin tiedostojärjestelmä vuonna 1974 julkaistussa artikkelissa.[3]

UFS oli hyvin yksinkertainen ja se tuki perustason abstraktioita, joita tiedostojärjestelmä pyrkii tarjoamaan.[1] Tiedostojärjestelmä ei vaadi tiedostoilta mitään tiettyä rakennetta (tiedostot ovat yksiulotteinen joukko tavuja) ja se tukee tiedostojen järjestämistä hakemistoihin.[3][4] Hakemistot ovat tiedostoja, joihin käyttäjä ei voi kirjoittaa.[4] Muita ominaisuuksia ovat polkunimet ja linkitykset: kaikilla linkeillä on samanarvoinen status ja tiedosto on olemassa riippumatta hakemistoviittauksista tiedostoon.[3] Levylle tallennettuna oli superblock, inodet ja data-alue erikseen ja se oli parannus aiempiin kömpelöihin tietuepohjaisiin ratkaisuihin.[1][4] UFS vakiinnutti nykyisen käytännön, joka sallii tiedoston käyttää minkä vain määrän tavuja (ei sidottu "tietueen" kokoon).[5]

Tiedostojärjestelmä oli kuitenkin hidas ja kärsi fragmentaatiosta hidastaen sitä myöhemmin.[1] Vaikuttavana tekijänä hitauteen oli inoden sijainti kaukana tiedoston datasta, jolloin seurasi ylimääräistä hakuviivettä kiintolevyltä.[1] UFS toteutettiin uudestaan nimellä "Fast File System for UNIX" BSD 4.2:ssa (BSD FFS).[5][6] BSD FFS:ään viitataan toisinaan virheellisesti UFS:nä, mutta FFS ja UFS ovat eri tiedostojärjestelmiä.[7]

Tiedostojärjestelmään on tarpeen vaatiessa kehitetty lisäominaisuuksia kuten journalointi ja soft-updates.[8]

UFS on levinnyt laajasti eri käyttöjärjestelmiin (BSD, Nextstep, Mac OS X ja Solaris).[9] FreeBSD:ssä on seuraaja UFS2.[9] UFS-tiedostojärjestelmästä ei ole yhtä standardia toteutusta: siitä on paljon eri variaatioita.[10]

Lähteet muokkaa

  1. a b c d e f Arpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C.: Locality and The Fast File System pages.cs.wisc.edu. Viitattu 16.2.2017.
  2. Richard Jensen: Unix at 50: How the OS that powered smartphones started from failure 29.8.2019. Ars Technica. Viitattu 6.9.2019. (englanniksi) 
  3. a b c Dennis M. Ritchie & Ken Thompson: The UNIX TimeSharing System 1974. Communications of the ACM. Viitattu 6.9.2019. (englanniksi)
  4. a b c K. Thompson: UNIX Implementation (PDF) users.soe.ucsc.edu. Viitattu 8.9.2019. (englanniksi)
  5. a b UFS & FFS cs.clemson.edu. Viitattu 16.2.2017.
  6. Marshall Kirk McKusick & William N. Joy & Samuel J. Leffler & Robert S. Fabry: A Fast File System for UNIX (PDF) people.eecs.berkeley.edu. Viitattu 16.2.2017. (englanniksi)
  7. 9.29 UFS tldp.org. Viitattu 6.11.2020. (englanniksi)
  8. Henson, Val: A Brief History of UNIX File Systems lugod.org. Viitattu 16.2.2017.
  9. a b Allen, Hervey: Introduction to FreeBSD Additional Topics (PDF) pacnog.org. Viitattu 16.2.2017. (englanniksi) 
  10. https://www.kernel.org/doc/html/v5.5/admin-guide/ufs.html