Presentation laddar. Vänta.

Presentation laddar. Vänta.

File System Interface File Concept Access Methods Directory Structure File System Mounting File Sharing Protection.

Liknande presentationer


En presentation över ämnet: "File System Interface File Concept Access Methods Directory Structure File System Mounting File Sharing Protection."— Presentationens avskrift:

1 File System Interface File Concept Access Methods Directory Structure File System Mounting File Sharing Protection

2 1 1 Varför behöver man filer? Ibland måste man kunna spara mycket stora mängder information. Informationen måste finns kvar även efter det att en process dör. Många processer kan behöva informationen samtidigt. För detta krävs att filerna lagras på sekundärminne.

3 2 2 Filstrukturer  Filer kan vara strukturerade på olika sätt, de vanligaste är:  byte-filer  post-filer  I UNIX och MS-DOS/Win95/NT/Win2K finns det bara byte-filer.  Ger maximal flexibilitet.  Om användaren vill ha någon annan struktur kan han/ hon bygga upp den själv. Sk.”raw dev.”

4 3 3 Fil typer  De flesta operativsystem understödjer olika typer  av filer. I UNIX och MS-DOS finns t.ex.  *regular files - användarfiler  1. binär-filer (t.ex. exekverbara filer)  2. ASCII-filer (textfiler)  *directories (katalogfiler) - för att strukturera  filsystemet  *character special files - används för in- och ut-  matning (terminaler, skrivare, nätverk etc.)  *länkar: soft, hard * pipes  *block special files - används för hårddiskar etc.

5 4 4 Exempel på binära filer

6 5 5 Attribut  Namn  Identifierare  Type  Location  Size  Protection  Date/Time  User

7 6 6 Accessmetoder sekventiella filer - då man enbart använde band för att lagra filer, kunde man av naturliga skäl bara komma åt informationen i filerna sekventiellt. indexerbara filer (random access files) - när man började använda diskar för att lagra filer kunde man komma åt informationen i filerna i godtycklig ordning. Två typer av indexering: (i)SEEK-kommando som positionerar i filen (ii)för varje READ/WRITE specificeras position

8 7 7 Sequential-access File

9 8 8 Example of Index and Relative Files

10 9 9 Operationer / metoder  Create  Write  Append  Change  Reduce  Read  Start, n++, end  Reposition in a file Deleting  Truncating

11 10  File pointer  File open count ( OFT inside PCB )  Disk location of file  Access rights Operationer / metoder

12 11 Några typiska operationer på filer  CREATE - skapar en tom fil  DELETE - raderar filen, frigör diskutrymme  OPEN - hämtar information om filen från disk  CLOSE - lagrar information om filen på disk  READ/WRITE - läser/skriver data från/på filen  SEEK - för indexerade filer, positionera i filen  RENAME - ändra namn på filen  SET ATTRIBUTES - ändra attribut, t.ex. rättigheter

13 12 File Structure  Enkla  sekventiella filer - då man enbart använde band för att lagra filer, kunde man av naturliga skäl bara komma åt informationen i filerna sekventiellt.  Lines  Fast längd  Variabel längd  Complexa Fil Structurer  Kan hantera olika binär format.com.exe. // cof.elf  Object, library,  Source  Batch (.bat.cmd )  Text,  Multimedia mm

14 13 Operating system Program

15 14 - Directory/filkataloger - PIPEs - Devices char. dev. block dev. Fil typer 2

16 15 Filkataloger  Kataloger används för att hålla ordning på filer.  I hierarkiska filsystem kan en katalog innehålla  underkataloger.  En katalog innehåller ett antal poster, en för varje fil, som innehåller information om filen. T.ex. var på disken den finns lagrad och dess attribut.  Speciella poster är:  “.” (dot), som refererar till katalogen själv  “..” (dotdot), som refererar till förälder-katalogen  I unix är en fil som börjar med. osynlig (hidden)

17 16 Montering av diskar  I vissa system är bundna till att montera en ny disk under ex.  A: B: C: D: osv.  I UNIX mfl börjar filsystement med ”/” där efter monteras under lämpligt directory

18 17 Hur hittar systemet kommando/ program “lätt” i filsystemet? med hjälp av PATH variablen, PATH=/usr/bin:/usr/sbin:/opt/SUNWspro/bin:/usr/local/bin:. ditt shell öppnar alla ovan nämnda dir och försöker hitta det kommandot du gav, i annat fall “command not found” ändra: tcsh med: setenv PATH $PATH:/newpgm/bin sh och ksh: set PATH=$PATH:/newpgm/bin;export PATH

19 18 Path names I hierarkiska filsystem finns det två sätt att specificera filnamn:  absolut path name - beskriver filen i relation till rotkatalogen.  ex. /home/is/is00/is00pdv/lab/lab01/tenta.pdf  relativt path name - beskriver filen i relation till arbetskatalogen (working directory).  ex. om arbetskatalogen är: /home/is/is00pdv/privat  så blir det:

20 19 Filattribut fil-namn ( 8+3 or 256 char) läs (gömd)/ skriv / execut ägare / grupp / övriga Tids-stämpling : skapad, ändrad, öppnad (accessed) pekare till block/sektorer/mm

21 20 Implementation av filsystem Hur lagras filer och kataloger på disken? Hur håller man ordning på diskutrymmet? Var på disken finns filerna & var hittar man ledigt utrymme? Hur gör man ett filsystem tillförlitligt? Filer får inte försvinna. Hur gör man filsystemet effektivt (snabbt)?

22 21 Tekniker för att implementera filer Minnesutrymmet på en disk är indelat i ett antal lika stora block. (Ej att förväxlas med sidor.) Hur ska man hålla reda på i vilka block en viss fil finns lagrad? konsekutiv (contiguous) allokering länkade listor länkade listor med tabell (index) index-noder (i-noder)

23 22 Konsekutiv (contiguous) allokering  Alla filer lagras i konsekutiva block på disken.  Enkelt, man behöver bara komma ihåg var filen börjar  Det går snabbt att läsa/skriva dessa filer  Man måste vet hur stor filen kan komma att bli redan då den skapas detta leder till (extern) fragmentering.

24 23 Länkade listor  Filer lagras som en länkad lista av block.  Första ordet i varje block fungerar som en pekare till nästa block.  räcker att veta var första blocket finns  man behöver inte veta i förväg hur stor filen blir  ingen extern fragmentering  extremt långsamt vid access av indexerade filer  minnesstorleken inte längre en jämn två-potens (några bytes går åt för att lagra pekaren)

25 24 Länkade listor med tabell (index)  Pekarna samlas i en tabell, ett s.k. index, som hela  tiden finns i primärminnet. ( FAT )  samma som för länkade listor  minnesstorleken jämn två-potens  hyfsat snabbt vid access av indexerade filer  tabellen kan ta stor plats  ex.1GB hårddisk, 1KB block =>  tabellrader => minst 2MB (16 bitar)

26 25 Index-noder (i-noder)  Index-noder (i-noder)  Till varje fil finns en liten tabell (index-nod) vilken  innehåller:* filens attribut  * pekare till filens block  Pekarna kan lagras i flera nivåer så att små filer  klarar sig med bara I-noden medan större filer  kräver två eller flera nivåer. (UNIX)  +som för länkade listor med tabell  +kräver lite primärminnesutrymme (endast  i-noden och ev. några block på andra nivåer)  +kan hantera mycket stora filer

27 26 Exempel på i-nod med flera nivåer DATAblock

28 27 Tekniker för att implementera kataloger  För att kunna läsa en fil måste den först öppnas.  För att öppna en fil anger användaren filnamnet.  Det används för att hitta filens post i katalogen.  I posten finns information bl.a. om var på disken man kan hitta filen.  Filens attribut kan lagras:  *direkt i katalogen (MS-DOS)  *tillsammans med filens övriga data  t.ex. i filens i-nod (UNIX)  Delar man filer är det senare mer praktiskt.

29 28 Delade filer  Ibland vill man att flera användare kan dela en fil,  d.v.s. den kan finnas i flera kataloger samtidigt.  ex. ett antal personer arbetar i samma projekt  Introducerar nya problem:  Vem (vilken katalog) äger filen?  Hur ska man globalt uppdatera informationen  om filen (attribut etc.) då någon ändrar i den?

30 29 Två metoder för delning av filer 1.Lagra info i en separat datastruktur, t.ex. i-nod, och låt katalogerna ha pekare till denna. kräver inte extra CPU-tid eller minnesutrymme problem när ägaren tar bort filen 2.Inför en ny typ av fil, en s.k. symbolisk länk, som innehåller en path till filens ägar-katalog. mindre problem när ägaren tar bort filen kan dela filer mellan datorer på olika platser kräver extra CPU-tid och minnesutrymme

31 30 Aspekter på diskutrymmet *Blockstorlek stora block => mer intern fragmentering (speciellt illa eftersom många filer är små) små block => många diskaccesser *Hålla reda på ledigt diskutrymme 1. bitkarta 2. länkad lista (s.k. free list) *För att inte minnet ska ta slut Diskkvot (Disk Quota) - varje användare får ett visst utymme att lagra sina filer på

32 31 Aspekter på tillförlitlighet Det är ofta värre om filsystemet krashar än om datorn går sönder! Diskar har ofta ett antal dåliga block 1. lagra blocknummren på en sektor 2. lagra dem i en fil Backup - lagra diskinnehållet på t.ex. band 1. total backup: alla filer 2. inkrementell backup: de som ändrats sen sist 3. ha två hårddiskar och skriv till båda samtidigt

33 32 Konsistens hos filsystem  Om systemet går ner samtidigt som man använder en fil så kan t.ex. dess i-nod bli felaktig.  Lösning: ett program som kontrollerar att filsystemet är konsistent körs när systemet startas upp.  Hittar programmet en inkonsistens så: 1.försök rätta till problemet om det går ex. ett block är varken ledigt eller allokerat 2.annars, försök göra filsystemet konsistent och rapportera felet till anvädaren ex. samma block tillhör olika filer

34 33 Säkerhet & Skydd *Skydd (protection) handlar om att skydda användare från varandra och från sig själva. ex.att program använder CPU, minne, filer m.m. på ett lämpligt sätt *Säkerhet (security) är ett vidare begrepp och inkluderar även saker som späningsbortfall, inkräktare m.m.

35 34 Problem: skyddsmatriserna kan bli väldigt stora. *Access Control Lists - dela upp skyddsmatisen i kolumner, d.v.s. en lista för varje objekt. *Capability Lists - dela upp matisen i rader, d.v.s. en lista för varje domän. UNIX använder sig av förenklade Access Control Lists (9 bitar per objekt). 3 domäner: owner, group, others 3 rättigheter: (r)ead, (w)rite, e(x)ecute ex. rwxr-x--- ( internt i datorn) Access Control Lists och Capability Lists

36 35  Search for a file  Create a file  Delete a file  List a directory  Rename a file  Traverse the file system Operations Performed on Directory


Ladda ner ppt "File System Interface File Concept Access Methods Directory Structure File System Mounting File Sharing Protection."

Liknande presentationer


Google-annonser