4/4 Bestandssystemen



Vergelijkbare documenten
IN1805 I Operating System Concepten

Operating Systems Linux Blok 7a Partities Erik Seldenthuis

6/9 File-systems. 6/9.1 Werken met bestandssystemen in Open Enterprise Server 2

Hulplink:

Bestandssystemen. yvan vander sanden. 16 maart 2015

Hoe partitioneer ik een hardeschijf?

Software. Opdrachten - Deel 1. Naam: Klas: 2015 versie:concept-3.4.2

Het Proc bestandssysteem leren begrijpen

Vraag 1 (2 punten) (iii) Een lees-opdracht van virtueel adres 2148 seg 0, offset idem

5/5 Red Carpet. 5/5.1 Inleiding

4/1.4 Service Location Protocol

We beginnen met een strikvraag: Welk van de volgende zijn bestanden?

Open Enterprise Server 2 en vsphere Best Practises. Michael Wilmsen

8 bits: NTFS op bitniveau

Korte uitleg: Mounten van filesystemen door de desktopgebruiker

Info-books. Toegepaste Informatica. Deel1c : Systeemsoftware (Win XP), netwerken en hardware. BI1c. Jos Gils Erik Goossens

4/5 Installatieservers

FAT32 disk structuur 2007 stam.blogs.com

Inleiding. Wat is een bestandssysteem FAT16

Wat is Syslog? Syslog is een feature waarmee de router activiteit kan worden bijgehouden.

Hoofdstuk 2. Schijfformaten en bestandsformaten

5/9 PlateSpin. 5/9.1 PlateSpin Portability Suite

Korte uitleg: Mounten van filesystemen

RAM optimaliseren: Cacheman

Korte uitleg: Wie mag wat met welk bestand

Multiboot systeem maken

The Linux Cowloop Device Driver

Een externe stick / disk formatteren voor OS X en Windows

Hoe een USB schijf (stick, harde schijf) leegmaken vanuit de terminal

6/7 Opslag onder Linux

Wat is een unattended install?

BSCW-WebDAV Handleiding

Labo 4 : Installatie Windows XP Professional Edition

SurfRight. Veelgestelde vragen. HitmanPro.Kickstart Veelgestelde vragen Page 1

Installatie Windows XP Professional Edition

Systeemeisen Exact Compact product update 406

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

6/5 Novell Storage Services

Conceptronic CFULLHDMA Hoe Samba/CIFS en NFS te gebruiken

Installatie Cloud Backup

Werkplekbeheer en kantoorautomatisering Examennummer: Datum: 24 maart 2012 Tijd: 13:00 uur - 14:30 uur

Wat is linux? opensuse 13.1

Peelland ICT Online Back-up

Computerarchitectuur en netwerken. Operating System structuur. Files

Dit zijn latency s die voorkomen bij het selecteren van het juiste geheugenadres in de RAM.

Installatiehandleiding

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel:

Handleiding VirtualBox

Waarmaken van Leibniz s droom

slides3.pdf April 15,

6,7. Werkstuk door een scholier 2286 woorden 24 januari keer beoordeeld. Informatica. Algemeen

Super GRUB2 Disk Super GRUB2 Disk

HET BESTURINGSSYSTEEM

Technische nota AbiFire Rapporten maken via ODBC

KPN Server Back-up Online

PictoWorks Netwerk infrastructuur

9/2.11 Virtuele webservers aanmaken in Apache

ManualMaster Systeem 6.1 (ManualMaster Administrator, ManualMaster WebAccess en ManualMaster WebEdit)

5/8 Patch management

IN1805 I Operating System Concepten

Installatie van de harde schijf

' Het tentamen is gesloten boek, dus het is niet toegestaan om het tekstboek, slides of eigen gemaakte aantekeningen te gebruiken.

edocs database structuur info

Tim Mallezie Architectuur van besturingssystemen: Vraag A2.

Geschreven door Administrator maandag, 20 augustus :55 - Laatst aangepast donderdag, 23 augustus :25

Bijlage Inlezen nieuwe tarieven per verzekeraar

SCSI INSTALLATIE. Bij een SCSI netwerk tussen bijvoorbeeld 2 BERT interfaces en 1 Harddisk. Terminator geen Terminator Terminator.

5/7 Imaging in ZENworks 7.0

Installatiehandleiding TiC Narrow Casting Manager

10/6 Su SE Linux. 10/6.1 Enterprise Server 11

Voor de mensen onder ons die geen Partition Magic rescue disks hebben...

Help! Ik heb alles goed geïnstalleerd in mijn schijfbehuizing, maar ik kan deze in de Windows verkenner niet benaderen.

IAAS BACKUPS MAKEN MET IASO

Software hoofdstuk Wat is de functie van een besturingssysteem? 2. Welke hoofdtaken heeft het besturingssysteem?

Erik Poll Martijn Warnier.

Permanente netwerkverbinding leggen naar je NAS

Werken met het DOS commando Fdisk

Ubuntu : gebruikers en bestandsbeheer

1.2 Belangrijke besturingssystemen

Handleiding Decentrale Validatiemodule istandaarden

Gebruik Windows Server 2008 neemt toe

How To Do Loggen op USB via I-O Manager mbconnect24 V2

Rhino versnellen met RAM-disk

NW09 NTFS machtigingen

Arjen Glas Stage: Viaict. Opdracht virtualisatie I44

Onderzoeksnetwerk via Linux

WoordenSTART in een netwerk installeren

SBO Nilda Pinto BASISKENNIS BESTURINGSSYTEMEN (MBI 1) PERIODE MATERIAAL BOEK SOFTWARE VOOR ICT SUPPORT 2 EN 3 (HANS VAN RHEENEN)

Pervasive Server V9 Installatiegids

Computer architecturen: Hard Disk technologie

Oracle-database creëren

Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware.

14 tips om windows 7 sneller te maken

Nieuwe UEFI Bios en GPT

Examen besturingssystemen

Beschikt u over de basis module documentenbeheer dan kunt u documenten inlezen en koppelen aan de financiële mutaties en openstaande posten.

Van dvd naar webserver. Marcel Nijenhof 18 Juli

1. BIOS. In de setup wordt aangegeven waar de bootsector is. Na de BIOS wordt de Bootsector gelezen en uitgevoerd. 2. BOOTSECTOR

Easy Business Tools - Multi-user module

1. Document Management

Transcriptie:

Networking Services 4/4 Bestandssystemen 4/4.1 Structuur van Linuxbestandssystemen Definitie Om op een optimale wijze beheer uit te kunnen voeren op een Linux-bestandssysteem, is kennis van de eigenschappen van deze bestandssystemen van essentieel belang. Daarom leest u in dit hoofdstuk welke bestandssystemen er zoal kunnen worden gebruikt op een Linux-systeem en hoe deze bestandssystemen intern zijn georganiseerd. Voordat we inhoudelijk dieper kunnen ingaan op de werking van een bestandssysteem, moet echter wel duidelijk zijn waar we het precies over hebben. Voorlopig gebruiken we de volgende definitie: een bestandssysteem bestaat uit een verzameling tabellen waarin de eigenschappen van bestanden worden bewaard en waarmee een verwijzing kan worden gegeven naar de locatie van de bij de bestanden behorende gegevens. 4/4.1.1 Typen bestandssystemen Kenmerkend voor Linux is dat meerdere soorten bestandssystemen kunnen worden gebruikt. Dit maakt het mogelijk diverse soorten bestanden te bewerken, ongeacht onder welk systeem ze zijn aangemaakt. Onder andere de volgende bestandssystemen worden ondersteund: msdos Levert ondersteuning voor DOS-fat. Dit bestandssysteem is achterhaald en ouderwets: in plaats hiervan wordt tegenwoordig meestal gebruikgemaakt van vfat. umsdos Biedt een UNIX-achtig bestandssysteem dat kan worden gebruikt in een DOS-omgeving. Wordt Novell Netwerkoplossingen, aanvulling 19 4/4.1-1

Bestandssystemen gebruikt in sommige specifieke omgevingen; vooral in embedded Linux. vfat Geeft ondersteuning voor alle FAT-bestandssystemen die gebruikmaken van lange bestandsnamen zoals dit sinds Windows 95 de standaard is. iso9660 Biedt ondersteuning voor cd-roms. minix Het oer -bestandssysteem. Dit heeft de nodige beperkingen, zoals een zeer beperkte maximale partitiegrootte, en wordt daarom nagenoeg niet meer gebruikt voor partities op harddisks. ntfs(ro) Read-only ondersteuning voor het NTFSbestandssysteem dat wordt gebruikt bij Windows NT. Tot op het moment dat dit werd geschreven, was geen goede driver beschikbaar om ook naar NTFS te schrijven. hpfs(ro) Read-only ondersteuning voor het OS/2 hpfs-bestandssysteem. ext2 Biedt het ext2-bestandssysteem dat jarenlang als standaard op Linux is gebruikt. Tegenwoordig wordt dit bestandssysteem alleen nog maar gebruikt als er nadrukkelijk geen journaling-capaciteiten nodig zijn. ext3 De opvolger van ext2. Technisch gesproken is dit ext2 waar een journal aan is toegevoegd. Reiserfs Een relatief nieuw bestandssysteem dat het mogelijk maakt om bestanden op zeer efficiënte wijze op te slaan en in te lezen. Omdat gebruik wordt gemaakt van een B-tree database in plaats van tabellen om te achterhalen hoe een bestand kan worden ingelezen, kan dit bestandssysteem zeer efficiënt zijn werk doen. sysvfs Maakt het mogelijk gegevens in te lezen die zijn aangemaakt op commerciële UNIX-systemen, zoals SCO, Xenix en Coherent. 4/4.1-2 Novell Netwerkoplossingen, aanvulling 19

Networking Services ufs Voor ondersteuning van BSD en afgeleide versies van UNIX, zoals SunOS en NeXTstep. xfs Een modern journaling bestandssysteem. Dit bestandssysteem is door SGI ontwikkeld om te worden gebruikt op supercomputers waar zeer veel processors gelijktijdig hun werk doen en biedt daarom een aantal unieke eigenschappen die het bestandssysteem op een intel platform eigenlijk overbodig maken. jfs Een zeer efficiënt 64-bits bestandssysteem dat door IBM is ontwikkeld. Net als Reiserfs wordt door dit bestandssysteem gebruikgemaakt van een B-tree database. Op het moment dat een zeer grote directory wordt gebruikt, wordt een B+-tree database gebruikt om ervoor te zorgen dat in de grote hoeveelheid bestanden in die directory toch efficiënt kan worden gezocht. Behalve de hiervoor genoemde bestandssystemen wordt in Linux ook ondersteuning geboden voor netwerkgerelateerde bestandssystemen, zoals NFS (UNIX-netwerken), SMB (Windows-netwerken) en NCP (Novell-netwerken). Hiermee kunnen bestanden vanuit een Linux-omgeving van de desbetreffende bestandsserver worden benaderd, maar Linux kan ook worden ingezet als NFS-, SMB- of NCPserver. Alle bestandssystemen die worden gebruikt op een Linuxsysteem worden benaderd vanuit één directory-structuur. De bestandssystemen moeten in deze directory-structuur worden gemount om te kunnen worden benaderd. Binnen deze structuur heeft elk bestandssysteem zijn eigen partitie. Voor de fysieke opslag van een bestandssysteem worden block-devices gebruikt, zoals /dev/sda1 of /dev/hda1. Het is de verantwoordelijkheid van de driver die bij het Novell Netwerkoplossingen, aanvulling 19 4/4.1-3

Bestandssystemen block-device hoort dat gegevens van een partitie kunnen worden opgehaald. De driver van het block-device zorgt dat de aanvraag naar een specifiek blok kan worden vertaald in termen van tracks, sectoren en cilinders op de harddisk waarop het bestand is opgeslagen. VFS Omdat Linux ondersteuning levert voor verschillende soorten bestandssystemen, is ervoor gekozen de ondersteuning niet te regelen in de kernel zelf, maar in een tussenliggende laag. Deze interfacelaag staat bekend als het Virtual File System, oftewel VFS. De kernel communiceert hiermee en elk apart bestandssysteem heeft een interface naar VFS. Voor de eindgebruiker heeft het gebruik van VFS het voordeel dat deze gebruiker zich verder helemaal niet bewust hoeft te zijn van de verschillen die een rol spelen binnen de bestandssystemen die op een server worden gebruikt. Wegens de unieke eigenschappen van de verschillende bestandssystemen, worden Linux-servers vaak gepartitioneerd, waarbij soms per partitie een verschillend bestandssysteem wordt gebruikt. Zo is ext2 een uitstekende keuze voor een partitie als /boot die alleen wordt gebruikt om van op te starten, ligt ext3 voor de hand voor een database die alleen maar grote bestanden aanmaakt, terwijl de excellente eigenschappen van Reiserfs en JFS meer voor de hand liggen om te gebruiken op een partitie waar een mailserver per dag grote hoeveelheden bestanden wegschrijft. Ext2 4/4.1.2 Opbouw van het bestandssysteem Het Second Extended File system (ext2) is een opvolger van het Extended File system (ext) en is lange tijd de standaard geweest voor alle Linux-distributies. Onder de motorkap heeft ook ext3 nog alle eigenschappen van ext2. Omdat ext2 een uitstekend voorbeeld is van de manier 4/4.1-4 Novell Netwerkoplossingen, aanvulling 19

Networking Services waarop een Linux-bestandssysteem in elkaar zit, bespreken we nu in iets meer detail de organisatie ervan. De primaire taak van ext2 is de opslag van gegevens in gegevensblokken. De grootte hiervan wordt gedefinieerd bij het aanmaken van een partitie en is standaard 1024 bytes. Een blok is de kleinste toewijzingseenheid; dat betekent dat een bestand, ook al is het maar 1 byte groot, altijd minimaal een blok in beslag neemt. Omdat dit natuurlijk tot relatief veel verlies van bruikbare schijfruimte leidt, maakt een bestandssysteem als Reiserfs bijvoorbeeld gebruik van tailing waarbij meerdere bestanden een datablok kunnen delen. Om toegang te krijgen tot de datablokken van het bestandssysteem, maakt elk modern UNIX-bestandssysteem gebruik van een inode waarin de complete administratie van het bestandssysteem wordt geregeld. Inodes Voor de beschrijving van de inrichting van het bestandssysteem worden inodes gebruikt. De inode beschrijft in welke blokken de gegevens van een bestand staan, welke permissies en eigenaars aan het bestand zijn verbonden en wat voor type bestand het is. Kort gezegd bevat de inode de totale administratie van een bestand. Elk bestand heeft één inode en elke inode heeft een uniek nummer. De verzameling van inodes wordt bewaard in de inode-tabel. Deze inode-tabel wordt door de meeste bestandssystemen aangemaakt tijdens het creëren van het bestandssysteem en ligt daarna vast. Alleen meer geavanceerde bestandssystemen als Reiserfs en JFS zijn in staat later dynamisch nieuwe inodes aan te maken. Een directory op een bestandssysteem bevat een lijst van de inodes in de directory en deze lijst kan worden opgevraagd met behulp van de opdracht ls -i. Novell Netwerkoplossingen, aanvulling 19 4/4.1-5

Bestandssystemen #Inhoud van een inode debugfs: stat <460842> Inode: 460842 Type: regular Mode: 0755 Flags: 0x0 Version: 1 User: 0 Group: 0 Size 16784 File ACL: 0 Directory ACL: 0 Links: 1 Blockcount: 36 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x381edca8 Tue Nov 2 13:44:24 1999 atime: 0x38216b6c Thu Nov 4 12:18:04 1999 mtime: 0x37157697 Thu Apr 15 07:18:15 1999 BLOCKS: 1844692 1844693 1844694 1844695 1844696 1844697 1844698 1844699 1844700 TOTAL: 18 De inode is de meest elementaire bouwsteen van het ext2- bestandssysteem. Dit geldt overigens ook voor vrijwel alle andere UNIX-bestandssystemen die u in een Linux-omgeving tegenkomt. Elk bestand en elke directory in het bestandssysteem worden beschreven in één inode. De inodes worden bewaard in de inode-tabel. Om snel te kunnen zien welke inodes nog beschikbaar zijn, wordt voor de administratie van het bestandssysteem door het besturingssysteem gebruikgemaakt van een inode-bitmap. Deze wordt opgeslagen aan het begin van elk bestandssysteem. Een inode bevat de volgende velden (zie ook figuur op pagina 7): mode Beschrijft het soort bestand (bestand, link, block-device enz.) en welke permissies op het bestand zijn ingesteld. owner information Geeft UID en GID van de eigenaars van het bestand. size De grootte in bytes. 4/4.1-6 Novell Netwerkoplossingen, aanvulling 19

Networking Services timestamps Een Linux-bestand heeft altijd drie timestamps. Als eerste is dat de ctime (creation time) die aangeeft wanneer het bestand is gemaakt. Vervolgens geeft de mtime (modification time) aan wanneer de inhoud van het bestand voor het laatst is gewijzigd en tot slot is er de atime (access time) die wordt gebruikt om aan te geven wanneer het bestand voor het laatst is gewijzigd. data blocks Verwijzing naar de blokken waarin zich de gegevens van het bestand bevinden. Alleen de eerste twaalf genoemde blokken verwijzen direct naar fysieke blokken waarin gegevens staan opgeslagen. Daarop volgt een indirect block, dat verwijst naar de maximaal 256 volgende blokken met de gegevens van een bestand. Na het indirect block volgt het double indirect block. Hierin staat een verwijzing naar 256 additionele indirect blocks. Ten slotte komt het triple indirect block, dat een verwijzing bevat naar 256 additionele double indirect blocks. De organisatie van een ext2-bestandssysteem. Novell Netwerkoplossingen, aanvulling 19 4/4.1-7

Bestandssystemen Een inode kan dus een directe verwijzing hebben naar 12 gegevensblokken, via indirect blocks komen daar 256 blokken bij, via double indirect blocks komen daar 65.536 blokken bij en via triple indirect blocks komen daar nog eens 16.777.216 blokken bij. U kunt dus uitrekenen wat de maximale bestandsgrootte op ext2 is. Ext2 zorgt ervoor dat de gebruikte partitie wordt onderverdeeld in block-groups. Alle block-groups bevatten informatie die cruciaal is voor het bestandssysteem. Daarnaast worden de gegevensblokken erin bewaard. Op kleinere bestandssystemen zijn dit 8192 gegevensblokken per block-group, op grotere bestandssystemen wordt een veelvoud daarvan gebruikt. Zo heeft een partitie van 3 gigabyte block-groups met 32.768 gegevensblokken. Het aantal blokken per block-group is te achterhalen met het commando debugfs dat overigens alleen kan worden gebruikt op ext2 en ext3. Na opstarten geeft debugfs een interactieve interface van waaruit u opdrachten kunt geven. Om een overzicht te krijgen van de organisatie van een block-group, geeft u vanuit debugfs het commando open /dev/sdx (of /dev/hdx, al naar gelang het type schijf dat u gebruikt), daarna geeft u het commando stats. In het overzicht dat daardoor wordt gegenereerd, komt een regel voor waarin het aantal blokken per group staat. superblock group-descriptors block-bitmap inode-bitmap inode-tabel data blocks Deze onderdelen worden hierna uitvoeriger besproken. 4/4.1-8 Novell Netwerkoplossingen, aanvulling 19

Networking Services Superblocks Het superblock bevat een beschrijving van grootte en inrichting van het bestandssysteem. Deze informatie wordt gebruikt voor onderhoud van het bestandssysteem. De normale situatie is dat het superblock in block-group 0 wordt gelezen bij het mounten van een bestandssysteem, maar elke block-group bevat een kopie van het superblock, dat kan worden gebruikt als zich problemen voordoen. Er bestaan dus meerdere reservekopieën van. Het superblock bevat essentiële informatie die nodig is bij het mounten van een partitie. Er komt onder andere de volgende informatie in voor: magic number Met het magic number kan het commando mount bepalen dat dit inderdaad een ext2- bestandssysteem is. Het magic number voor ext2 is 0xEF53. revision level Hiermee kan tijdens het mount-proces worden bepaald welke functionaliteit door deze versie van het bestandssysteem wordt geleverd. mount count en maximum mount count Het aantal malen dat het bestandssysteem is gemount en het maximum aantal malen dat het mag worden gemount voordat een controle moet worden uitgevoerd. Afhankelijk van deze gegevens kan onderhoud op het bestandssysteem worden uitgevoerd, op ext2 is dit onderhoud te organiseren met behulp van de opdracht tune2fs. Raadpleeg de man-pagina van tune2fs voor meer details. block group number Nummer van de block-group waarin deze kopie van het superblock voorkomt. free blocks Het aantal vrije blokken. Deze informatie wordt verkregen uit de block-bitmap. free inodes Het aantal vrije inodes. Deze informatie wordt verkregen uit de inode-bitmap. Novell Netwerkoplossingen, aanvulling 19 4/4.1-9

Bestandssystemen first inode Het inode-nummer van de eerste inode. In het root-bestandssysteem dient dit de inode van de root-directory te zijn. # Inhoud van een superblock debugfs: stats Filesystem is read-only Volume name=(none) Last mounted directory = (none) Filesystem UUID = 95815b3c-9122-11d3-99c9-0000e876f98e Last mount time = Fri Dec 17 14:33:57 1999 Last write time = Fri Dec 17 14:33:57 1999 Mount counts = 10 (maximal = 20) Filesystem OS type = Linux Superblock size = 1024 Block size=1024, fragment size = 1024 Inode size = 128 968704 inodes, 875432 free 3871633 blocks, 1923074 free, 193581 reserved, first block = 1 8192 blocks per group 8192 fragments per group 2048 inodes per group 473 group (15 descriptor blocks) Group 0: block bitmap at 17, inode bitmap at 18, inode table at 19 0 free blocks, 1734 free inodes, 3 used directories Group 1: block bitmap at 8209, inode bitmap at 8210, inode table at 8211 0 free blocks, 1979 free inodes, 2 used directories... 4/4.1-10 Novell Netwerkoplossingen, aanvulling 19

Networking Services Group-descriptors De gegevensstructuur van elke block-group wordt beschreven in de group-descriptor. Net als de superblocks worden ook de group-descriptors van block-groups gedupliceerd. Elke group-descriptor omvat de volgende informatie: blocks-bitmap Het bloknummer van de block-allocation bitmap die voor deze block-group wordt gebruikt. Deze bitmap wordt gebruikt bij het toewijzen en vrijgeven van blokken; zo kan het systeem snel zien welke blokken wel of niet beschikbaar zijn. inode-bitmap Het bloknummer van de inode-allocation bitmap van deze block-group. Deze wordt gebruikt bij het toewijzen en vrijgeven van inodes. inode table Bevat het bloknummer van het blok waarin de inode-tabel van deze block-group begint. free blocks count Geeft informatie over vrije blokken en inodes. free inodes count Laat zien hoeveel inodes er nog beschikbaar zijn used directory count Toont het aantal directory s dat momenteel in gebruik is. Op ext2 heeft elke block group zijn eigen administratie. Novell Netwerkoplossingen, aanvulling 19 4/4.1-11

Bestandssystemen Block- en inode-bitmape De block- en de inode-bitmap geven een overzicht van vrije blokken en inodes binnen een block-group. Als een bestand moet worden aangemaakt, wordt met deze bitmaps achterhaald welke blokken en inodes vrij zijn. Hierdoor kan het systeem snel bepalen waar nieuwe gegevens kunnen worden geplaatst. Directory s Directory s dienen voor het terugvinden van bestanden. In feite is een directory niets anders dan een bijzonder type bestand dat geen gegevens bevat maar verwijzingen naar bestanden die in de directory voorkomen. Tip Benieuwd naar de interne organisatie van een directory? Gebruik dan eens de opdracht ls om de inhoud van een directory te bekijken. Elke directory bevat een aantal directory-entries, waarbij elke directory-entry de naam van het desbetreffende bestand, de bijbehorende inode en de lengte van de directory-entry bevat. Aan de hand van de naam van een bestand kan dus in de directory de bijbehorende inode worden gevonden, vervolgens wordt in de inode gevonden in welke blokken het bestand is opgeslagen en kan het bestand worden ingelezen. Aan de hand van de volledige naam kan een bestand altijd worden teruggevonden op het systeem. Als wordt gezocht naar het bestand /etc/hosts, wordt allereerst de inode van de directory / gezocht. Als deze is gevonden, kunnen via de inode de gegevens worden uitgelezen uit de juiste blokken. In deze blokken wordt een lijst gevonden van bestanden die voorkomen in de directory, zo ook de naam van de directory etc met de bijbehorende inode. Vervolgens kun- 4/4.1-12 Novell Netwerkoplossingen, aanvulling 19

Networking Services nen via de inode uit de blokken die bij etc horen, de gegevens worden ingelezen. Daardoor wordt de informatie over het bestand hosts gevonden, met de bijbehorende inode waardoor de gegevensblokken kunnen worden gevonden en het bestand kan worden ingelezen. 4/4.1.3 Het Virtual File System (VFS) VFS is het bestandssysteem dat door de kernel wordt gebruikt en alle bestandssystemen beheert die zijn gemount. Deze taak wordt uitgevoerd met behulp van gegevensstructuren die het hele VFS beschrijven en daarnaast ook de werkelijke gemounte bestandssystemen zoals ext2 en VFAT. In VFS worden gegevensstructuren ook beschreven met behulp van inodes en directory s. Voor activering van een bestandssysteem op een blockdevice leest VFS het superblock van dat bestandssysteem in. Hierdoor kan de topologie van het specifieke bestandssysteem worden ingevoegd in de topologie van VFS. Deze informatie wordt in VFS opgeslagen in een VFS-superblock. VFS houdt een lijst bij van actieve bestandssystemen en de bijbehorende VFS-superblocks. Cache VFS zorgt er ook voor dat inodes die vaak worden gelezen, worden bewaard in de inode-cache. Hierdoor kan veelgebruikte informatie sneller worden opgevraagd. Daarnaast voorziet de kernel in een buffercache waarin de gegevens van bestanden worden bewaard zodat ze sneller kunnen worden teruggehaald. Op deze manier is het niet nodig bestanden te benaderen met de technieken van het specifieke bestandssysteem en de specifieke device-driver van het block-device. In plaats daarvan kan de kernel één routine gebruiken om snel gegevens in te lezen. Novell Netwerkoplossingen, aanvulling 19 4/4.1-13

Bestandssystemen Elk afzonderlijk bestandssysteem wordt in VFS vertegenwoordigd door een VFS-superblock. Hierin staat onder andere de volgende informatie: device De naam van het block-device waarop het bestandssysteem voorkomt. inode-pointers Er is een mounted inode-pointer die verwijst naar de eerste inode in het specifieke bestandssysteem; daarnaast is er een covered inodepointer die verwijst naar de inode van de directory waarop het bestandssysteem is gemount. block-size Beschrijft de grootte van de blokken die door het betreffende bestandssysteem worden gebruikt. filesystem type Beschrijft het soort bestandssysteem (reiser, ext2, ext3, enzovoort). filesystem specific Een pointer naar specifieke informatie die dit bestandssysteem nodig heeft. Naast de superblocks maakt VFS ook gebruik van specifieke inodes. Deze bestaan alleen in het kernel-geheugen en vormen een weerspiegeling van de inodes van de onderliggende bestandssystemen. 4/4.1.4 Registreren van bestandssystemen Voordat een bestandssysteem kan worden gebruikt, moet het tijdens de compilatie van de kernel worden geregistreerd. Dit betekent dat ondersteuning voor het bestandssysteem aanwezig moet zijn, zodat VFS ermee kan werken. In het bestand /proc/filesystems wordt bijgehouden welke bestandssystemen zijn geregistreerd. In de kernel staan in de meeste gevallen modules aan voor alle mogelijke bestandssystemen die u zou willen gebruiken. Soms echter zal het nodig zijn deze module eerst handmatig te laden voordat u het bestandssysteem kunt mounten. 4/4.1-14 Novell Netwerkoplossingen, aanvulling 19