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