Monday, February 16, 2015

Failid 16/02/2015




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, binary
program - 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
file operations - tehingud failidega-

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 program
object - 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
kaustaoperatisoonid
 
 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
 *read text
*write text
*reset
*no read after last write (rewrite)
  • direct access - otsepöördus ( n= relative block number)
*read n
*write n
*position to n
      read text
      write text
*rewrite n

Failide kaitse

  • omanik reguleerib
*what can be done
*by whom
  • types of access - pääsumeetodid
*read*write*execute*append - lõppu lisamine (kirjutamine)*delete*list 


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- 
  1. owner access - user who created the file
  2. groups access - set of users who are sharing the file and need similar access
  3. 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


 






































 

 

No comments:

Post a Comment