1 / 23

File System

File System. Filsystemet og harddisken. Diskens opbygning Den Fysiske Disk. En hard-disk består af en til flere plader For hver pladeside er der et læse/skrive hoved Disken roterer med en konstant hastighed (5.400, 7.200 eller 10800 RPM). Diskens geometri. Tilgang til sectoren.

benard
Download Presentation

File System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. File System Filsystemet og harddisken

  2. Diskens opbygningDen Fysiske Disk • En hard-disk består af en til flere plader • For hver pladeside er der et læse/skrive hoved • Disken roterer med en konstant hastighed (5.400, 7.200 eller 10800 RPM)

  3. Diskens geometri

  4. Tilgang til sectoren • For at læse/skrive data skal disk-controlleren have oplysninger om Cylindernr., Tracknr. og Sector-nr. • Access-tiden til en specifik sector, og dermed data der skal læses/skrives består af 4 dele: • Seek-time – flytning af armen til aktuelle Cylinder – gennemsnitlig tid omkring 5 – 10 msec • Valg af læse/skrive hoved – ren elektrisk, ubetydelig • Rotational delay – ventetid ved rotationen, at rigtige sector passerer læse/skrive-hovedet – omkring 3 – 6 msec • Overførsel af data 50 – 60 MB/sec; ca 0,02 msec for 1024 bytes • Hver sector har en header, hvor sectorens adresse er lagret – Dette gøres ved diskens low-level formattering – typisk fra fabikkens side

  5. Interleave factor and skewing distance • Normalt lagres data på harddisken i sectorer efter hinanden, på samme spor – og cylinder efter cylinder • Interleave factor • En hardisk controller kan læse en sector eller et helt spor • Ved sector-vis læsning/skrivning skal controllogikken give ny command, administrere buffere o.lign. – dette kan ikke klares under rotationstiden fra en sector til den næste. • I sector nummereringen springes en eller flere sectorer over, for at elektronikken kan følge med rotationshastigheden • Skewing distance • For at læse/skrive næste sector på efterfølgende cylinder, skal disk-armen flyttes. Tiden for denne flytning, bevirker at flere sectorer er passeret • For ar tage højde for denne forsinkelse, nummereres sectorerne i efterfølgende cylinder forskudt i forhold til forrige

  6. Interleave factor and skewing distance forts. • Interleave factor- her en: • Skewing distance – her 2

  7. File Management System (FMS) • I/O subsystem (kap 10) – beskrives i kap 11 som File mamanegent System, og hertil kan Driver-rutinerne (device drivers) også henføres

  8. Partitions and filesystem • En harddisk rummer i dag flere hundrede giga bytes. • Oftest deles en harddisk op i flere logiske disks – partitions, der hver i sær, set fra File manegers side, betragtes som selvstændige harddiske • Boot block – indeholder oplysninger om diskens opbygning; sectorstørrelse, ant. sectorer/spor, antal cylindere, antal spor, samt adressen på programmet der skal loades: Operativsystem eller boot-manager • Partition table – partitionernes placering (cylinder nr.) og størrelse • Usable area – her kan der placeres et Fil System, der set fra brugerens synspunkt er en ”selvstændig harddisk” – I Windows drive c:, d: o.s.v. og i Unix en ”harddisk” (mount cmd)

  9. Filsystemet generelt • Filsystemet skal forberedes/dannes før brugeren kan anvende det – Windows: format cmd, Unix: mkfs cmd • Filsystemet består af directories (folders) og selve filens data. Disse placeres normalt hver for sig • Directories indeholder beskrivelse af filen: • Ejer • Datoer (oprettelse, ændring, sidst tilgået, sidste back-up) • Beskyttelse – Access Rights • Fil type – hvad indeholder filen • Filens størrelse • Filens fysiske placering på disken • Data i filen

  10. Allokering af plads til filens data - generelt • Sammenhængende allokering (Contiguous al.) • Alle sectorer til filen ligger efter hinanden • Den næste fil ligger i umiddelbart forlængelse • Directory indhold: Filens begyndelses adresse og længde • Hvis filen skal udvides, skal der findes plads et andet sted på disken • Mulighed for stor ekstern fragmentering, ingen eller lille intern fragmentering • Linked Allokering • Filen ligger spredt, men hvor adressen på næste område findes i slutningen af det forrige område • Directory indhold: som ved Sammenhængende al. • God metode hvis alle data skal tilgås sekventielt, men ikke hvis filens data skal tilgåes ”Random” – der ønskes at springe rundt i filen efter data • Mindre ekstern fragmentering, ingen eller lille intern fragmentering • Indexed Allokering • Den metode der primært anvendes i nutidige filsystemer • Hele data området inddeles i lige store Blokke, typisk 1024, 2048, 4096 bytes. • En blok er altid et antal sectorer placeret efter hinanden på samme spor • Directoriet indeholder en liste med de bloknumre der hører til filen • Ingen ekstern fragmentering, lille intern fragmentering (max blokstørrelsen – 1)

  11. Boot block Superblock I-node’s Data (directories og filer) Fil systemet i Unix • Boot block :som før omtalt • Superblock: Oplysninger om blokstørrelse (allokerings faktor), liste over free I-nodes • Liste over free data blokke • I-nodes: Oplysninger om den enkelte fil • Directory: Filnavn ell. Directory navn, samt nummer på den I-node der beskriver filen

  12. Filstør- relsen Mode Bits User ID Group ID Link Count Datoer: ændret, refereret,opdateret Bloknumre til data blokke -Index I-node indhold • Mode-bits (4 bits): • Filetype – ordinary file, directory, special-files: (char. eller block), Symbolic Link, Named Pipes • Access-rights (9 bits): R,W,X for user, group, others • SUID-bit – Set User ID • GUID-bit – Set Group ID • Link Count – Antal links til denne I-node – Hvornår kan I-noden slettes

  13. Listen over blok numre • 12 direkte bloknumre • 1 1-level indirekte • 1 2-level indirekte • 1 3-level indirkte

  14. En anden detaljeret forklaring om allokering og administration af fri plads i Unix File System • Link til animeret forklaring og præsentation af Unix file System; Specielt allokering

  15. Directoriet i Unix • I Unix indeholder et directory blot navnet på filer og sub-directories samt nummeret på de I-noder der beskriver filen/sub-directoriet • Ved delete af en fil/directory fjernes blot navnet i directoriet • Alle directories bliver ”født” med navnene . og .. , der peger på hhv. directoriet selv og på forældre directoriet • I-noden der beskriver filen fjernes først når link-count er 0 (for directories 2) • Root-directory for filsystemet er placeret på en fast location, f.eks. henvisning via I-node 2

  16. Brugerens syn på Unix filsystemet • Hierakisk filstruktur • Brugeren ser kun et sammenhængende filsystem (til for forskel fra window’s C:-drev, D:-drev osv. , hvor brugeren skal vide på hvilken harddisk filen befinder sig) • Andre harddiske ”mountes” på Root-file- system

  17. Operationer på fil systemet • Unix commands: • Opret directory – mkdir • Delete directory – rmdir • Skift aktuelle directory – cd • Slet fil – rm • Flyt fil til andet directory- mv • Kopier fil – cp • Link, opret nyt pathname til eksisterende fil – ln [-s] (hardlink eller symbolik link)

  18. Operationer på data i filenKald fra et program (C kald) • Bemærk at syntaksen på nedenstående kald ikke er korrekt i hht. C • Create() – Opret en ikke eksisterende fil • Der skal angives et filnavn evt. Pathname • Opret I-noden og placer navnet i Directoriet med I-node henvisningen • Create returnerer en file-descriptor • Hvis create() angiver en eksisterende fil bliver denne trunkeret til 0 bytes • Open() – open en eksisterende fil • Der skal angives et filnavn evt. pathname, flags og evt. access-rights • Flags angiver readonly, writeonly eller readwrite • FMS checker om filen eksisterer og om adgangsrettigheder er OK • Filens I-node indlæses i main-memory • Open returnerer en filedescriptor • Read(fd, buffer, length) • Read returnerer længden på det indlæste evt. EOF • Write(fd, buffer, length) • Write returnerer 0 hvis skrivningen lykkes • Lseek(fd, placering) • Placer Filepointer til et bestemt sted i filen evt. I slutningen for at appende data ved write • Close(fd) • Udskriv den sidste buffer; opdater I-node; frigiv filens ressourcer i main-memory

  19. Datastrukturer internt i operativsystemet ved file access • File system descriptors indeholder bl.a. Incore I-nodes • File meta descriptors indeholder bl.a. filepointer, open mode (read/write) og bufferadresser

  20. Sikkerhed i Fil Systemet • Adgangskontrol • Dette opnås i Unix gennem allerede berørte rettigheder for User, Group og Others (r,w,x) • Root (Superuser) har alle rettigheder • se evt. på Windows Access-Control • Fysisk sikkerhed • Strømsvigt • Disk Crash

  21. Fysisk sikkerhed ved strømsvigt • Problemet: Den store mængde af data opbevaret i RAM under normal drift, specielt i operativsysemet • Tænk på logikken for at allokere plads? – Hvad med oprettelsen af ny fil? - Hvad berøres på disken? Superblock, I-node, Directory • Buffere • Brugerens buffere der endnu ikke er fyldte og dermed frigivet til skrivning • Operativsytemets store buffer-puljer af hensyn til optimering • I-nodes kopier i RAM • for filer der arbejdes på – Open og endnu ikke Closed

  22. Fysisk sikkerhed ved strømsvigt forts. • UPS – Uninterruptable Power Sypply • Batteri back-up – anvendes hovedsagelig ved servere – større computer installationer • Check filsystemet for integritet – typisk ved Boot – Unix ->fsck; Windows -> checkdisk • En tidskrævende process, specielt ved store filsystemer • Journaling File System – Linux eks. EXT3-file-system – Speeder restart op • Oprethold en log-fil med informationer omkring operationer på Superblock, I-nodes, Directories • Samme ide som transaktionsloggen i databasesystemer

  23. Fysisk sikkerhed i filsystemet • Disk Crash – disk enheden bryder sammen • Sikring gennem back-up • RAID-systemerne (level 2 – 5) • RAID – Redundant Array of Inexpensive Disks • RAID-levels spænder fra spejling (Mirrors) til systemer med Error Correcting Codes (f.eks. Hamming)

More Related