Oversigt. Operativsystemer [5]: Filsystemer. Hvad er en fil? Hvor er en fil? Strukturen af en fil. Beskrivelse af en fil



Relaterede dokumenter
Filsystemer. dopsys. fredag den 26. november 2010

Lageret er hierarkisk fokus nu: disk

Filsystemer: Anvendelse. dopsys

Filsystemer: Implementation. dopsys

Oversigt. Operativsystemer [6]: Virtuelt lager. Virtuel lager. Virtuelt lager. Virkemåde. Virtuelt lager eksempel virtuelt lager

Lageradministration. dopsys

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

FS2: Dynamic Data Replication in Free Disk Space for Improving Disk Performance and Energy Consumption

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder

DATALOGI 1F. Skriftlig eksamen tirsdag den 27. januar 2004

Design Systemkald. User-mode Linux, The Linux kernel/

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer.

DATALOGI 1F. Skriftlig eksamen tirsdag den 10. juni % 2 10 % 3 25 % 4 10 % 5 30 %

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer.

Datastrukturer (recap)

Lærebog. Datalogi 1F Forår Hvad sker hvornår? Kursusbøger. Planen for idag. Hvad er et operativsystem

Datastrukturer (recap)

1 Operativsystemer oversigt

Database Implementering

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille

Algorithms & Architectures II

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Indledning. På de følgende sider vises, primært i tegneserieform, lidt om mulighederne i PC-AXIS for Windows.

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

Merging og Hashing (del I)

KIH Database. Systemdokumentation for KIH Databasen. 1. maj Side 1 af 13

Planen for idag. Datalogi 1F Forår Hvad er en proces? Livscyklus for en proces. Hvad består en proces af?

1. Forklar sammenhængen mellem sektor, spor (track) og cylinder.

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

DM507 Algoritmer og datastrukturer

STANDARD SYSTEMINDSTILLINGER

Arkitektur for begyndere

TeamShare 2.1 Versionsnoter Oktober 2009

Datastrukturer (recap) Datastruktur = data + operationer herpå

SW6 SAI. Services 1: (Fil) service admin torsdag 7/4 05

DM507 Algoritmer og datastrukturer

Huskesedler. Design og automatisering af regneark. Microsoft Excel 2013

Visility HSB vejledning

Operativsystemer of C Efterår 2013 Virtuel hukommelse (kap. 9)

Input/Output: Disk & Clock. dopsys

Sider og segmenter. dopsys 1

Modul 02, Harddisken 1

DM507 Eksamen Obligatorisk Opgave Rejseplanlægning

Sider og segmenter. dopsys 1

portal.microsoftonline.com

Prioritetskøer og hobe. Philip Bille

Kort om CoinDB (Mønt- og seddelsamling):

VUC IT Niveau G. Drev Mapper Filer

TeamShare 3.0 Forbedringer til TeamShare Outlook

Lageradministration Intel Pentium og Unix/Linux

DM507 Algoritmer og datastrukturer

Danmarks Tekniske Universitet

DM507 Algoritmer og datastrukturer

ectrl Tilknytning af dokumenter

Viditronic NDVR Quick Guide. Ver. 2.0

Brugervejledning til registrant

Oprettelse af Titelblok i Capture og Capture CIS

DM507 Algoritmer og datastrukturer

Pivottabeller, diagrammer og databehandling. Underviser: Nina Kirkegaard Schou Mobil

DM507 Algoritmer og datastrukturer

Boot Camp Installations- & indstillingshåndbog

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

Dokumenter. Sider. efact CMS manual v. 1.0

Sikkerhedskopiering af slægtsdata

DM507 Algoritmer og datastrukturer

Danmarks Tekniske Universitet

Online edit i ibinder

Dit budskab i centrum

ISOWARE release note

Lageradministration Paging og segmentering

Oneview: Driftsdokumentation

I Windows fil struktur er der følgende ting Drev, Mapper, Filer og Genveje.

Database "opbygning"

Planen for i dag. Logiske og fysiske adresser. Systemarkitektur. Binding af programkode til lager. Hardware understøttelse af lageradministration

SIMPLIFYSCAN. Et stærkt valg til intelligent scanning

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit.

Forbrugsafregning på dialog-maskinen af Steen Thomassen

Installations- og. Brugervejledning. Rambøll CAREArkiv - version feb Rambøll Informatik A/S. j.nr. LLP feb.

OpenTele datamonitoreringsplatform

DATALOGI 1F. Vejledende løsninger til Skriftlig eksamen tirsdag den 27. januar 2004

Danmarks Tekniske Universitet

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner

Brugervejledning i behandling af lokale mål i Operation Life

Releasebeskrivelse KMD Sag. Version Nyheder og ændringer i KMD Sag & KMD Sag EDH

Bruge Diskoprydning-programmet i Windows 7 76 Defragmentere en harddisk, er det nødvendigt? 78 Der mangler forskellige programmer i Windows 7 80

Danmarks Tekniske Universitet

Multiprogrammering og operativsystemer i Danmark

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Funktions opdatering ASPECT4 QueryManager (B=fejl, S=support/Info, T=Opgave, W=Releaseønske)

Dokumentlivscyklus. IntraTeam Erfa-gruppemøde Nordea - 10 januar 2013

Document Portal 1. Document Portal

Filupload LEJERBO.DK FILARKIV UNDER MØDER OSV. Upload filer til et eksisterende filupload-komponent

Vejledning til registrering som bruger til EudraCT results

Disk-vedligeholdelse i Windows 10 - juli 2017

Principper for Samtidighed og Styresystemer

LinkGRC. Dokumenter. Brugermanual

Algoritmer og datastrukturer Course No Cheat Sheet May 15, 2012

komplet kopi af harddisken: 20 minu sådan! Med en kopi af Windows og dine programmer får du en ustabil eller fejlramt pc på ret kurs i en ruf.

Transkript:

Oversigt Operativsystemer [5]: Filsystemer Datalogi F Forår 2003 Jørgen Sværke Hansen cyller@diku.dk Grænseflade: Filoperationer Filens struktur Katalogstrukturer Implementering: Lagerallokering Afbildning af logisk struktur til fysisk struktur Caching Pålidelighed Datalogi F: Operativsystemer[5] 2 Hvad er en fil? En repræsentation af data: et dokument (ASCII, DVI, Word XP, ) en web-side (HTML 4.0, XHTML.0, ) et billede (GIF, JPG, BMP, TIFF, ) et regneark (Excel, Gnumeric, ) en database (Oracle, DB2, MySQL, ) En repræsentation af et program: shell script binært eksekverbart formet (ELF, exe,..) kildetekst (Java, BASIC, Perl, ) Hvor er en fil? Placeret på sekundært lagermedie: harddisk bånd CD diskette Delt mellem (især åbne filer): applikation operativsystem sekundært lager Datalogi F: Operativsystemer[5] 3 Datalogi F: Operativsystemer[5] 4 Strukturen af en fil Ingen: en række af bytes, ord, Simple poster: linier fast længde variabel længde Avancerede formater: XML relokerbar programkode En række af bytes kan bruges til at beskrive både simple poster og avancerede formater: men hvem skal gøre det? Applikation eller operativsystem Datalogi F: Operativsystemer[5] 5 Beskrivelse af en fil Navn Type Placering Størrelse Adgangskontrol Tidsstempler Ejere Datalogi F: Operativsystemer[5] 6

Organisering af flere filer Filsystem Katalog / /etc /usr foo bar bar Filer foo Operationer på filsystemer Filoperationer Åben Luk Læs Skriv Tilføj Afskær Ændring af rettigheder Katalogoperationer: Find fil/katalog Opret fil/katalog Slet fil/katalog Udskriv indhold Skift katalog Datalogi F: Operativsystemer[5] 7 Datalogi F: Operativsystemer[5] 8 Katalogstruktur Effektivitet: Givet et filnavn skal man hurtigt kunne finde en fils placering på sekundært lager Navngivning: flere brugere skal kunne navngive filer uafhængigt af hinanden den samme fil kan have flere navne Gruppering: katalogstruktur skal kunne beskrive at filer er beslægtede Katalogstruktur med et niveau Et enkelt katalog beskriver alle filer: Problemer med: navngivning gruppering Datalogi F: Operativsystemer[5] 9 Datalogi F: Operativsystemer[5] 0 Kataloger med træstruktur Acyklisk graf Datalogi F: Operativsystemer[5] Datalogi F: Operativsystemer[5] 2 2

Generel grafstruktur Mounts Filsystemet specificeres via en superblok Et filsystem indeholder en katalogstruktur Denne katalogstruktur skal gøres tilgængelig før filerne skal tilgås: Roden i hvert filsystem optræder som et katalog i et super rodkatalog, f.eks.: A:, B:, C:, D:,. Et filsystem er specificeres som værende rodfilsystemet andre filsystemer indplaceres i rodfilsystemets katalogstruktur Datalogi F: Operativsystemer[5] 3 Datalogi F: Operativsystemer[5] 4 To filsystemer Efter mount af (b) på /users/ Datalogi F: Operativsystemer[5] 5 Datalogi F: Operativsystemer[5] 6 Adgangskontrol Hvem har ret til at gøre hvad? Adgangskontrollister: Hvem: bruger ID, gruppe ID Hvad: læse, skrive, udføre, tilføje, slette Adgangsbevis (eng.: capability): adgangsbeviset indikerer rettigheder adgangsbevisets ægthed skal kunne verificeres adgangsbeviser kan måske overdrages Datalogi F: Operativsystemer[5] 7 Adgangskontrol - UNIX Adgangstyper: læs, skriv, udfør Niveauer: R W X ejer (7) gruppe (4) 0 0 andre (0) 0 0 0 Hvis andre skal have læserettigheder kan de tilføjes gruppen (kræver administrator) Ændring af rettigheder chmod 740 foo Datalogi F: Operativsystemer[5] 8 3

Implementering af filsystemer Datastrukturer til: kataloger filer ledige blokke Caching Pålidelighed Lagdeling af filsystemer I/O enheder (disk) Styreprogram Diskblokadgang Filstruktur Metadata Filgrænseflade Brugerprogram Datalogi F: Operativsystemer[5] 9 Datalogi F: Operativsystemer[5] 20 Kontrolblok for filer Datastrukturer i OS lager Rettigheder Tidsstempler (oprettet, sidst ændret,..) Referencetæller Størrelse Datablokke Datalogi F: Operativsystemer[5] 2 Datalogi F: Operativsystemer[5] 22 Katalogstrukturer En liste af <navn, kontrolblokpeger> tupler: langsom søgning (når der er mere end FS blok) Hashtabel: fast størrelse kollisioner B+ træer: balanceret søgetræ hver knude i træ har FS blok størrelse Datalogi F: Operativsystemer[5] 23 Allokering af FS blokke Allokering af blokke til et filsystem minder om allokering i hovedlageret: vi har et virtuelt adresserum (filen), der skal afbildes til et fysisk adresserum (harddisken) men det er meget dyrere at tilgå en disk i forhold til hovedlageret vi vil derfor gerne have så få administrative data liggende på disken som muligt Datalogi F: Operativsystemer[5] 24 4

Sammenhængende allokering Hægtet allokering Datalogi F: Operativsystemer[5] 25 Datalogi F: Operativsystemer[5] 26 Filallokeringstabel Indekseret allokering Datalogi F: Operativsystemer[5] 27 Datalogi F: Operativsystemer[5] 28 UNIX filstruktur Datalogi F: Operativsystemer[5] 29 Extent- baserede FS er I stedet for at allokere blokkene til en fil i grupper af en fast størrelse kan man bruge grupper af en variabel størrelse (extents) En extent beskrives via: startblok længde (startposition i fil) En extent kræver mere bogføring, men understøtter store filer bedre (hvis der er sammenhængende diskplads) Datalogi F: Operativsystemer[5] 30 5

Håndtering af ledig diskplads Bitmap: hver blok repræsenteres af en enkelt bit: 0 == blok optaget, == blok ledig ledig blok: (antal 0 ord)*(bits per ord)+forskydning af første bit Liste af frie blokke: overhead betyder ingenting svært at finde sammenhængende diskplads (brug extent-baseret liste) B+ træer med extents sorteret efter størrelse & diskblok Datalogi F: Operativsystemer[5] 3 Ydelse Reducer antallet af søgninger: Allokering af datablokke tæt på indeksblokke og filkontrolblokke elevatoralgoritme: sorteret liste over ønskede blokke læs de blokke der er tættest på diskhovedet Datalogi F: Operativsystemer[5] 32 Ydelse (2) Caching: gem ofte refererede blokke: kataloger filer (kontrolblokke, indexblokke, datablokke) administrativ information (ledige blokke) forudsig filadgangsmønstre (read-ahead) forsinkelse af skrivninger: skriv større sammenhængende områder opfang flere ændringer problem ved forsinkelse af skrivninger: diskstruktur kommer bagefter systemnedbrud kan have alvorlige Side cache vs buffer cache konsekvenser 33 Datalogi F: Operativsystemer[5] 34 Forenet buffer cache Opdatering af datastrukturer på disk Eksempel: en fil der oprettes kræver ændringer i: (K) katalogstruktur (indsæt navn og peger til FKB) (F) fjern FKB fra frie blokke (hægt ud/flip bit) Ved opdatering på disk hvis (K) opdateres før (F) kan et systemnedbrud betyde, at (K) refererer til en blok der er markeret ledig hvis (F) opdateres før (K) kan systemnedbrud betyde at vi mister en blok fra frilisten Datalogi F: Operativsystemer[5] 35 Datalogi F: Operativsystemer[5] 36 6

Efter et nedbrud På mounttidspunktet opdages at filsystemet har oplevet et systemnedbrud Der foretages et check af filsystemet: det undersøges om katalogindgange refererer blokke, der er markeret frie det undersøges om der er allokerede blokke, der ikke refereres (f.eks., katalogindgange eller indeksblokke) Dette kræver at hele filsystemet gennemtrævles og kan nemt tage lang tid for store diske Datalogi F: Operativsystemer[5] 37 Journaliserede filsystemer Opdateringer af metadata (indexblokke, katalogstrukturer, FKB ere) opfattes som en DB transaktion Alle transaktionerne skrives til en journal på disken inden de udføres på disken Når en transaktion er registreret, er dens udførsel garanteret selv ved nedbrud Herefter kan metadata opdateres Når dette er gjort fjernes transaktionen fra journalen Efter nedbrud er det nok at afspille journalen Datalogi F: Operativsystemer[5] 38 Journaliserede filsystemer (2) BRAVO! Nu skriver vi metadata TO gange i stedet for EN Ja, men journalen er fortløbende allokerede blokke dvs. få søgninger og vi kan cache flere opdateringer - dvs. færre søgninger nogle journaliserede filsystemer kan bruge en separat disk/partition til journalen færre søgninger Datalogi F: Operativsystemer[5] 39 Backup Trinvis backup Filsystem snapshot når filsystem har konsistente datastrukturer på disk, kan visse disksystemer tage et tilstandsbillede af diskens indhold på tidspunkt T herefter kan et backupprogram angive, at det ønsker at læse fra filsystemet som det så ud på tidspunkt T Ændringer overskriver ikke gamle blokke men skrives til nye Låsning af dele af filsystemet Datalogi F: Operativsystemer[5] 40 Redundante diske Redundant Array of Inexpensive Disks (RAID): mange små diske er billigere end en stor selv med store diske kan det være en god ide at have en (eller flere/færre) i reserve Mest almindelige: RAID : spejlning RAID 5: paritetsdisk (N data + paritet) A B C D Spejlning (RAID ) A B C D RAID gruppe E F G H E F G H I J K L I J K L Datalogi F: Operativsystemer[5] 4 Datalogi F: Operativsystemer[5] 42 7

RAID 5 Store skrivninger XOR A0 B C0 D0 A B0 C D A2 B C D A3 B2 C2 D2 A B3 C3 D3 2 Datalogi F: Operativsystemer[5] 43 Datalogi F: Operativsystemer[5] 44 Opsummering Der findes mange filformater, men oftest understøtter Oset kun et eller få formater Navngivning/katalogstruktur skal være fleksibel Lageradministration på diske er tungere, og antallet af læsninger vigtigt for effektivitet Caching er vigtig for ydelsen, men vær forsigtig med at cache metadata Datalogi F: Operativsystemer[5] 45 Kilder Disse slides er baseret på SG03 samt de af forfatterne udviklede slides Datalogi F: Operativsystemer[5] 46 8