Fail - pidev loogiline aadressruum
loogiline faili ülesehitus
kettal paiknemine- füüsiline
https://courses.cs.ut.ee/MTAT.03.005/2014_fall/uploads/Main/os_loeng09.pdf
OS loob seosed
Tüübid:
data- andmefailid - numeric, character, binaryprogram - programmfailid - source, object(load image)
documents - dokumendid
faili struktuur:
- None -korrastamata (no sequence of words/bytes)
- Simple rocord structure - lihtsa kirje laadne - lines(read, fixed lenght, variable lenght(muutuva pikkusega)
- Complex structures- keeruka ülesehitusega - fromatted document, re-locatable load file
- can simulate last 2 with first method by inserting appropriate control characters -võib simuleerida 2 viimast, kasutades juhtsümboleid
- kes määrab? OS, Programm
Faili omadused:
- name - only information human readable
- type- for systems that support multiple types
- location - pointer to a device an to file location on device
- size- current file size, maximal possible size
- protection-kaitse või loabitid- controls who can read, write, execute
- time, date and user identification - data for protection, security and usage monitoring
- information about files are kept in the directory structure, maintained on disk - info failide kohta hoitakse kaustastruktuuris
fail - abstraktne andmetüüp, mis määratletud:
- create a file
- write a file
- read a file
- reposition within file - file seek = failist otsimine
- delete a file
- truncate a file - faili sisu kärpipmine
- open(fi) - konkreetse faili nimega (fi) avamine - search the directory structure on disk for entry fi, and move the content on entry to memory
- close(fi) - konkreetse faili sulgemine - move content on entry fi in memory to directory structure on disk - mälust kettaseadme kaustastruktuuri kirjutamine
file types - name.extension - tüübid
executable - exe,com,bin - machine language programobject - obj,o - complied machine lang., not liked
source code - c, CC, p, java, asm... - source code in varous lang.
batch - bat sh- comands to commant interpreter
print, viw - ps, dvi, gif - ASCII or binary file
archive - arc, zip
kaustastruktuur:
- arv võib olla väga suur *failisüsteemi tükeldamine jaotisteks * info hoidmine kettajaotistes
- sõlmede tabelid - device directory: a collection of nodes containing information about all files on a partition
- kaustastruktuur ja failid paiknevad kettaseadmel - both the directory structure and the files reside on disk
- varundusi hoitakse lindiseadmetel (nüüd harva) backups of these two structures are kept on tapes
seadmekaustas asuv info
- nimi
- tüüp
- aadress või asukoht
- jooksev pikkus (praegusel hetkel)
- suurim pikkus
- ajatemplid
- kaitseinfo
- faili/protsessipõhiselt * jooksev asukoht failis * kasutuse statistika
rename a file, lista a directory(kaustade loetelu loomine), treverse the filesystem(failisüs läbimine)
loogilise kaustaruumi loomise eesmärk
- asukoha kiire määramine
- nimed * two users can have the same name for different files * the same file can have several different names
- grupeerimine tunnuste alusel - logical grouping of files by properties (e.g. all pascaö programs, all games...)
Ühetasandilised kaustad
- üks kaust kõigile
- nimeprobleem * unikaalsete nimede meelespidamise programm * kasutajate kasvuga vajadus unikaalsete nimede kasvuks
Kahetasandilised kaustad
- loodi kasutajanime programmi lahendamiseks
- esimene tase kasutajate kaustad
- teine sisaldab kasutaja faile
- vajadus märatleda tee asukohani
- samu failinimesid võivad kasutada eri kasutajad
- süsteemifaile hoitakse eraldi
- efektiivne otsimine
puukujulised kaustastruktuurid
- suvaline kaustade sügavus
- efektiivsed otsingud
- grupeerimine
- current directory (working directory) * nt: cd/spell/mail/prog * type list
- MS-DOS uses a tree structured directory
- absoluutne ja suhteline tee * absolute from root * relative paths from current working directory pointer
- creating a new file is done in current directory(jooksvas kaustas)
- creating a new subdirectory is done in current directoyr(jooksvas kaustas)
- delete a file (jooksvas kaustas)
- delection of directory *option1: only delete if directory is empty Option2: deleta ell files and subdirectories under directory
atsüklilise graafi kaustad, nt DAG (vt wikipedia)
- faili poole pöördumise teid/viise on mitemid,failil võib olla mitu absoluutset teed
- failisüsteemi läbimiseks tuleb tagada ainult üks :(
- kustutamine :( - võib tekitada lahtisi viitasid, hoida kuni kõik viidad on kaotatud, kui viitasid pole võib kustutada
- võimaldab failide jagamist
- teostus linkidena
- teostus jagatud failide korral * dubleeritud info * koopiad eristamatud
- võimaldab paremat failide jagamist
üldise graafistruktuuriga kaustad
kuidas vältida tsükleid?*allow only links to file not subdirectories
*every time a new link is added usa e cycle detection algorithm to determine wheter it is ok
kui lingid kaustale, siis lihtne graaf
*tagada mitmekordsete teede välistamine
viidete arv pole null
*vajalik prügi korjamise mehhanism - need garbage collecrion mechanism to determine if file can be deleted
Pöördusmeetodid
- jadapöördus - sequential access
*write text
*reset
*no read after last write (rewrite)
- direct access - otsepöördus ( n= relative block number)
*write n
*position to n
read text
write text
*rewrite n
Failide kaitse
- omanik reguleerib
*by whom
- types of access - pääsumeetodid
Pääsuloendid ja grupid
- igale failile - associate each file8directory with access list *problem- loendi pikkus :(
- solution - condensed version of list - pakitud loetelu
- mode of access: read, write, execute - pääsumeetodid
- three classes of users-
- owner access - user who created the file
- groups access - set of users who are sharing the file and need similar access
- public access - all other users
- UNIX loabitid (vt wikipedia file system permissions)
FS realiseerimine
- file system structure - fs ülesehitus
- hõivamismeetodid - allocation methods
- - vaba ruumi haldus- free-space management
- directory implementation - kaustade realis
- efficency and performance - efektiivsus
- recovery - taastamine
- Paikneb on secondary storage , infovahetus blokkidena
- fs kihiline
- file control block - analoog PCB-le -- storage structure consistinc of information about a file
- loogilised salvestusüksused
Failisüsteemide monteerimine.
- enne kasutamist vajalik monteerida kokku
- mounting
Kettaruumi hõivamine
- madala taseme pääsumeetodid sõltuvad hõivamisskeemist
- pidev kettaruumi hõivam - contiguous allocation
- linkedlist allocation - lingitud listi kasutamine
- block allocation - blokikaupa hõivamine
Pidev hõivamine
- iga pail hõivab kettal pideva blokkide grupi
- lihtne, vajalik algusbloki nr ja pikkus
- sobib otse- või järjestikpöörduseks
- kiire ja lihtne taastada
- puuudesed:
- wasteful of space, use first fit of best fir
- files cannot grow - expanding file requires copying
- users tend to overestimate space - internal fragmentation
- mapping from logical to physical - sidumine
Lingitud hõivamine
- iga fail on määratud lingitud loeteluga
- hajutatud - blocks may be scattered anywhere on disk
- iga sõlm loetelus võib olla 1 kuni n blokki
- andmeid kasutajad ei näe - pointers in list not accessible to user
- bloki suurus kettas oleneb ketta suurusest
- saab kasvada keskselt ja otstest, ple vaja ruumi kalkuleerida
- sobib järjestikpöörduseks, mitte juhipöörduseks
- aeglane
- pole väga usaldusväärne - system crashes can scramblefiles being updated
- erisused - important variation on linked allocation method
- used by ms-dos and os2
Indekseeritud hõivamine
- toob kõik viidad kooku indeksblokki
- indexed allocation
- vajalik indekstabel
- võimaldab järjestik-, otse, ja idekseeritud pölördust
- dünaamiline pöördus väldib välist killustust, indeksbloki lugemine nõuab aega
- kaardistamine <Q,R>
- loogilise ja füüsilise ruumi kaart kindla pikkuseta failis
- lingitud blokkide skeem - link block of index tables (no limit on size)
- mitmetasandilised indeksid
- -suurendab tasandite arvu faili suuruse kasvades
- - faili max suurus piiratud