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


 






































 

 

Sunday, February 15, 2015

Principles of Operating System - Lecture 4

sequential-järjestikuline
text-instruction, code,
data- variables, memory pieces
stack-(stack and heap merge) adding stuff in stack, the stack memory can use heap's memory. stack overflow can happen. lupes
heap- memory grows into stack and we cannot allocate memory. anything that is situated with memory, the heap is used.
kernel schedules everything.
seal kogu protsessi info (nt inimestel päevik, märkmik vms)
context switch
põhimõtteliselt ta on 30 minutiga rääkinud, et on erinevad protsesside järjekorrad erinevatesse kohtadesse ning sealt edasi kui nad jõuavad kohale, nad võivad minna edasi, muuta oma asukohta kas järjekorras või minna üldse teise järjekorda mis viib kuhugi mujale.
https://www.youtube.com/watch?v=mwecn6UIzqc



 protsessi l]petamine.




 iseseisev protsess ei saa mõjutada või olla mõjutatud teisest protsessist või tema enda käivitamisest.






 CAP7 (üleval) kommunikatsiooni mudel.

 Otsene suhtlemine(üleval)

 Sünkroniseerimine(all)