Operativsystem - Filsystem



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

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

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

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.

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

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

Mer datorarkitektur. En titt I datorn Minnen

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

Datorteknik ERIK LARSSON

Operativsystem - input/output, skydd, virtualisering

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

Programmeringsteknik med C och Matlab

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

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

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

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

Fillagring och indexering

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Allmänt om programvaror och filer i Windows.

Reservföreläsningen inställd

Karlstads Universitet, Datavetenskap 1

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

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

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

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

Filhantering. Grunderna i filhantering. Uppbyggnad av filer. Data hierarkin. Filpekaren. Positionering i filer

Digitala System: Datorteknik ERIK LARSSON

4 grundregler. Minneshantering. Problemet. Windows minkrav

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

1DV416 Windowsadministration I, 7.5hp MODULE 4 GROUP POLICY, STORAGE AND ACCESS CONTROLS STORAGE

Avancerade IT-Forensiska Verktyg I

Administration / Disk Management. EC Utbildning AB

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

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

Minnet från processorns sida Datorteknik

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

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor

komplett kopia av hårddisken 20 minu En instabil dator som ofta drabbas av fel får du snabbt på rätt kurs med en kopia av Windows och alla program.

Datastrukturer. föreläsning 10. Maps 1

TIDNINGEN. Konsten att partitionera SSD-flash EMBEDDED. Kongeniala rapporter om inbyggda system etn.se/expert. Claus Giebert Kontron

DIG IN TO Dator och nätverksteknik

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Lärare och handledare. Systemnära programmering. I dag. Föreläsningar & Gruppövningar & Handledning. Marcus Karlsson

Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar

Att använda DVD-RAM-skivor

Operativsystem (IS1350) :00-12:00

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

Filhanteraren/Den här datorn

Filsäkerhet i Windows NT (NTFS)

Lösningsförslag till tentamen i IS1350 Operativsystem

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

Digitalteknik och Datorarkitektur 5hp

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

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

Marcus Wilhelmsson 12 april 2013

Standardfilerna Input och Output

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Design och trender. Föreläsning 12

Datorarkitekturer med Operativsystem

Standardfilerna Input och Output. Filer... Filer... vanlig utbyggnad för ökad dynamik. Filer... filtyper

Föreläsning Datastrukturer (DAT036)

Paragon NTFS för Mac OS X

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

Tentamen, Distribuerade System/Programvaruarkitektur

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

Föreläsning 2. Operativsystem och programmering

Minneshantering segmentering och virtuellminne. Föreläsning 3

Föreläsning 3.1: Datastrukturer, en översikt

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

Tommy Färnqvist, IDA, Linköpings universitet

Ekvivalensrelationer

Digital- och datorteknik

Din manual HP COMPAQ EVO D310 MICROTOWER

Lab 7, 48 steg till ett bättre liv i Unix-labbet

Windowsadministration I

Operativsystem ID2200/06 tentamen och omtentamen :00-12:00

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT / 33

Datorteknik ERIK LARSSON

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

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

Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary Definitioner Implementation... 2

Operativsystem och användargränssnitt

Avbildningar och hashtabeller. Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4

Minnen. Informationsteknologi sommarkurs 5p, Agenda. Slideset 4

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Datorsystem. Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3. Student: Underskrift: Underskrift: Datum:

Städa hemområdet (och andra filsystem)

Laboration 3 MEN ---- STOPP! GÖR INTE DET

Trädstrukturer och grafer

Operativsystem ID2200/06 omtentamen :00-18:00

A V A N C E R A D E F O R E N S I S K A V E R K T Y G DT Kontakt: Mattias Weckstén Telefon: 7396

Magnus Nielsen, IDA, Linköpings universitet

Tentamen den 17 mars 2016 Datorteknik, EIT070

Manual - Phonera Online Backup

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

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY

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

Transkript:

Operativsystem - Filsystem Mats Björkman 2015-03-09

Administrativt n Extraföreläsning istället för den inställda: torsdag 12/3 kl 8-10 i Pi n Seminarier preliminärt schema ute n 15 minuter per grupp lämna 2 minuter för frågor och svar Operativsystem, Mats Björkman, MDH 2

Lärandemål n Krav på filsystem n Filsystem - layout n Filsystem - implementationer n FAT n I-noder Operativsystem, Mats Björkman, MDH 3

Filsystem P A R T O N E : U S E R S P O I N T O F V I E W n n Del 1: Ur tillämpningens synvinkel Del 2: Implementation P A R T T W O : I M P L E M E N T A T I O N Operativsystem, Mats Björkman, MDH 4

Filsystem Tillämpningens synvinkel n Filer n Attribut n Typer n mer n Directoryn n Operationer n Hierarkier Operativsystem, Mats Björkman, MDH 5

Långtidslagring av data Tre grundkrav för långtidslagring av data: n Möjligt att lagra stora mängder data n Data skall leva vidare efter att processen som skapade data avslutats n Flera processer skall kunna accessa data samtidigt Operativsystem, Mats Björkman, MDH 6

En hårddisks struktur Hårddiskar är komplexa och innehåller Diskar/skivor Spår/cylindrar Sektorer/block Även SSD:er (Solid State Disks, flashdiskar) är komplexa Block-baserade Slits med användning (flash-wear) Operativsystem, Mats Björkman, MDH 7

En hårddisks struktur Operativsystem, Mats Björkman, MDH 8

En hårddisks karaktäristik n Den mekaniska rörelsen av diskens arm(ar) med magnethuvuden är en begränsande faktor n Prestanda begränsas till största delen av accesstiden, tiden för magnethuvudena att positionera sig plus väntan på att disken roterat till rätt sektor Operativsystem, Mats Björkman, MDH 9

En hårddisks karaktäristik n Tiden för positionering kan vara 5-10 ms n Tiden för väntan kan vara 3-5 ms n Läsprestanda kan sedan vara i storleksordning 1 Gbps n Ett 1 kb block kan alltså läsas på 8 mikrosekunder efter en väntan som är i storleksordning 1000 ggr större Operativsystem, Mats Björkman, MDH 10

En hårddisks karaktäristik n Stora lagringsutrymmen är nästan uteslutande uppbyggda av mekaniska hårddiskar n Hur diskutrymmet hanteras blir väldigt viktigt för prestanda Operativsystem, Mats Björkman, MDH 11

En hårddisks karaktäristik n Att läsa flera närliggande sektorer är nästan lika billigt som att läsa 1 n Att flytta sig mellan närliggande tracks är mycket snabbare än att flytta sig tvärs över diskytan (kan vara 50-100 ggr snabbare) Operativsystem, Mats Björkman, MDH 12

En hårddisks karaktäristik n Av dessa anledningar är det viktigt med lokalitet av data, block som accessas nära i tiden bör med fördel ligga nära varandra på disken n Cachning i primärminne blir också viktigt för prestanda n Disken själv har ofta en betydande buffert Operativsystem, Mats Björkman, MDH 13

Modell av en disk En disk ses som en linjär sekvens av block av fix storlek n n Två grundläggande diskoperationer: n n Read k: Läs block k Write k: Skriv block k Problem som uppstår: n n n Hur hittar man information på disken? Hur skyddar man en användares data från en annan? Hur vet man vilka block som är lediga? Operativsystem, Mats Björkman, MDH 14

Filer n Lösning: Filer n Precis som VM är en abstraktion av fysiskt minne, så är en Fil en abstraktion av informationen som lagras på en disk n Filkaraktäristik: n Filer hanteras via filnamn n Filer har en typ n Filer har även attribut Operativsystem, Mats Björkman, MDH 15

Filstrukturer Bytesekvens Record-sekvens Record-träd : 1 byte : 1 record : 1 record 16

Filtyper n Vanliga filer (regular files) n ASCII/UNICODE-filer n Binära filer n Directoryn n Character special files (stdin, stdout, ) n Terminal, skrivare, nätverk n Exekverbara filer n Specialfall av binärfil 17

Filattribut n Metadata om en viss fil, exempelvis: n Rättigheter: Read, Write, Execute n Ägare n Skapare n Storlek n Tider för skapande, senaste läsning, skrivning n 18

Filattribut 19

Långtidslagring av data n Att data överlever processen innebär att vi måste ha något annat än processen att relatera filens accessrättigheter till n Systemanvändarens identitet är den typiska associationen n Ägaren av en fil är då en systemanvändare n Rättigheter till filen relaterar till ägaren och till ev. grupper av användare Operativsystem, Mats Björkman, MDH 20

Filattribut 21

Filoperationer n CREATE, DELETE n OPEN, CLOSE n READ, WRITE, APPEND n SEEK n GET ATTRIBUTES, SET ATTRIBUTES n RENAME 22

Access till filer n Sekventiell n Läser bytes/records i ordning från filens start n Kan inte läsa på godtyckligt ställe i filen n Random Access n Kan läsa på godtyckligt ställe i filen n Record-baserade filsystem accessar genom nyckelvärde snarare än position 23

Sekventiell access n Enkel men begränsad n Naturlig för många tillämpningar: n Sökningar, strömning, transformationer, kompileringar n För vissa (gamla) medier nästan ett tvång, tänk magnetband 24

Sekventiell access n Enkel men begränsad n Naturlig för många tillämpningar: n Sökningar, strömning, transformationer, kompileringar n För vissa (gamla) medier nästan ett tvång, tänk magnetband 25

Sekventiell access n https://www.youtube.com/watch? v=cel8wnw5uvs 26

En hårddisks karaktäristik n Även moderna hårddiskar är som vi nämnt ofta effektivare med sekventiell access än med random access Operativsystem, Mats Björkman, MDH 27

File operation example Fil ThreadA(){ FILE* f; int i=0; CREATE( file ); f=open( file ); for(;i<10;i++){ WRITE(f,i); } CLOSE(f); } 28

File operation example (cont.) ThreadB(){ FILE* f; Fil f=open( file ); SEEK(f,4); WRITE(f,12); CLOSE(f); } 29

File operation example (cont.) Fil ThreadC(){ FILE* f; int i=0,j[2]; f=open( file ); READ(f,&(j[0])); APPEND(f,j[0]); CLOSE(f); } 30

Directoryn n Directoryn är systemfiler som håller reda på andra filer n Hierarkiskt strukturerade med start i en rot n Strukturen åskådliggörs för användare grafiskt som mappar Operativsystem, Mats Björkman, MDH 31

Directoryn n Varje program har ett working/current directory n Absoluta/relativa paths Operativsystem, Mats Björkman, MDH 32

Hierarchical Directory Systems Operativsystem, Mats Björkman, MDH 33

Ett nyskapat directory innehåller:. En referens till det egna directoryt.. En referens till föräldradirectoryt 34

Filsystem exempel Print Working Directory Short directory listing Access Rghts Links Owner Group Size Date Time Name Long directory listing Number of blocks used by files 35

Filsystem exempel Print Working Directory Short directory listing Long directory listing List subdirectory (note link=4 files) File information 36

Filsystem - Implementation n Filsystem layout och block n Implementation av filer n Hantering av ledigt diskutrymme n och mer Operativsystem, Mats Björkman, MDH 37

Filsystem - layout E N T I R E D I S K Partition Partition Partition Partition Partition M B R O N E P A R T I T I O N Partition files and directories Partition table P A R T I T I O N H E A D E R Boot block Super block Free space management I-nodes/FAT Root directory Operativsystem, Mats Björkman, MDH 38

Block En diskpartition är i princip en lång räcka block av fix storlek, typiskt 512 bytes - 4 kbytes Blockstorlek tradeoff: Stor Liten Bra för I/O-prestanda, dålig beträffande fragmentering Dålig för I/O-prestanda, bra beträffande fragmentering Operativsystem, Mats Björkman, MDH 39

Klustring För att minska antalet block i stora filsystem har de flesta OS en möjlighet att klustra fysiska filblock till större enheter som blir de enheter som filsystemet hanterar Kan kallas kluster (Windows: FAT, exfat, NTFS) eller allocation blocks (MacOS: HFS Plus) Här kallar jag dessa block för block för enkelhetens skull, men kom ihåg att filsystem på stora diskar kan ha logiska filblock som är ganska mycket större (16 kb - 128 kb) än de fysiska filblocken (512 bytes - 4 kb) Operativsystem, Mats Björkman, MDH 40

Filsystemimplementation - uppgifter Huvuduppgiften för en filsystemimplementation är att hålla reda på vilka block som hör till vilka filer, och var i filen blocken hör hemma D I S K B L O C K S F I L E S File 1 File 2 File 3 Operativsystem, Mats Björkman, MDH 41

Filsystemimplementation Fyra sätt att hålla reda på filblock: n Sammanhängande allokering n Allokering med länkad lista n Allokering med länkad lista via ett index n I-noder (inoder i UNIX-terminologi) Operativsystem, Mats Björkman, MDH 42

Sammanhängande allokering n Varje fil allokeras som ett antal sammanhängande block: Fil A Fil B Fil C Plus: Lätt att implementera, goda prestanda Minus: Fragmentering, inte bra att tvingas flytta när filer växer Operativsystem, Mats Björkman, MDH 43

Allokering med länkad lista n Alla block som tillhör en fil sitter ihop i en länkad lista: Fil A Fil B Fil C Plus: Ingen fragmenteringsproblematik, enkel sekventiell access Minus: Random access blir väldigt långsam i stora filer Operativsystem, Mats Björkman, MDH 44

0 1 2 3 4 5 6 7 8 E 1 9 10 E E 2 1011 E E 3 11 E E 4 12 E 13 E 1314 E E 6 1415 E 12 E 15 E E 8 16 E 9 17 Allokering med länkad lista via ett index n E X E M P E L : M S D O S F A T Länkarna till nästa block flyttas från disk till en tabell i primärminnet Fil A Fil B Fil C Plus: Tar bort problemet med att traversera en länkad lista där länkarna ligger på disk Minus: Indextabellen behöver vara i primärminnet Operativsystem, Mats Björkman, MDH 45

Allokering med länkad lista via ett index E X E M P E L : M S D O S F A T n Ett entry i ett MS-DOS-filsystemdirectory: Directory 1 Size (in bytes) 8 3 1 10 2 2 2 4 File name Reserved Size FAT 0 1 2 3 4 File extension Attribute Time Date First block number Operativsystem, Mats Björkman, MDH 46

I-noder E X E M P E L : U N I X V 7 F S n En liten tabell, en i-nod, används för varje fil: A 0 1 B 5 6 C 7 8 2 12 9 3 10 18 4 11 Fil A Fil B Fil C 4 13 14 15 Plus: Alla i-noder behöver inte vara i primärminne hela tiden Minus: Långsammare access än indexerade länkade listan Operativsystem, Mats Björkman, MDH 47

I-noder E X E M P E L : U N I X V 7 F S n Ett entry i ett UNIX V7 filsystemdirectory: Directory 2 2 14 File name I-node number I-node block 1 block 2 block 3 block 4 File attributes Disk TIPS: Titta på figur 10.32 i Tanenbaums bok! Operativsystem, Mats Björkman, MDH 48

Implementering av directoryn (a) Ett enkelt directory Fix storlek på entries Diskadresser och attribut i directoryentryt (b) Ett directory där varje entry bara pekar till en i-nod Operativsystem, Mats Björkman, MDH 49

Hantering av fritt diskutrymme n Länkad lista n n Bitmapp En länkad lista av oanvända block används för att hålla reda på fritt utrymme n Mycket bra om vi har ett litet primärminne eller en full disk n En bitmapp för alla block håller reda på vilka block som är allokerade och vilka som är lediga n Bättre än länkad lista om bitmappen kan hållas i primärminnet Operativsystem, Mats Björkman, MDH 50

Övning ledigt diskutrymme Från tentamen 2002-03-14: Givet en hårddisk med en total storlek på X bytes, en blockstorlek på B bytes och ett ickeallokerbart minnesutrymme på Y bytes (t.ex. FAT, rotkatalog och bootsektor), hur stort utrymme (angivet i bytes) krävs för representation av det lediga utrymmet på disken om det representeras av: a) en bitmap. b) en länkad lista (Ett element i den länkade listan tar upp L bytes och varje block länkas för sig. Vidare betecknar vi andelen lediga block (i procent) A) Operativsystem, Mats Björkman, MDH 51

Filsystem - tillförlitlighet n Filsystembackup n n Full Inkrementell n Konsistenskontroll av filsystemet Operativsystem, Mats Björkman, MDH 52

Konsistenskontroll av filsystemet n Varför behövs konsistenskontroll av filsystemet? n Systemkrascher eller strömavbrott just när OS:et hanterar filblock eller ändrar i directoryn eller i-noder (vanligare än man tror, filhantering pågår hela tiden ) n Buggar i operativsystemet ger upphov till fel n Operativsystem, Mats Björkman, MDH 53

Konsistenskontroll av filsystemet - metodik n n Gå genom varje fil och listan av fria block. Notera för varje block i dessa listor om blocket finns med i en fil eller på fria listan. Kontrollera sedan för varje block i filsystemet, att blocket antingen är del av en fil eller finns med på fria listan. Andra möjligheter: n n n n Blocket finns varken i en fil eller med på fria listan Blocket är både del av en fil och med på fria listan Samma block används av mer än en fil Samma block finns mer än en gång i fria listan Hur hanteras dessa situationer? Operativsystem, Mats Björkman, MDH 54

Konsistenskontroll, exempel Free Allocated 0 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1. 2. Free Allocated 0 1 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 Free Allocated 0 1 1 0 0 1 1 0 2 1 0 0 1 0 0 1 0 0 1 1 0 1 3. 4. Free Allocated 0 1 1 0 0 1 1 0 1 1 0 0 1 0 0 2 0 0 1 1 0 1 Free Allocated 0 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 0 1 (Exemplet gäller länkade listor, för bitmapp är inte fall 2 möjligt) Operativsystem, Mats Björkman, MDH 55

Konsistenskontroll av filsystemet n Varför konsistenskontroll tar tid: n Vi måste vandra genom hela filsystemsträdet och notera varje block i varje fil n Med 4 kb block finns det 1 miljard block på en 4 TB-disk Operativsystem, Mats Björkman, MDH 56

För mer information n Läs fallstudierna av Windows och UNIX i boken n Lyssna på seminarierna! Operativsystem, Mats Björkman, MDH 57

Lärandemålen igen n Krav på filsystem n Filsystem - layout n Filsystem - implementationer n FAT n I-noder Operativsystem, Mats Björkman, MDH 58