Tiedostojärjestelmä
Tiedostojärjestelmä on käyttöjärjestelmän toiminto, jolla informaatio järjestetään massamuistiin. Käyttöjärjestelmä tekee abstraktion tallennusmedian fyysisistä ominaisuuksista ja tarjoaa loogisen tallennusyksikön eli tiedoston. Käyttöjärjestelmä hallinnoi tiedostojen sijoittamisen fyysiseen tallennuslaitteeseen, joka on normaalisti haihtumatonta eli tallennettu sisältö säilyy virran katkaisussa ja järjestelmän uudelleen käynnistyksessä. Tiedostojärjestelmä tallettaa tiedostojen lisäksi hakemistorakenteen ja tiedostojen käyttöoikeudet.[1]
Käyttäjän näkökulmasta tiedostojärjestelmä on käyttöjärjestelmän tärkeimpiä ominaisuuksia, joka pitää huolen tietojen säilömisestä pitkäaikaisesti, ja mahdollistaa tietojen järjestämisen kätevällä tavalla.[2]
Fyysisellä massamuistilaitteella tiedostot ja hakemistot voivat olla tallennettuna pieninä paloina eikä jatkuvina kokonaisuuksina. Tiedostojärjestelmä pitää huolen palojen sijainnista, jotta tiedosto näkyy yhtenä jatkuvana kokonaisuutena sitä käsittelevälle ohjelmalle. Tiedostot järjestetään loogiseen hakemistohierarkiaan (hakemistopuu), joka säilötään erikseen tiedostojärjestelmässä.
Tiedostojärjestelmä luodaan tyypillisesti massamuistille tai kiintolevyn osiolle. Windows-käyttöjärjestelmässä osiot näkyvät eri levyasemakirjaimina. Unix-tyyppisissä käyttöjärjestelmissä eri tiedostojärjestelmiä ei oteta automaattisesti käyttöön kuin järjestelmän käynnistyksen vaatimat. Loput tiedostojärjestelmät liitetään (engl. mount) hakemistopuuhun hakemistojen alle. Esimerkiksi hakemisto /home
voi olla liitoskohta (mount point) tiedostojärjestelmälle joka sisältää käyttäjien omat tiedot. Myös uudemmat Windows-käyttöjärjestelmät osaavat liittää tiedostojärjestelmiä hakemistopuuhun.
Historia
muokkaaTiedostojärjestelmät voidaan jakaa sukupolviin seuraavasti:[3]
- sukupolvi 0: ei järjestelmää, vain tietovirta. Esimerkiksi reikäkortti tai C-kasetti.
- sukupolvi 1: varhainen hajasaanti. Useampia nimettyjä tiedostoja ilman hakemistoja tai metatietoa.
- sukupolvi 2: varhainen järjestäminen (hakemistot, kansiot). Paljon tiedostoja.
- sukupolvi 3: metatiedot kuten käyttäjäoikeudet ja omistajuus. Useiden käyttäjien tuki.
- sukupolvi 4: journalointi, joka parantaa vikasietoisuutta ongelmatilanteissa ja tekee epätodennäköisemmäksi tietojen menettämisen.
Viidennen sukupolven määrittää sisäänrakennettu taltionhallinta, lohkokohtainen tarkistussumma, itsekorjaava RAID, copy-on-write tilannekuvat, asynkroninen replikointi ja tulevaisuuteen skaalautuvuus.[3]
Tiedostojärjestelmän ikä ei vastaa sen sukupolvea: uudet sulautettuihin järjestelmiin suunnatut tai muut erikoistuneet tiedostojärjestelmät eivät sisällä uudemman sukupolven ominaisuuksia kuten zonefs:ssä.[4][5]
Ensimmäinen käyttöjärjestelmä, jossa oli hierarkkinen tiedostojärjestelmä, oli mahdollisesti Multics.[6] Multicsin tiedostojärjestelmästä kerrottiin vuonna 1965, jossa mainittiin että tiedosto oli vain lineaarinen taulukko dataa, johon voidaan viitata symbolisellä nimellä.[7] Unixissa oli hierarkkinen tiedostojärjestelmä, joka salli minkä tahansa syvyyden hakemistopuulle.[8]
Hakemistot ja tiedostot
muokkaaNykyiset tiedostojärjestelmät sisältävät käyttäjälle näkyviä tiedostoja, jotka organisoituvat hierarkkiseksi (tai joskus jopa verkkomaiseksi) järjestelmäksi hakemistojen (engl. directory) avulla. Teknisestä näkökulmasta hakemistot ovat tiedostoja, joissa on luettelo tiedostoista.[9] Tyypillisesti tiedostot ovat tiedostojärjestelmän kannalta vain yksiulotteinen joukko tavuja ilman tiettyä rakennetta.[9]
Graafisissa käyttöliittymissä hakemistot esitetään usein kansioina (engl. folder) tai laatikostoina (engl. drawer).[10]
Tiedostojärjestelmän perustaso on niin sanottu juurihakemisto (engl. root), joka sisältää kaikki tiedostot ja hakemistot. Sisäkkäisistä hakemistoista muodostuu haarautuva, puumainen kokonaisuus, joka usein esitetään ylösalaisin, niin että juurihakemisto on ylhäällä ja hakemistopuu haarautuu alaspäin. Vaihtoehtoisesti juurihakemisto voi olla vasemmalla, jolloin hakemistopuu haarautuu ensisijaisesti oikealle. Tiedostoihin ja hakemistoihin viitataan hakemistopolun avulla eli luettelemalla sisäkkäiset hakemistot tiedostojärjestelmän juuresta lähtien. Tällöin hakemistot tyypillisesti erotetaan toisistaan ja tiedostosta vinoviivalla (/
) tai kenoviivalla (\
) joskin muitakin tapoja on käytetty:
/etc/apt/sources.list
A:\ATK\OMAT\Sol.exe
x.Y
(OpenVMS)[11]Hard Drive:My Folder:My Document
("Classic" Mac OS)[12]
Tiedostojärjestelmä voi sisältää symbolisia tai kovia linkkiä tiedostoihin: tiedostolla voi olla useampia nimiä ja samaan tiedostoon voidaan viitata myös eri hakemistosta.[13] Kovalinkityllä tiedostolla on sama inode riippumatta nimestä ja sitä ei voida tehdä hakemistolle.[13] Symbolinen linkki (myös pehmeä linkki) ei sisällä kohteen tietoja ja kohde voi sijaita myös esimerkiksi verkkolevyllä.[14]
Tilanvaraus
muokkaaTähän artikkeliin tai osioon ei ole merkitty lähteitä, joten tiedot kannattaa tarkistaa muista tietolähteistä. Voit auttaa Wikipediaa lisäämällä artikkeliin tarkistettavissa olevia lähteitä ja merkitsemällä ne ohjeen mukaan. |
Tiedostojärjestelmän tärkeä ominaisuus on hallita massamuistin vapaata ja varattua tilaa. Tämä koskee tietokoneeseen liitettyä fyysisista mediaa, ei niinkään verkkotiedostojärjestelmiä (niiden tilanvaraus tapahtuu palvelinkoneen massamuistilla).
Tyypillisesti massamuisti jaetaan määräkokoisiin lohkoihin, varausyksiköiksi (engl. allocation unit). Varausyksiköt ovat tyypillisesti 512 tavun kerrannaisyksikköjä (2x, 4x, 8x, 16x, jne.), mutta niiden tarkka koko riippuu tiedostojärjestelmästä ja sen parametreista. Pieni varausyksikkö lisää levyn kirjanpitoon kuluvaa tilaa ja saattaa hidastaa toimintaa. Suuri varausyksikkö taas tuhlaa tilaa pieniä tiedostoja tallennettaessa. Joissain tiedostojärjestelmissä kierretään ongelma tallentamalla useita pieniä tiedostoja yhteen varausyksikköön tai varatun tilan koko voi vaihdella tarvittaessa, esimerkiksi Btrfs (engl. block suballocation).
Yksittäisten lohkojen sijaan voidaan käyttää extent -lohkoja suurien jatkuvien osien varaamiseen suurille tiedostoille, jolloin vältetään yksittäisten lohkojen varaamiset: esimerkiksi JFS ja Ext4 tukevat tätä ominaisuutta.[15]
Tiedostot pyritään tallentamaan siten että niille varattu tila on yhtenäinen. Jos näin ei voida tehdä, sanotaan että tiedosto fragmentoituu eli pirstoutuu. Tämä on haitallista etenkin levymuisteilla, koska tiedostoa luettaessa joudutaan lukupäätä siirtämään, mikä vie aikaa ja hidastaa toimintoa. Tilanvaraus on vaikeaa, koska käyttöjärjestelmä ei yleensä tiedä tiedoston kokoa kun sitä aletaan kirjoittaa. Lisäksi vanhoja tiedostoja poistettaessa myös tiedostojärjestelmän tyhjä tila fragmentoituu. Tämä vuoksi joissain käyttöjärjestelmissä on mukana erityinen ohjelma tiedostojärjestelmän tiedostojen tai/ja tyhjän tilan eheyttämiseksi eli defragmentoimiseksi.
Yksi tilanvaraukseen liittyvä erikoiskysymys on vapaan tilan hallinta. Vapaa tila voidaan käsittää tilaksi, joka ei ole minkään tiedoston käytössä (esim. MS-DOSin FAT). Vapaa tila voi myös olla erikoinen tiedosto tai tiedostoja, joista siirretään tilaa muille tiedostoille tarvittaessa. Eräissä käyttöjärjestelmissä voidaan myös rajoittaa osa tilasta vain ylikäyttäjän käyttöön siten että tavallinen käyttäjä ei voi täyttää levyä ja kaataa tärkeitä palvelinohjelmistoja.
Tiedostojärjestelmän tallentamat tiedot
muokkaaTiedostojärjestelmä tallentaa tiedostojen data lisäksi myös muita tietoja. Tiedoston nimi on tyypillisin. Lisäksi tiedostojärjestelmä pitää kirjaa tiedostoihin liittyvistä aikaleimoista kuten luontipäivä, muutospäivä tai viimeisin lukupäivä (tiedoston avaus) tai sen tilan muutos. Muita tiedostoihin liittyviä tietoja ovat niiden tyypit ja tietoturvaan liittyvät tiedot, kuten tiedoston omistaja/luoja ja pääsylistat. Tilanvaraukseen liittyviä tietoja ovat tiedoston koko ja sille varatut varausyksiköt.
- Katso myös: Tiedostoattribuutti
Käsitteitä
muokkaa- Journalointi eli lokinpito tarkoittaa tiedostojärjestelmän kykyä säilyttää tiedon johdonmukaisuus vaikka tietokoneen toiminta katkeaisikin virtakatkokseen tai ohjelmistovirheeseen. Tämä saavutetaan pitämällä kirjaa tehdyistä muutoksista erityisellä tiedostojärjestelmän osalla (loki, engl. journal), josta tiedot päivitetään transaktion päättymisen jälkeen varsinaiseen tiedostojärjestelmään. Ilman journalointia tiedostojärjestelmän eheyttäminen erilaisilla työkaluilla, kuten fsck Unixin kaltaisissa järjestelmissä, on hitaampaa eikä välttämättä yhtä tuloksellista.[16]
- Osio (engl. partition) on yhdelle massamuistille luotu alue, jolle luodaan erillinen tiedostojärjestelmä kapasiteetin jakamiseksi
- Tilannekuva (engl. snapshot) tarkoittaa hetkellisen tilanteen jäädyttämistä, jotta tilanteeseen voidaan palata myöhemmin. Tämä voi myös helpottaa varmennuksien tekemistä.
- Taltio (engl. volume) viittaa useiden levyjen kapasiteetin yhdistämiseen virtuaaliseksi levyksi, vähintään yhden osion kapasiteetti.
- Klusteroitu tiedostojärjestelmä tarkoittaa levyjärjestelmää, joka kattaa useiden tietokoneiden levykapasiteetin. Klusteroituja tiedostojärjestelmiä on pääasiassa kahta tyyppiä: hajautettu levyjärjestelmä sekä jaettu levyjärjestelmä. Tiedostojärjestelmä voi rakentua esimerkiksi TCP/IP protokollan päälle tai muiden kuten Fibre Channel, iSCSI, InfiniBand. Klusteroitua tiedostojärjestelmää kutsutaan toisinaan myös verkkotiedostojärjestelmäksi.
- Verkkotiedostojärjestelmä: katso Klusteroitu tiedostojärjestelmä
- inode on Unix- ja Unixin kaltaisissa käyttöjärjestelmissä käytetty tietorakenne, joka sisältää tiedostosta kaiken muun tiedon paitsi sen nimen ja varsinaisen sisällön (datan)[17]
Unix-tyyppisten käyttöjärjestelmien tiedostojärjestelmiä
muokkaaKategoriaan kuuluvat nimenomaan Unix-tyyppisille käyttöjärjestelmille kehitettyjä tiedostojärjestelmiä, joita voidaan tukea myös muunkaltaisilla alustoilla.
Unix Filesystem (UFS)
muokkaa- Pääartikkeli: Unix File System
- UFS on Unixin alkuaikojen tiedostojärjestelmä, joka vakiinnutti nykyisen käytännön joka sallii tiedoston käyttää minkä vain määrän tavuja (ei sidottu ”tietueen” kokoon).[18]
- UFS on levinnyt laajasti eri käyttöjärjestelmiin (BSD, Nextstep, Mac OS X ja Solaris).[19]
- Alkuaikojen tiedostojärjestelmä oli hyvin yksinkertainen toteuteukselta ja myös hyvin hidas.[20]
- Siihen on tarpeen vaatiessa kehitetty lisäominaisuuksia kuten journalointi ja soft-updates.[21]
- Ei yhtä standardia toteutusta: paljon eri variaatioita.[22]
Fast File System (FFS)
muokkaaUFS2
muokkaaAdvFS
muokkaa- Digital Equipment Corporationin AdvFS-tiedostojärjestelmä Digital Unixissa (myöhemmin Tru64 UNIX)
BFS
muokkaaEFS
muokkaa- SGIn IRIX käyttöjärjestelmässä, korvasi aiemman tiedostojärjestelmän (System V -tyyppisen)[24]
- myöhemmin korvattu XFS tiedostojärjestelmällä
Hi Performance FileSystem (HFS)
muokkaa- HP-UX käytössä ollut tiedostojärjestelmä (eri kuin Mac OS:n Hierarchical File System)
- Variaatio alkuperäisestä Unix UFS-tiedostojärjestelmästä
LFS
muokkaa- Log-structured File System on Berkeleyssä kehitetty lokirakenteinen tiedostojärjestelmä[25]
QNX4FS, QNX6FS
muokkaaVeritas File System (VxFS)
muokkaa- 1988 lähtien[21]
- perustunut UFS:ään alkuaikoina, myöhemmin BSD FFS[21]
- useille alustoille, mm. HP-UX
XFS
muokkaa- Pääartikkeli: XFS
- XFS on Silicon Graphicsin (SGI) kehittämä journaloiva tiedostojärjestelmä, joka on kehitetty SGI:n IRIX-käyttöjärjestelmälle.[27][28]
- Täysin 64-bittinen journaloiva tiedostojärjestelmä.[29]
- Otettiin mukaan viralliseen Linux-kerneliin kehitysversiossa 2.5.36, mutta oli saatavilla ja yleisesti käytössä jo 2.4-sarjan aikana kernelistä 2.4.23 lähtien.[29]
ZFS
muokkaa- Pääartikkeli: ZFS
- Sun Microsystemsin kehittämä alun perin Solaris-käyttöjärjestelmälle.
- lähdekoodit on julkaistu CDDL-lisenssillä OpenSolaris projektissa
- vuonna 2010 Oracle Corporation jatkoi kehitystä suljetussa haarassa, jolloin avoimen lähdekoodin versio jatkui OpenZFS projektina[30]
Linuxin tiedostojärjestelmät
muokkaaLinux osaa käyttää kymmeniä eri tiedostojärjestelmiä virtuaalisen tiedostojärjestelmän (VFS, Virtual File System) abstraktiokerroksen ansiosta.[31][32] VFS tarjoaa käyttäjän prosesseille yhtenäisen rajapinnan tiedostojärjestelmiin. VFS määrittää yhteisen tiedostomallin, joka voi esittää minkä tahansa tiedostojärjestelmän ominaisuuksia ja toimintoja.[33]
Listassa (paitsi minix) nimenomaan Linuxille kehitettyjä tiedostojärjestelmiä.
Minix, xiafs
muokkaaLinuxin alkuperäinen tiedostojärjestelmä oli Minix-käyttöjärjestelmän tiedostojärjestelmä. Seuraavan sukupolven tiedostojärjestelmiä olivat muun muassa xiafs ja extfs, jotka ovat nykyään jääneet käytöstä.
ext2fs, ext3fs, ext4fs
muokkaaVersiot ovat yhteensopivia siltä osin kuin uusia ominaisuuksia ei käytetä, esimerkiksi voi ext3fs:n liittää ext2fs:nä, jolloin journali ei sillä kerralla ole käytössä.
Ext2
muokkaa- Pääartikkeli: Ext2
Ext2 korvasi aiemman Extfs:n vuonna 1993.[34]
Ext2 on vielä suosittu esimerkiksi Flash- ja USB-muisteilla.[34]
Ext3
muokkaaExt3 kehittyi laajennuksena aiemmalle Ext2:lle vuonna 1998.[34]
Ext3 tukee journalointia.[34]
Ext4
muokkaa- Pääartikkeli: Ext4
Ext4 kehittyi edelleen Ext3:sta ja julkaistiin Linux versiossa 2.6.28 vuonna 2008.[34]
Ext4 tukee journalointia.[34]
bcachefs
muokkaabcachefs on tiedostojärjestelmä, joka tukee muun muassa copy-on-write -mekanismia, tilannekuvia ja useita tallennusvälineitä.[35] bcachefs on julkaistu Linuxin ytimen versiossa 6.7.[36] bcachefs:n pääkehittäjä on Kent Overstreet, joka kehitti sen edelleen lohkotason välimuistiratkaisusta (bcache).[37]
Btrfs
muokkaa- Pääartikkeli: Btrfs
Btrfs on uutta kehitystä edustava tiedostojärjestelmä suunniteltu tukemaan copy-on-write mekanismia.[38] Btrfs tukee levyjärjestelmiä 16 eksatavuun saakka, joko suurina levyinä tai levyryhminä.[39]
Tiedostojärjestelmän kehityksen aloitti Oracle Corporation Linuxia varten vuonna 2007.[39] Tiedostojärjestelmän käyttäjiä ovat mm. Facebook.[40] Myös Jolla Oy:n Sailfish OS käyttää tiedostojärjestelmää.
F2FS
muokkaaSamsungin kehittämä tiedostojärjestelmä Linuxille, joka on suunniteltu käyttöön Flash-muistia käyttävillä massamuisteilla kuten SSD-levyt, eMMC ja SD-kortit.[41]
NILFS
muokkaaNILFS (lyhenne sanoista New Implementation of a Log-structured Filesystem) on lokirakenteinen tiedostojärjestelmä, joka on kehitetty Linuxille.[42][43][44] Lokirakenteiset tiedostojärjestelmät kirjoittavat rengaspuskurin tapaan aina loppuun, joka on nopea kirjoittaa mutta hitaampaa lukea.[42] Ominaisuuksiin kuuluu tilannekuvat.[42]
FUSE
muokkaaLinuxin FUSE (engl. Filesystem in Userspace) mekanismin avulla tuetaan tiedostojärjestelmiä, joiden lähdekoodit eivät lisenssiltään yhteensopivia suoraan ytimeen liittämiseksi. Ubuntu käyttää tätä NTFS-tuen kanssa.
ReiserFS ja Reiser4
muokkaaReiserFS oli ensimmäinen journaloiva tiedostojärjestelmä, joka otettiin mukaan Linuxiin (versiossa 2.4.1-pre4). Sen alkuperäinen nimi oli TreeFS, mutta erinäisten syiden vuoksi se nimettiin lopulta suunnittelijansa Hans Reiserin mukaan. ReiserFS:n erityispiirteitä ovat muun muassa mahdollisuus pakata useita pieniä tiedostoja samalle varausyksikölle, puurakenteesta johtuva hyvä suorituskyky käytettäessä paljon pieniä tiedostoja sisältäviä hakemistoja sekä dynaamisten varausyksiköiden käyttö. Näiden piirteiden vuoksi sitä käytetään usein uutisryhmäpalvelimissa ja muissa vastaavissa kohteissa.
Hans Reiserin pidätyksen ja murhatuomion jälkeen ja hänen yrityksensä ajauduttua konkurssiin tiedostojärjelmän kehitys ja käyttö on lakannut. Alkuvuodesta 2023 Linux-kehittäjät päättivät poistaa tiedostojärjestelmän Linuxista ja sen käyttö antaa varoituksen, jonka mukaan tiedostojärjestelmä poistuu vuoden 2025 aikana.[45]
Reiser4 on pääosin saman kehittäjäryhmän toteuttama kokonaan uusi tiedostojärjestelmä, jota ei ikinä otettu mukaan Linux-ytimeen. Tiedostojärjestelmää kehittää edelleen entinen Namesysin työntekijä Edward Shishkin, joka julkaisi 2019 uuden Reiser5:n.[46]
Microsoftin tiedostojärjestelmät
muokkaaFAT (File Allocation Table)
muokkaa- Pääartikkeli: FAT
- Sijainti osion nollauralla
- Pitää kirjaa muun muassa tiedoston nimestä, koosta, tiedostoattribuuteista ja varausyksiköistä, jotka sisältävät itse tiedoston tiedot.
- Kiintolevyn (tai paremminkin sen osion) koko vaikuttaa varausyksikön kokoon.
- Tiedostojärjestelmään on myöhemmin lisätty ominaisuuksia jotka mahdollistavat yli 8+3 merkin tiedostonimet (ns. VFAT) ja yli 2 GB levyosiot (ns. FAT32).
NTFS (New Technology File System)
muokkaa- Pääartikkeli: NTFS
Applen tiedostojärjestelmät
muokkaaMacintosh File System (MFS)
muokkaa- Alkuperäisen Mac OS:n Macintosh File System
Hierarchical File System (HFS/HFS+)
muokkaa- Alkuperäisen Mac OS:n Hierarchical File System
- HFS Plus (HFS+) lisäsi tuen journaloinnille[47]
- OS X käyttöjärjestelmässä myös nimellä Mac OS Extended
Apple File System (APFS)
muokkaa- Mac OS X:ssä esitelty Apple File System korvasi edeltävän HFS/HFS Plus tiedostojärjestelmän vuonna 2017[48][49]
IBM:n tiedostojärjestelmät
muokkaaHierarchical File System (IBM MVS)
muokkaa- IBM z/OS käyttämä tiedostojärjestelmä
- eri kuin HP-UX tai Mac OS tiedostojärjestelmät (jotka myös lyhennetään HFS)
HPFS
muokkaaJFS
muokkaa- Pääartikkeli: JFS
- IBM:n kehittämä journaloiva tiedostojärjestelmä, julkaistu AIX-käyttöjärjestelmän versiossa 3.1.[50]
- Kaksi merkittävää versiota: 32-bittinen JFS (JFS1) ja 64-bittinen Enhanced JFS (JFS2)[51][50]
- Julkaistu myös OS/2:lle[50]
- Linuxille julkaistu täysin 64-bittinen GPL-lisenssillä[50][52]
- Otettiin mukaan viralliseen Linuxin epävakaassa kehitysversiossa 2.5.6-pre2 julkaisuun ja 2.4-sarjassa 2.4.20-pre4 julkaisuun.
zFS (IBM)
muokkaaMuiden alustojen tiedostojärjestelmät
muokkaaBeFS
muokkaa- Pääartikkeli: Be File System
Files-11
muokkaa- Pääartikkeli: Files-11
OFS/FFS
muokkaaHajautetut levyjärjestelmät
muokkaa- Pääartikkeli: Hajautettu levyjärjestelmä
AFS (Andrew Filesystem)
muokkaa- Pääartikkeli: Andrew File System
NFS (Network Filesystem)
muokkaa- Pääartikkeli: Network File System
- Sun Microsystemsin kehittämä, avoin IETF standardi (RFC)
SMB (Server Message Block)
muokkaa- Pääartikkeli: Server Message Block
- IBM:n ja Microsoftin kehittämä
9P
muokkaa- Pääartikkeli: 9P
- Plan 9 käyttöjärjestelmään kehitetty protokolla
xFS
muokkaa- Berkeleyn yliopiston hajautettu tiedostojärjestelmä[53][54]
Jaetut levyjärjestelmät
muokkaa- Pääartikkeli: Jaettu levyjärjestelmä
GFS/GFS2
muokkaa- Global File System on kehitetty aluksi IRIX:lle, sitten siirretty Linuxille
- GFS2 on myöhemmin uudestaan kirjoitettu versio (Red Hat)
GPFS
muokkaa- IBM:n kehittämä jaettu levyjärjestelmä suurtietokonekäyttöön
- julkaistu alun perin IBM:n AIX -käyttöjärjestelmälle 1998, Linuxeille 2001 ja Microsoft Windows Server 2003 R2 (64-bit) vuonna 2008
OCFS/OCFS2
muokkaa- Oracle Corporation kehittämä jaettu levyjärjestelmä
- nimi Oracle Cluster File System
- julkaistu Linuxille
Muut tiedostojärjestelmät
muokkaaISO 9660
muokkaa- CD-ROM standardi tiedostojärjestelmä
- myös laajennuksia kuten Rock Ridge, Joliet
UDF
muokkaaUniversal Flash Storage (UFS)
muokkaa- JEDECin määrittelemä tiedostojärjestelmä flash-muistin kanssa käyttöön[56]
Katso myös
muokkaaLähteet
muokkaa- ↑ Silberschatz & Galvin & Gagne: Operating System Concepts, s. 421-422. (Eighth edition) Wiley, 2009. ISBN 978-0-470-12872-5 (englanniksi)
- ↑ William Stallings: Operating System Internals and Design Principles, s. 522. (Seventh edition) Prentice Hall, 2012. ISBN 978-0-13-230998-1 (englanniksi)
- ↑ a b Jim Salter: Bitrot and atomic COWs: Inside “next-gen” filesystems 15.1.2014. Ars Technica. Viitattu 13.11.2019. (englanniksi)
- ↑ Damien Le Moal: [PATCH v4 0/2 New zonefs file system] lkml.iu.edu. 25.12.2019. Viitattu 10.2.2020. (englanniksi)
- ↑ What is Zoned Storage and the Zoned Storage Initiative? 14.6.2019. Western Digital. Viitattu 10.2.2020. (englanniksi)
- ↑ Multics Software Features multicians.org. Viitattu 24.9.2021. (englanniksi)
- ↑ R. C. Daley & P. G. Neumann: A general-purpose file system for secondary storage dl.acm.org. 1965. doi:10.1145/1463891.1463915 Viitattu 14.4.2022. (englanniksi)
- ↑ Neil Brown: Ghosts of Unix Past: a historical search for design patterns lwn.net. 27.10.2010. Viitattu 23.10.2020. (englanniksi)
- ↑ a b K. Thompson: UNIX Implementation (PDF) users.soe.ucsc.edu. Viitattu 8.9.2019. (englanniksi)
- ↑ Using The Amiga Workbench computinghistory.org.uk. Viitattu 14.4.2022. (englanniksi)
- ↑ a b OpenVMS Guide to Extended File Specifications (PDF) vmssoftware.com. Viitattu 14.4.2022. (englanniksi)
- ↑ File Separator oreilly.com. Viitattu 14.4.2022. (englanniksi)
- ↑ a b Hard Link Definition linfo.org. Viitattu 25.2.2020. (englanniksi)
- ↑ Create a symbolic link in Unix kb.iu.edu. Viitattu 25.2.2020. (englanniksi)
- ↑ Archived - Anatomy of ext4 developer.ibm.com. 17.2.2009. Viitattu 12.2.2020. (englanniksi)
- ↑ Arpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C.: Crash Consistency: FSCK and Journaling (PDF) pages.cs.wisc.edu. Viitattu 16.2.2017.
- ↑ Inode Definition linfo.org. Viitattu 23.10.2020. (englanniksi)
- ↑ a b UFS & FFS cs.clemson.edu. Viitattu 16.2.2017.
- ↑ a b Allen, Hervey: Introduction to FreeBSD Additional Topics pacnog.org. Viitattu 16.2.2017.
- ↑ Arpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C.: Locality and The Fast File System pages.cs.wisc.edu. Viitattu 16.2.2017.
- ↑ a b c Henson, Val: A Brief History of UNIX File Systems lugod.org. Viitattu 16.2.2017.
- ↑ https://www.kernel.org/doc/html/v5.5/admin-guide/ufs.html
- ↑ A Fast File System for UNIX people.eecs.berkeley.edu. Viitattu 16.2.2017.
- ↑ a b c 9. Other filesystems martin.hinner.info. Viitattu 16.2.2017.
- ↑ Arpaci-Dusseau, Remzi H. & Arpaci-Dusseau, Andrea C.: Log-structured File Systems pages.cs.wisc.edu. Viitattu 16.2.2017.
- ↑ QNX File Systems linux.org. Viitattu 16.2.2017.
- ↑ CHAPTER 6. THE XFS FILE SYSTEM Red Hat. Viitattu 16.2.2017.
- ↑ 6.1 About the XFS File System Oracle. Viitattu 16.2.2017.
- ↑ a b XFS: A high-performance journaling filesystem SGI. Arkistoitu 3.2.2016. Viitattu 16.2.2017.
- ↑ History open-zfs.org. Viitattu 16.2.2017.
- ↑ https://www.kernel.org/doc/Documentation/filesystems/
- ↑ Overview of the Linux Virtual File System kernel.org. Viitattu 19.4.2020. (englanniksi)
- ↑ William Stallings: Operating System Internals and Design Principles, s. 560. (Seventh edition) Prentice Hall, 2012. ISBN 978-0-13-230998-1 (englanniksi)
- ↑ a b c d e f EXT File System linux.org. Viitattu 16.2.2017.
- ↑ bcachefs bcachefs.org. Viitattu 2.2.2024. (englanniksi)
- ↑ The 6.7 kernel has been released lwn.net. 7.1.2024. Viitattu 2.2.2024. (englanniksi)
- ↑ Jake Edge: An update on bcachefs lwn.net. 23.5.2018. Viitattu 2.2.2024. (englanniksi)
- ↑ 5.1 About the Btrfs File System Oracle. Viitattu 16.2.2017.
- ↑ a b It’s 2016: and BTRFS could really be your next filesystem virtualtothecore.com. Viitattu 16.2.2017.
- ↑ How Facebook Uses Linux and Btrfs: An Interview with Chris Mason linux.com. Viitattu 16.2.2017.
- ↑ 김재극: f2fs: introduce flash-friendly file system 5.10.2012. Lwn.net. Viitattu 10.2.2020. (englanniksi)
- ↑ a b c btrfs and NILFS lwn.net. Viitattu 19.4.2020. (englanniksi)
- ↑ NILFS version 2 now available lwn.net. Viitattu 19.4.2020. (englanniksi)
- ↑ the Nilfs version 1: overview (PDF) nilfs.sourceforge.io. Viitattu 19.4.2020. (englanniksi)
- ↑ Linux's ReiserFS Plan Is To Deprecate It, Remove The File-System In 2025 www.phoronix.com. Viitattu 15.1.2023. (englanniksi)
- ↑ [ANNOUNCE Reiser5 (Format Release 5.X.Y) [LWN.net]] lwn.net. Viitattu 15.1.2023.
- ↑ https://jmmv.dev/2007/04/how-to-disable-journaling-on-hfs-volume.html
- ↑ 'Apple File System' will scale from Apple Watch to Macs, replace HFS+ appleinsider.com. Viitattu 19.4.2020. (englanniksi)
- ↑ HFS+ v. APFS: Which Apple file system is better? techrepublic.com. Viitattu 19.4.2020. (englanniksi)
- ↑ a b c d JFS for Linux free-soft.org. Viitattu 16.2.2017.
- ↑ Differences between JFS and Enhanced JFS IBM. Viitattu 16.2.2017.
- ↑ Journaled File System Technology for Linux jfs.sourceforge.net. Viitattu 16.2.2017.
- ↑ xFS: A Wide Area Mass Storage File System digitalassets.lib.berkeley.edu. Viitattu 16.2.2017.
- ↑ Distributed Data Structures xFS: Serverless Network File System people.eecs.berkeley.edu. Viitattu 16.2.2017.
- ↑ ISO/IEC 13346-1:1995 iso.org. Viitattu 16.2.2017.
- ↑ Universal Flash Storage (UFS) jedec.org. Viitattu 3.5.2020. (englanniksi)