Filsystem användarvy och implementering. Föreläsning 4



Relevanta dokument
Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn

Operativsystem - Filsystem

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.

Öppna filer och filsystem i PintOS Hemuppgift TDDI81, 21/

DIG IN TO Dator och nätverksteknik

Minneshantering segmentering och virtuellminne. Föreläsning 3

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering

Databaser Design och programmering Minnesteknik Minnesteknik, forts Utvecklingen Hårddisk Hårddisk, forts

Databaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer

4 grundregler. Minneshantering. Problemet. Windows minkrav

Datorteknik ERIK LARSSON

Schemaläggning Unix. Minneshantering etc. Linux. Schemaläggning av trådar (kernel threads) Detaljer. Operativsystem - Lektion 7

Databaser - Design och programmering. Minnesteknik. Minnesteknik, forts. Hårddisk. Primärminne (kretsteknik) Fysisk design av databasen

Operativsystem - input/output, skydd, virtualisering

Allmänt om programvaror och filer i Windows.

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Hur hänger det ihop med användarkommandon, biblioteksfunktioner och systemanrop?

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Olika OS. Unix, Linux och Windows. Unix. Unix. En översikt av ett par OS. Titt på hur de gör. Många varianter. Mycket gemensamt. En del som skiljer

Övningar för del I av kursen

Databaser Design och programmering. Fysisk design av databasen att ta hänsyn till implementationsaspekter: minnesteknik filstrukturer indexering

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

LAB 1 MS-DOS MicroSoft-DiskOperating System -Microsoft MS-DOS = synonymt med DOS -IBM PC-DOS -Novell DR-DOS

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation.

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

Design och trender. Föreläsning 12

Mer datorarkitektur. En titt I datorn Minnen

Operativsystem (IS1350) :00-12:00

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Administration / Disk Management. EC Utbildning AB

LABORATIONSRAPPORT Operativsystem 1 Laboration 1, Ghost, pingpong och Windows 2003 installation

Minneshantering - grunderna. Föreläsning 2

Operativsystem (ID2200/06) XX XX:00-XX:00

Omkoppling av in- och utmatning. In- och utmatning i Unix. Kommando exempel, ls, pipe forts. Kommando exempel, ls, pipe

Tips och tricks. Några bra tips. Lägg till sökvägar

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

Reservföreläsningen inställd

Föreläsning 1 Unix. Datorer och datoranvändning Föreläsningar 2018/19. Operativsystem. Unix

Filsäkerhet i Windows NT (NTFS)

7,5 högskolepoäng. Operativsystem och Systemarkitektur. IT-Tekniker och Systemarkitekt-programmet

Avancerade IT-Forensiska Verktyg I

Minnet från processorns sida Datorteknik

7,5 högskolepoäng. Operativsystem och Systemarkitektur. IT-Tekniker och Systemarkitekt-programmet

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

Lärare. Operativsystem. Handledning. Kurssajt. Schema. Lektioner. Jan Erik Moström

Datorarkitekturer med Operativsystem

Att använda DVD-RAM-skivor

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl

F2 Exchange EC Utbildning AB

ZFS. Linuxadministration I 1DV417. Wednesday, January 23, 13

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Det går att fixa på egen hand! Licens för 3 datorer ingår Kompatibel med Windows XP & Vista (Alla Versioner)

Filsystem JFFS (Journaling Flash File System) Ett kapitel för kursen Wearable Computers D 10 p

Operativsystem och Systemarkitektur. 7,5 högskolepoäng. IT-Tekniker och Systemarkitekt-programmet. Namn: Personnummer: (Ifylles av student)

Prestandajämförelse - Sekventiell skrivhastighet i RAID 4 och RAID 5

Starta och stänga av datorn. Att starta är i allmänhet problemfritt, men man bör vänta med aktiviteter (starta program) tills startfilerna är

Grundkurs 1 IKT Filhantering

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Versionshantering. Problem som uppstår i större (samt även mindre) projekt:

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

Minnesteknik. Minnen lämpliga för databaser. Minnesteknik, forts. Databaser design och programmering. temporärt/flyktig Snabbt Dyrt

Systemanropp kontrollen övergår från userspace till kernelspace ca 100 i UNIX, många fler i NT

HI1025 Operativsystem, KTH Haninge, VT2012. Tillf. 11 (F): Systemadministration samt något om kompilering och interpretering

Beställning av certifikat för anslutning till BankID (RP certificate) Version

Operativsystem Introduktion

Övning 1: Skapa virtuell maskin för utveckling.

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Marcus Wilhelmsson 12 april 2013

BOOK-IT 6.0. Backup Solaris

Paragon NTFS för Mac OS X

Övning Installation av Gentoo och/eller Arch Linux

Fillagring och indexering

Lösningsförslag till tentamen i IS1350 Operativsystem

7,5 högskolepoäng. Operativsystem och Systemarkitektur. IT-Tekniker och Systemarkitekt-programmet

Kommandotolken hittar du under Start->Program->Tillbehör->Kommandotolken

Välkommen till snabbstartsguiden - Hjälpprogram

LABORATIONSRAPPORT Operativsystem 1 Linux

Snapdragon 810: Cacheminnet

Filhanteraren/Den här datorn

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Säkerhet. Vad är det vi pratar om??

Manual till bt. bildbank

1DV416 Windowsadministration I, 7.5hp MODULE 3 ACTIVE DIRECTORY

MS-DiskOperativSystem Sammanfattning och Övningar

UPPDATERA DIN UNICO-ORGELS OPERATIVSYSTEM!

Föreläsning Datastrukturer (DAT036)

Jonas Gustavsson. Leverans av 10PB Isilon

Enkla datatyper minne

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser

1284_omslag.qxd :13 Sida 1 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

Transkript:

Filsystem användarvy och implementering Föreläsning 4

Filsystem De abstrakta datatyperna fil och directory Hur implementerar man filsystem? Användarvyn av filsystem Implementering av filsystem Exempel på filsystem Kap: 4.1-6.4, 10.6, 11.8 OS Föreläsning 4, Filsystem 2

Filsystemet - att organisera nästa minnesnivå register cache primärminne elektronisk disk magnetisk disk optisk disk magnetband OS Föreläsning 4, Filsystem 3

Användarvyn Filsystemet - det de flesta förknippar med ett operativsystem

Filsystemet Filsystemets främsta uppgift är att implementera långtidslagring av information Filsystemet abstraherar bort detaljer om fysisk implementation av filer på lagringsmediat (diskarna) Filsystemet bör tillåta att användaren organiserar sina filer på ett lätthanterigt sätt (vi bortser från ev. grafisk presentation av filsystemet) OS Föreläsning 4, Filsystem 5

Filsystemet två nivåer Två nivåer av filsystemet är synligt för användaren: Directoryn (eller mappar, foldrar) Filer Både directoryn och filer kan ses som abstrakta datatyper med attribut och operationer OS Föreläsning 4, Filsystem 6

Filer intern organisation Hur organiseras en fil internt? Vanligast en följd av bytes (jfr. primärminne) Historiskt - records (fixlängdsfält) - sökträd Om filsystemet inte bestämmer den interna strukturen är det upp till applikationen att tolka/skapa ev. struktur i filen OS Föreläsning 4, Filsystem 7

Filer som abstrakt datatyp Attribut Namn (Typ) Storlek Skydd (protection i.e. rwx) Tid för skapande Ägare/skapare Unik identifierare i filsystemet Lagringsplats Operationer Skapa Skriva Läsa Positionera Ta bort Trunkera Öppna Stänga Kopiera Döpa om OS Föreläsning 4, Filsystem 8

Filer namngivning (historiskt) Filnamn Antal tecken Skiljer på gemena och versaler? (små/stora tecken) Flera extensions? OS medvetet om extension? (Applikationer kontrollerar oftast extensions) MS-DOS/WINDOWS 8+3 (WINDOWS långa filnamn) Nej Nej Ja UNIX 255 Ja Ja Nej OBS! I UNIX kan ett filnamn börja med en punkt (ex..tcshrc) dessa filer syns normalt inte när man listar innehållet i directoryt OS Föreläsning 4, Filsystem 9

Vanliga filtyper - extensions typ vanlig extension användning exekverbar.exe.bin.out ingen objekt.obj.o Kompilerad men ännu inte länkad källkod.c.cc.java.f77.asm batch.bat Kommandon till kommandotolken text ordbehandling bibliotek utskrift/view arkiv multimedia.txt.doc.fm.tex.rtf.lib.a.dll.ps.pdf.jpg.tif.arc.zip.tar.mpeg OS Föreläsning 4, Filsystem 10

Exempel på (applikationsspecifik) intern organisation UNIX magic number text storlek data storlek BSS storlek symboltabell storlek flaggor text header objektmodul header objektmodul namn datum ägare protection storlek data header relokeringsbitar symboltabell objektmodul Exekverbar binärfil OS Föreläsning 4, Filsystem 11 Arkiv (bibliotek av objektmoduler)

Accessmetoder hur läser/skriver man filer Sekvensiell access Man läser/skriver en följd av bytes utan möjlighet att kunna positionera sig i filen Ett specialexempel: I/O mot terminal/tangentbord Random access Man kan positionera sig i filen för skrivning/läsning Andra accessmetoder Ex: indexerad access i databas Implementeras normalt ovanpå random access genom att applikationen bygger datastrukturer i filen (dvs bestämmer hur filens innehåll ska tolkas, jfr. Primärminne) OS Föreläsning 4, Filsystem 12

Accesskontroll - vem får göra vad Accesskontroll allmänt säkerhetsproblem För filsystem Vem får skapa/ta bort filer? Vem får läsa? Vem får modifiera? Vem får administrera rättigheten att administrera rättigheter? En-användar OS hade oftast inte accesskontroll för filer från början, ex. MS-DOS, MacOS OS Föreläsning 4, Filsystem 13

Protection domain -en modell för acessrättigheter protection domain - en uppsättning objekt och rättigheter på objekten - Ex. på domäner: user-space, kernel-space objekt fil1 fil2 fil3 fil4 term1 term2 dom1 dom2 dom3 domän 1 r rw r-x w adm enter 2 3 rw r r-x w rw w adm Capability Accesskontrollista OS Föreläsning 4, Filsystem 14

Accesskontrollistor UNIX (UFS) Begränsad form av accesskontrollistor För varje fil/directory kan rättigheter anges för 3 domäner: User, Group, Other (alla användare) Rättigheter: r-read, w-write, x-execute user group other rw r r AFS - Andrew File System Accesskontrollistor för directoryn Kan skapa godtyckliga grupper (domäner) Rättigheter per grupp för directory: lrwdika robert: rlwdika dan, f: rwdl os-students: rl system:anyuser none OS Föreläsning 4, Filsystem 15

Att dela filer I fleranvändarsystem tillåts ofta flera processer att ha en och samma fil öppen samtidigt Enkelt om det är read-only filer För filer som kan skrivas: Behov kan finnas att låsa delar av filen så bara en process kan skriva den delen i taget Vilken concistency semantics implementerar filsystemet Ex: UNIX: en skrivning syns samtidigt för alla användare/processer som har filen öppen OS Föreläsning 4, Filsystem 16

Directoryn - kataloger En-nivå alla filer i ett directory Enkelt att implementera Svårt att hantera speciellt om fler användare Två-nivåers ett directory per användare Isolerar användare Användare kan inte strukturera innehållet i sitt directory Fler-nivåers trädliknande directorystrukturer Vanligast idag OS Föreläsning 4, Filsystem 17

Directorystrukturer / / /usr /misc /usr /misc /include /info /include /info Träd Ex: MS-DOS Acyklisk graf Ex: UNIX Länk (hård) Symbolisk länk OS Föreläsning 4, Filsystem 18

Directorystrukturer forts. Varför tillåter man oftast inte cykler i directorystrukturen? Svårare att göra vanliga operationer som lista innehållet i ett directory och dess underdirectoryn Möjligt att man måste ha garbage collection för att ta reda på vilka filer/directoryn som inte längre kan kommas åt OS Föreläsning 4, Filsystem 19

Directoryn - som abstrakt datatyp Attribut Namn Skydd (protection i.e. rwx) Ägare/skapare Entries (filer, sub-directoryn, länkar) Unik identifierare i filsystemet Lagringsplats Operationer Skapa Skriva Läsa Ta bort Öppna Stänga Döpa om Skapa länk Ta bort länk OS Föreläsning 4, Filsystem 20

Att montera filsystem Innan ett filsystem används måste det monteras Directorystrukturen kan vara uppbyggd av flera hårddiskar och/eller partitioner Att montera: OS får reda på: Var filsystemet som ska monteras finns (t.ex disk E) Var i filsystemet det ska monteras (monteringspunkt) OS kontrollerar att det filsystem som ska monteras är korrekt OS noterar i directoryt där monteringspunkten ligger att det finns ett monterat filsystem OS Föreläsning 4, Filsystem 21

Montering - exempel /usr /ele /ds johnny danne robertr schulte OS Föreläsning 4, Filsystem 22

Montering Montering i UNIX Hela filsystemet ser ut som ett träd med en rot Montering konfigureras explicit Montering i Windows, MS-DOS När systemet bootas letas alla enheter som håller filsystem redas på De olika enheterna görs automatiskt tillgängliga Två-nivåer: devicename:\path\to\file OS Föreläsning 4, Filsystem 23

Sökvägar Absolut sökväg Anges med varje directory från roten /afs/it.kth.se/usr/include/sys/errno.h Relativ sökväg Anges relativt working directory cd /afs/it.kth.se/usr/include/ sys/errno.h OS Föreläsning 4, Filsystem 24

Minnesmappad I/O Istället för att läsa/skriva mot filsystemet/disk kan en process ofta mappa in en fil i sitt adressutrymme Läsning/skrivning går mot minne Kan snabba upp I/O När skrivs modifieringar tillbaka till disk? Om inte annat först när man stänger filen På explicit kommando OS Föreläsning 4, Filsystem 25

Implementation av filsystem Hur gör man egentligen?

Implementation av filsystem Hur implementeras filsystem? Logisk struktur hos skiktade (layered) filsystem Grunder om indelning av hårddisk Implementering av filer Hålla ordning på ledigt utrymme Öppna filer datastrukturer i OS Implementering av directoryn OS Föreläsning 4, Filsystem 27

Lagrade filsystem - ett smart sätt att organisera koden Applikationsprogram Logiska namn på filer etc. Logiskt filsystem Fysisk organisation av filsystemet hämta block x från disk y på spår z... Filorganisationsmodul Basfilsystem Ett OS stöder ofta flera filsystem: UFS, NFS, AFS FAT, FAT32, NTFS, CD-ROM... Hanterar de fysiska enheterna (översättare) Devicedrivers (I/O-controller) Fysisk enhet (disk) OS Föreläsning 4, Filsystem 28

Indelning av hårddisk - ett möjligt sätt att organisera hårddisken (formatering) Hela disken/skivminnet Master Boot Record Partitions tabell Partition 1 Partition 2 Partition 3 MBR läses vid bootning av BIOS identifierar partitioner och var OS ligger BOOT block Partition boot block Superblock MasterFileTable Hantering av ledigt utrymme I-noder (inte i NTFS) Root directory Filer och directoryn Ladda OS Filsystemstyp (UNIX, NTFS) OS Föreläsning 4, Filsystem 29

Implementering av filer Hur allokera utrymme på disken Vad händer när man öppnar och läser en fil OS Föreläsning 4, Filsystem 30

Allokering av utrymme för filer Kontinuerlig allokering Samma problem som för minnesallokering Fragmentering Hur hantera filer som växer Dock: Bra för skivminnen som bara skrivs en gång! Används för CD-ROM, DVD... OS Föreläsning 4, Filsystem 31

Blockindelad allokering Dela in skivminnet i block Allokering med länkad lista: Länkad lista med länken till nästa block i blocket - långsamt vid random access FAT File Allocation Table separat tabell med pekare till block Kan hållas i minne Hur stor blir tabellen? Mer detaljer längre fram... Men varför inte låna ideer från sidtabeller!? OS Föreläsning 4, Filsystem 32

Indexerad allokering - jfr sidindelad sidtabell UNIX File System (UFS) mode owners (2) timestamps (3) size link count device id direct blocks (10) single indirect double indirect triple indirect i-node (FCB)... data data data... data data data... Klarar filer upp till 64GB...... data data data data OS Föreläsning 4, Filsystem 33

Var ligger i-noder? - hur fungerar en disk Läs/skriv huvuden Cylinder Sektor OS Föreläsning 4, Filsystem 34

Var lägger man i-noderna? Nära starten av disken I varje cylindergrupp OS Föreläsning 4, Filsystem 35

Val av blockstorlek Medianstorlek på fil i UNIX ~ 1KB Små block annars mycket intern fragmentering I/O mot disk Små block mycket overhead Helst större block 512B 8KB har använts Ex: Berkley Fast File System: 8KB block som kan fragmenteras till 1KB Ex: MS-DOS max 2 16 block blockstorleken beror på hårddiskens storlek OS Föreläsning 4, Filsystem 36

Implementation av directoryn Primär uppgift - översätt filnamn till var filen finns på disk Annat att fundera över Var ligger filernas attribut - i directoryt eller i i-noden (FCB) Hur hantera långa filnamn Hur organisera directory - länkad lista av information om filer - kombinera med hashtabell Directoryn implementeras ofta som filer med speciell intern struktur OS Föreläsning 4, Filsystem 37

Datastrukturer - man normalt finner i filsystem På disk Boot block Superblock (MasterFileTable) Hur är partitionen indelad i block, lediga block... File Control Blocks (i-noder i UFS) Ev. Directorystruktur I minne Partitionstabell Information om monterade partitioner Tabell med nyligen accessade directoryn Tabell över alla öppna filer med kopior av filernas FCB:er Per process öppen filtabell OS Föreläsning 4, Filsystem 38

Att öppna/stänga filer Varför måste man normalt sett öppna en fil innan man läser/skriver den? Varför måste man stänga filen efteråt? Öppna filen: OS håller ordning på/kontrollerar: Accessrättigheter Var i filen man är positionerad Hur många som öppnat filen (delade filer) Stänga filen: OS håller ordning på: Hur många som öppnat filen Om filen buffrats i minne och behöver skrivas till disk OS Föreläsning 4, Filsystem 39

Öppna en fil - datastrukturer i minnet User space Kernel space open(filename) fd (index) read(fd) directory tabell directory info P2 read(fd2) FCB i-node data block Filtabeller för Tabell över varje process alla öppna filer OS Föreläsning 4, Filsystem 40

Hålla ordning på lediga block Hur håller man ordning på lediga block på disken? Bitvektor (växer med diskstorlek och minskande blockstorlek) Länkade listor Bygg dem i de lediga blocken Inget extra utrymme krävs! OS Föreläsning 4, Filsystem 41

Prestanda - några detaljer bland många Buffer (cache) för diskblock som accessas i minnet Kan implementera LRU När skrivs modifierad data till filsystemet? Försök designa filsystemet så man minskar Onödiga diskrörelser Inte skriver/läser för små mängder data Undvik dubbel cachening av minnesmappade filer minnesmappad I/O vanlig filaccess minnesmappad I/O vanlig filaccess sidcache buffercache buffercache filsystem OS Föreläsning 4, Filsystem filsystem 42

Mjuka och hårda länkar i UNIX Länk - En fil som innehåller sökvägen till en annan fil eller directory Hård länk Får bara peka ut filer Uppdaterar räknaren i den utpekade filens i-node för hur många som refererar till filen En fil kan inte tas bort så länge denna räknare är > 0 Mjuk länk Får peka ut både filer och directoryn Räknar inte upp räknaren i i-noden OS Föreläsning 4, Filsystem 43

Backup och konsistenskontroller - förbaskat viktigt men slarvas med... Backup Fysisk dump - skriv alla block i följd på backupmedia Logisk (incrementell) dump - skriv alla directoryn och alla ändrade filer till backupmedia - I UNIX följ inte mjuka länkar! Konsistenskontroller (fsck, scandisk) Block konsistens - kontrollera att alla diskblock finns en gång i antingen fri-listan, i en fil eller i listan med dåliga block Filsystemskonsistens - Kontrollera att räknarna för hur många som refererar till en fil (i FCB, i- node) stämmer överens med hur många referenser som finns från directory-strukturen Fysisk korrekthet - block/sektorer som inte går att läsa markeras att inte kunna accessas Läs 6.3.6 OS Föreläsning 4, Filsystem 44

Exempelfilsystem MS-DOS Windows 98 UNIX (UFS)

MS-DOS - Windows-95 Fortfarande vanligt! Speciellt på minneskort Utvidgning av filsystemet i CP/M Skiljer inte på user- och kernel-mode Skiljer inte på olika användare (bara en) Root directory har fix storlek Hur många sub-directoryn som helst Directoryn sparas som filer med fixt format på posterna 8 3 1 10 2 2 2 4 filnamn ext attr. reserverat tid datum första block storlek Datum klarar upp till år 2107 FAT tabell i minnet Olika versioner beroende på hur många bitar i pekarna till diskblock: FAT-12, FAT-16, FAT-32 (28 bitars pekare) Olika blockstorlek: multipel av 512B OS Föreläsning 4, Filsystem 46

MS-DOS - varianter på FAT Max 4 partitioner per disk. Max storlek per partition för olika blockstorlekar och FAT pekarstorlekar Blockstorlek FAT-12 FAT-16 FAT-32 0.5 KB 2 MB 1KB 4 MB 2KB 8 MB 128 MB 4KB 16 MB 256 MB 1 TB 8KB 512 MB 2 TB 16KB 1024 MB 2 TB 32KB 2048 MB 2 TB OS Föreläsning 4, Filsystem 47

Windows-98 Kan utnyttja FAT-32 fullt ut Långa filnamn Bakåtkompatibelt med MS-DOS Windows-98 directory entry 8 3 1 10 2 2 2 4 filnamn ext attr. reserverat tid datum första block storlek 8 3 1 1 1 4 2 2 4 2 4 basefilename ext attr. NT creation date last acc last mod size Höga 16 bitar i adress till första blocket Låga 16 bitar i adress till första blocket OS Föreläsning 4, Filsystem 48

WINDOWS-98 -långa filnamn Tillåter upp till 260 tecken (819 klaras...) Ex. På hur det lagras i directoryfilen Långt namn entryn 68 5 tecken attr. 0 chk 6tecken 0 2 tkn 2 5 tecken attr. 0 chk 6tecken 0 2 tkn 1 5 tecken attr. 0 chk 6tecken 0 2 tkn Directory basefilename ext attr. NT creation date last acc last mod size entry WINDOWS skapar ett unikt MS-DOS filnamn (8+3 tecken) Flaggar för att det är ett långt namn OS Föreläsning 4, Filsystem 49

FAT i detalj Directory 8 3 1 1 1 4 2 2 4 2 4 entry basefilename ext attr. NT creation date last acc 0000 last mod 0001 size Höga 16 bitar i adress till första blocket Låga 16 bitar i adress till första blocket FAT (hålls om möjliigt i minnet) 4 8-1 0 2 4 6 8 6 1 3 5 7 9 OS Föreläsning 4, Filsystem 50

UNIX Mycket av det vi gått igenom gäller UNIX! Kan ha många olika filsystemsimplementationer samtidigt Tillåter att man låser regioner i filer för exklusiv access (skrivning) eller delad access (läsning) Skiljer på olika typer av filer regular vanliga filer directory special Specialfiler kan vara terminaler och andra I/O enheter (/dev) kan montera råa diskar/partitioner (dvs utan filsystem på) för t.ex SWAP-space OS Föreläsning 4, Filsystem 51

UNIX - kärnans datastrukturer för öppna filer Per process fildescriptortabeller Gemensam tabell för öppna filer i-nodes tabell för öppna filer föräldraprocess barnprocess annan process Filposition r/w pekare till i-node Filposition r/w pekare till i-node Filposition r/w pekare till i-node OS Föreläsning 4, Filsystem 52

Summering vad vi pratat om idag Filsystem Filer och directoryn som abstrakta datatyper Fysisk implementation av filsystem på disk Datastrukturer i minnet för att hantera öppna filer och directoryn OS Föreläsning 4, Filsystem 53

Kommande föreläsningar Nästa föreläsning: I/O OS Föreläsning 4, Filsystem 54