rukovanje informacijama i deo · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa)...

31
RUKOVANJE INFORMACIJAMA I DEO Rukovanje datotekama Rukovanje blokovima Rukovanje slogovima 1

Upload: others

Post on 28-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

RUKOVANJE INFORMACIJAMAI DEO

Rukovanje datotekama

Rukovanje blokovima

Rukovanje slogovima

1

Page 2: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Osnovne funkcije sistema za rukovanje datotekama (FS)

Eng. File System (FS)

Osnovne funkcije FS:

Praćenje stanja svih informacija u sistemu preko raznih tabela; osnovna je glavni katalog (direktorijum)

Određivanje, gde je i kako smeštena informacija, i ko dobija pristup traženoj informaciji

Dodela informacionog resursa i postavljanje odgovarajućih prava pristupa

Oslobađanje informacionog resursa (po potrebi se ažurira informacija na masovnoj memoriji)

2

Page 3: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Datoteka (file) Datoteka je skup slogova podataka, grupisanih tako

da se omogući rukovanje pristupom, očitavanje i modifikacija individualnog sloga

Slog je lista objekata (polja), a polje je skup znakova

Ključ sloga je kontrolno polje kojim se jednoznačno identifikuje slog

Blok je skup slogova u memoriji

Koeficijent bloka je broj slogova u bloku

Datoteka se može definisati i kao skup blokova

interpretirajući blok kao jedinicu razmene informacija između procesa i datoteke

Datoteka je smeštena na spoljnoj memoriji3

Page 4: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Operacije nad datotekom

Postoje sledeće operacije:

Otvaranje datoteke

Zatvaranje datoteke

Formiranje nove datoteke

Odstranjivanje datoteke

Kopiranje datoteke

Promena naziva datoteke

4

Page 5: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Operacije nad slogom

Postoje sledeće operacije:

Čitanje (prenosa sloga od datoteke do procesa)

Upis (prenos sloga od procesa u datoteku)

Obnavljanje ili ažuriranje (promene sadržaja postojećeg sloga)

Umetanje (dodavanja novog sloga)

Brisanje (odstranjivanja sloga iz datoteke)

FS je skup program. komponenti koje realizuju gore pobrojane operacije nad datotekom

FS podržava paralelan rad U-I podsistema i procesora

5

Page 6: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Virtuelna Memorija Datoteke

VMD je jedinstvena mem. oblast bez formata

Datoteka se može posmatrati kao uređen niz objekata, sa simboličkim nazivom

Objekat je najmanja adresibilna jedinica (bajt); e-ti elemenat datoteke F, se adresira parom (F,e)

Cilj VMD je obezbeđenje procesu jedinstvenog linearnog prostora radi smeštanja njegovih datoteka

Taj prostor dalje može biti struktuiran na način, kojim se najbolje izražava željena organizacija podataka

6

Page 7: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Katalozi datoteka (1/2) Da bi se identifikovala datoteka i pronašla njena pozicija, koristi

se skup kataloga (direktorijuma)

Elemenat kataloga sadrži naziv i adresu datoteke ili njenog deskriptora (kontrolnog bloka datoteke, KBD)

Moguće je i da je elemenat kataloga sam KBD

Katalozi se organizuju u strukturu stabla

7

Page 8: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Katalozi datoteka (2/2) Čvor stabla predstavlja katalog (ili datoteku)

Luk predstavlja elemenat kataloga, koji ukazuje, bilo na drugi katalog ili na datoteku podataka

Koren stabla je glavni katalog, listovi su datoteke

Jednoznačno definisan put od polaznog kataloga

8

Page 9: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Kontrolni Blok Datoteke

Tri osnovna objekta podataka:

Identifikator datoteke (objekat koji se sastoji iz simboličkog naziva N i unutrašnjeg identifikatora I)

Fizička adresa (definiše poziciju i dužinu datoteke)

Informacija o upravljanju pristupom (ko i na koji način ima pravo pristupa)

Druge informacije:

Istorija datoteke, informaciju o stalnosti datoteke, tip kodiranja (binarni, ASCII), fizička organizacija datoteke

9

Page 10: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Upravljanje pristupom (1/2) Podaci za upravljanja pristupom se zadaju u obliku

parova (C, A), korisnik koji ispunjava C, ima pravo A

Atribut A: dozvola za operacije: čitanje, upis, izvršenje, odstranjivanje, ili dodavanje sloga

Dve organizacije parova (C, A):

Matrica kontrole pristupa (vrste korisnici, kolone datoteke)

Liste kontrole pristupa (ACL), jedna lista po datoteci

10

DATOTEKA 1 2 3 4 5 6 7 8 9 10KORISNIK 1 1 1 0 0 0 0 0 0 0 0

2 0 0 1 0 1 0 0 0 0 03 0 1 0 1 0 1 0 0 0 04 1 0 0 0 0 0 0 0 0 05 1 1 1 1 1 1 1 1 1 16 0 0 0 0 0 1 1 0 0 07 1 0 0 0 0 0 0 0 0 18 1 0 0 0 0 0 0 0 0 09 1 1 1 1 0 0 0 0 1 110 1 1 0 0 1 1 0 0 0 1

Page 11: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Upravljanje pristupom (2/2)

Matrica kontrole pristupa:

Elemenat matrice Aij se postavlja na jedan ako je korisniku br. i dozvoljen pristup datoteci br. j

Nedostatak: najčešće je ova matrica veoma retka

Liste kontrole pristupa:

Logički: vrste datoteke, a kolone korisnici. Fizički: lista po datoteci (elementi liste su ovlašćeni korisnici)

Atributi: R, W, E, RWE, N, odnosno: pravo čitanja, upisa, izvršavanja, sva prava, i bez prava pristupa

Grupe korisnika (administrator, član projekta X, itd.) –smanjuju se memorijski zahtevi

11

Page 12: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Operacije nad datotekama

Postoje sledeće operacije:

Formiranje datoteke

Otvaranje datoteke

Zatvaranje datoteke

Proširivanje datoteke

Udaljavanje (brisanje) datoteke

Podaci za formiranje datoteke:

Naziv, veličina dat., organizacija, veličina bloka

Blok služi za prenos podataka između spoljnje i operativne memorije

12

Page 13: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Formiranje datoteke (1/2)

Koraci:

Provera korisnikovih ulaznih podataka

Proverava da li datoteka već postoji pod tim nazivom

Dodela prostora za datoteku na medijumu

Unos ukazivača na prvi blok dat. u glavni katalog

Dodela i inicijalizovanje U/I bafera i kontrolnih blokova

Vrati KBD, koji sadrži informacija o načinu korišćenja datoteke (čitanje, upis, izvršenje)

Napomena: nakon formiranja, datoteka je otvorena

13

Page 14: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Formiranje datoteke (2/2)

14

BLOK INICIJALNOG

PUNJAČA KATALOG

a) Disk pre zahteva za formiranje datoteke - u početku samo blok inicijalnog

punjenja i koren - katalog prostora na disku

BLOK INICIJALNOG

PUNJAČA KATALOG

DATOTEKA

b) Disk posle zahteva za formiranjem - u koren-katalog unete vrste koje

opisuju datoteke

Page 15: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Otvaranje datoteke

Koraci operacije otvaranja datoteke:

Dodela prostora za U/I kontrolni blok i KBD

Provera ispravnosti medijuma spoljne memorije

Formiranje putanje do dat. i učitavanje direktorijuma

Provera da li datoteka postoji

Dodela prostora za sve U/I bafere

Zaštita integriteta datoteke (ako je dat. već otvorio neki drugi korisnik)

Uključivanje datoteke u listu aktivnih (otvorenih) datoteka u sistemu

Vrati KBD

15

Page 16: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Zatvaranje, Proširivanje datoteke

Koraci za zatvaranje datoteke:

Prepisivanje na spoljnu memoriju U/I bafera koji su bili modifikovani

Prepisivanje bilo koje promenjene informacije o dat.

Oslobađanje mem. dodeljene dat. (tabele, baferi)

Vraćanje informacije o rezultatu operacije

Koraci za proširivanje datoteke:

Ulaz: naziv datoteke i veličina proširenja

Provera parametara i prostora na spoljnoj mem.

Proširenje datoteke (ažuriranje kataloga i tabela)

Vraćanje inf. o rezultatu operacije16

Page 17: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Operacije nad blokom

Postoje dve operacije:

Upis bloka: prenos inf. iz OM na SM (spoljna mem.)

Čitanje bloka: prenos inf. sa SM u OM

Ulazni podaci za obe operacije:

Br. bloka, adr. U/I bafera u OM, veličina bloka, i naziv polja povratne vrednosti (stanje završetka operacije)

Važniji koraci:

Pretvaranje logičkog broja bloka u adresu fizičkog bloka, upis/čitanje bloka iz U/I bafer u OM, vraćanje stanja završetka operacije

17

Page 18: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Upis bloka

18

Page 19: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Čitanje bloka

19

Page 20: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Tok pod. prilikom čitanja i upisa

20

KORISNIČKI PROGRAM

SISTEM ZA

RUKOVANJE

INFORMACIJAMA

KORISN.

BAFER

SLOGA

OPERATIVNA

MEMORIJA ČITAJ_BLOK

UPIS_BLOK

POVRAT.

STAT.

U/I BAFER

PODACI

1 6

2 5

U/I UREĐAJ

3 4 ČITAJ BLOK

U/I INSTRUKCIJA UPIS BLOKA

Page 21: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Kontrolne tabele

Postoje sledeće kontrolne tabele:

Kontolni blok datoteke (KBD )

Kontrolni blok disk jedinice

Ulazno-izlazna kontrolna tabela bafera (UIBKT)

Za svaki U/I bafer jedna UIBKT, koja sadrži:

Fizički i logički broj bloka koji se nalaze u baferu

Adresu i veličinu samog U/I bafera

Ukazivače za povezivanje tabela

21

Page 22: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Ilustracija kontrolnih tabela

22

KONTROLNI BLOK DATOTEKE (FCB)

SISTEM ZA

RUKOVANJE

INFORMACIJAMA

1

KONTROLNA TABELA

U/I UREĐAJA

SLEDEĆI FCB

ADRESA I

VELIČINA

U/I BAFERA

ADRESA UIBKT

. . .

UIBKT

(KONTROLA TAB. U/I BAFERA)

5

KONTROLNA TABELA DISK JEDINICE (DTC) 2

SLEDEĆA KONTROLNA

TABELA JED. DISKA

RED U/I ZAHTEVA

TIP JEDINICE

FIZIČKA ADRESA

JEDINICE

KARAKTERISTIKE

JEDINICE

RED

U/I

ZAHTEVA

3

SPOLJNA MEMORIJA 4

BLOK INICIJALNOG

PUNJENJA

TABELA DODELE KATALOG

Page 23: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Odnos KBD, UIBKT i U/I bafera

23

KBD

UIBKT

TEKUĆI BROJ

BLOKA U

BAFERU

STANJE

SLED. ADR.

UIBKT

-BAFER JE

MODIFIKOVAN

-BAFER JE

NEIZMENJEN

-TEKUĆI BAFER

U/I

BAFER

UIBKT

SL.UIBKT

UIBKT

U/I

BAFER

Page 24: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Rukovanje slogovima

Postoje dva dela FS:

Fizički deo: manipuliše blokovima

Logički deo (LFS): manipuliše slogovima

Logički deo obezbeđuje:

Standardnu spregu za U-I operacije

Standardan skup organizacija datoteka

Generalizaciju u rukovanju podacima

Standardnu spregu sa jedinicama SM (jedince diska)

Brži rad nego komponenta fizičkog ulaza-izlaza, paralelizacijom obrade slogova i prenosa pod.

24

Page 25: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Upis/Čitanje sloga

Upis sloga:

Kopiranje sloga u korisnički bafer

Zahtev za upis prenosi upravljanje na LFS

LFS na osnovu veličine sloga i adrese bafera, pronalazi slog koji treba upisati

Određuje se blok u koji treba upisati slog

Ako je taj blok u tekućem baferu bloka, slog se kopira u blok

Ako blok nije u tekućem baferu, blok se učitava u jedan od bafera, a zatim se slog kopira u njega

Na jedinicu SM se upisuje ceo blok, a ne svaki slog posebno

Čitanje sloga:

Inverzno od upisa; sad se čita ceo blok, i izdvaja slog

25

Page 26: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Upis/čitanje sloga: Tok podataka

26

8

KORISNIČKI

PROGRAM

UPIS_SLOG

ČITA_SLOG

2

7

10

3

1

METOD

PRISTUPA

OSNOVNI

SISTEM

RUKOVANJA

INFORM.

BAFER

KORISNIČKOG

SLOGA

SLOG

PODATAKA

4

U/I BAFER

/////////////////////////

6

5

UPIS BLOKA

9

Page 27: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Vrste UI aktivnostiDve vrste UI akt.

Sinhrona UI akt.: Korisnički proces suspendovan dok se ne završi UI prenos podataka

Asinhrona UI akt.: upravljanje se vraća kor. procesu pre završetka UI prenosa pod., tj. taj prenos se odvija paralelno sa programom

27

PROGRAM ČEKA

U/I ZAHTEV

TOP TOP

ZAVRŠETAK U/I

IZVRŠENJE U/I

a) SINHRONA U/I AKTIVNOST

PROGRAM ČEKA

NA U/I

U/I ZAHTEV

U/I U TOKU

ZAVRŠETAK U/I

TOP TOP

b) ASINHRONI U/I

Page 28: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Operacije nad slogovima (1/3)

Postoje sledeće operacije nad slogovima:

pozicioniranje na slog, čitanje sloga, čitanje sledećeg sloga, upis sloga, ažuriranje sloga, i brisanje sloga

Pozicioniranje na slog:

Pronalaženje sloga unutar datoteke (ne očitavanje)

Obavlja se na osnovu zadatog ključa i kriterijuma

Tačno poklapanje ključa, postavljanje na slog čiji ključ je jednak ili veći od zadatog ključa, postavljanje na slog koji je veći od zadatog ključa

28

Page 29: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Operacije nad slogovima (2/3)

Čitanje sloga:

Unos sloga (bafer I tipa) ili postavljanje adrese (bafer II tipa)

Ulazni podaci: ID dat., ključ za slog koji se traži, kriterijum pronalaženja sloga, adr. i veličina bafera

Čitanje narednog sloga:

Čitanje sledećeg logičkog sloga, koji prati tekući očitani slog, ili na koji je izvršeno pozicioniranje

Moguće ići sve do logičkog kraja datoteke (EOF)

Upis sloga: inverzna operacija od čitanja

29

Page 30: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Operacije nad slogovima (3/3)Ažuriranje sloga:

Kao upis; ne treba ključ, jer ide nad tekućim slogom

Brisanje sloga:

Fizičko brisanje: slog se odstranjuje iz datoteke

Logičko brisanje: koristi se ID da je slog odstranjen i da nije logički prisutan

30

a)

SLOG KOJI SE

ODSTRANJUJE

BLOK PRE

ODSTRANJENJA

SLOGA

A B C D //

A B C //

BLOK POSLE

FIZIČKOG

ODSTRANJENJA

SLOGA

SLOG KOJI SE

ODSTRANJUJE

BLOK PRE

ODSTRANJENJA

////

////

////

////

BLOK POSLE

ODSTRANJENJA

OZNAKA

ODSTRANJENJA

b)

Page 31: RUKOVANJE INFORMACIJAMA I DEO · 2020. 6. 28. · Čitanje (prenosa sloga od datoteke do procesa) Upis (prenos sloga od procesa u datoteku) Obnavljanje ili ažuriranje (promene sadržaja

Sprežni kontrolni blokBlok naslova datoteke

Korisnički proces komunicira sa FS preko dve kontrolne tabele:

Sprežni kontrolni blok (SKB): adresa bafera sloga, veličina sloga, adresa KBD, režim pristupa (ulazni, izlazni, ulazno-izlazni) i polje stanja

Blok naslova datoteke: tip organizacije datoteke, oblik i maksimalna veličina sloga, oblik i maksimalna veličina bloka, definicija ključa za dat. sa ključevima

31