rukovanje informacijama ii deo · 2020. 11. 5. · sekvencijalna (serijska) datoteka (2/2) novi...
TRANSCRIPT
RUKOVANJE INFORMACIJAMAII DEO
Metodi pristupa datoteci
Baferisanje
Hijerarhijski model FS-a
1
Metodi pristupa datoteciPristup slogovima na 2 načina:
Sekvencijalno: po redosledu po kom su u datoteci
Slučajno: po ključu, na osnovu koga metod pristupa datoteci određuje željeni slog
Tekući slog je zadnji uspešno očitan slog
Tekući ukazivač sloga je ID tekućeg sloga u datoteci
2
SLOG UNUTAR DATOTEKE
TEKUĆI SLOG
//////
////// ... ...
TEKUĆI UKAZIVAČ
SLOGA
Sekvencijalna (serijska) datoteka (1/2)
Def: je datoteka čiji je slog podataka smešten neposredno iza prethodnog sloga
Ne zavisi od medijuma na koji je smešten
Slogovi se smeštaju prema momentu nailaska, dodavanjem slogova, sve do logičkog kraja datoteke
Dat. je formirana od korisničkih slogova koji imaju svoj prethodni i svoj naredni slog
3
SLEDEĆI SLOG UNET
NA LOGIČKOM KRAJU
DATOTEKE
SLOG 1 . . . SLOG 2 SLOG 3 SLOG 4 SLOG 5 SLOG 6 SLOG 7 SLOG 8 . . .
Sekvencijalna (serijska) datoteka (2/2)
Novi slog može se dodati samo na logičkom kraju dat., a program može očitati samo sledeći slog iz dat.
Slogovi mogu biti fiksne i promenijive dužine
U drugom sl. slogu prethodi ukazivač njegove dužine
Može se fizički realizovati na jedinici spoljnje mem. ili sekvencijalno ili pomoću ukazivača (na naredni slog)
4
POČETAK
DATOTEKE
LOGIČKI KRAJ
DATOTEKE
FIZIČKI KRAJ
DATOTEKE
SLEDEĆI SLOG
SE DODAJE
A K D
BLOK 1 BLOK 2 BLOK n
. . .
Relativna datoteka (1/2)
Def: je datoteka u kojoj se pojedinačnim slogovima pristupa slučajno (direktno)
Slogu se može pristupiti na nivou jedne UI operacije, svaki slog može da se ažurira ili odstrani, uključujući i promene dužine ažuriranog sloga
Slogu se pridružuje celobrojni ključ, koji nije fizički deo sloga
Ključ sloga je jedinstven broj sloga u dat: 1..n
Broj n je max br. sloga (MBS)
Prvi blok je blok naslova datoteke (BND), koji sadrži svu informaciju potrebnu za pristup slogovima
5
Relativna datoteka (2/2) Svaki blok je podeljen na jednu ili više ćelija fiksne
dužine, dovoljno velike da se u njih smesti slog najveće dužine
Ćelije su numerisane brojevima od 1 do n, bez obzira na to, da li posebna ćelija sadrži ispravan slog
6
BLOK 0 BLOK 1 BLOK 2 BLOK 3
BLOK 4 BLOK 5 BLOK n
. . .
ABCD
ĆELIJA
1
ĆELIJA
2
ĆELIJA
3
Direktna datoteka (1/3)
Def: je datoteka koja omogućava slučajan pristup proizvoljnom slogu, prevođenjem vrednosti ključa u adresu sloga
Nedostaci relativne dat: (1) celobrojni ključ (2) dodela dovoljnog prostora radi čuvanja MBS slogova
Direktna koristi bilo koji ključ, numerički/alfanumerički
Direktna dat. se sastoji od blokova fiksne dužine
Početna veličina dat. je deo algoritma prevođenja
Primarna zona podataka: je polazni prostor datoteke
Oblast prekoračenja: prostor za slogove prekoračioce (koji ne mogu da se smeste u primarnu zonu)
7
Direktna datoteka (2/3) Slogovi se umeću i pronalaze prevođenjem ključa
Nema unapred određene lokacije za svaki slog
Blok u direktnoj datoteci može da sadrži jedan, ili više slogova sa identičnom vrednošću ključa
Nema ćelija, pa ako je blok u koji treba uneti slog pun, novi slog se smešta u zonu prekoračenja
8
KORISNIKOV
KLJUČ
ALGORITAM
PREVOĐENJA
A K A B B Z . . .
PRIMARNA ZONA
PODATAKA
ORIGINALNA VELIČINA
DATOTEKE U BLOKOVIMA
Direktna datoteka (3/3) Ključ je fizički deo sloga (polje, npr. broj zaposlenog)
Rezultat prevođenja je adr. bloka, koji se zatim učitava u UI bafer
Potom se utvrđuje da li u bloku postoji slog
9
UPIS
KORISNIČKI SLOG
BROJ
KLJUČ
ALGORITAM
PREVOĐENJA
1
3
OPERATIVNA MEMORIJA
JEDINICA DISKA
A K C
2
. . . . . .
A
K
C
U/I BAFER
BLOKOVA
4
TRAŽENI
BLOK
IZLAZ = BR. BLOKA
Indeksno-sekvencijalna dat. (1/10)
Def: je dat. sa pristupom slogu, sekvencijalno ili slučajno, uz mogućnost definisanja ključeva koji najbolje odgovaraju datoj primeni
Korisnički slogovi su sortirani po vrednosti ključeva
Indeksna struktura postavljena je iznad ovako uređene datoteke
Indeksi dele uređenu sekvencijalnu datoteku prema opsegu ključeva
Slučajan pristup se postiže prolaskom duž indeksa, i dalje sekvencijalno pomerajući se unutar uređene sekvencijalne datoteke
10
Indeksno-sekvencijalna dat. (2/10) Npr., blok 2 deli blokove 4, 5 i 6 u tri različita opsega
ključeva, blok 5 sadrži sve slogove sa vrednošću ključa većom od AB i manjim ili jednakim BA
11
KOREN ili GLAVNI
(VODEĆI) INDEKS
DF
Z3
2
3
1
AB
BA
4
5
2
DF 6
XY
Z3
n-1
n
3
INDEKSNA STRUKTURA
FORMIRANA DA OMOGUĆI
SLUČAJAN PRISTUP
PREKO VREDNOSTI KLJUČA
AA AB AC BA // CC DF XX XY / Z1 Z2 Z3 / . . .
4 5 6 n-1 n
SEKVENCIJALNI PRISTUP SE POSTIŽE DRŽANJEM SLOGOVA PODATAKA U NIZU
SA KLJUČEVIMA U SLOGOVIMA
Indeksno-sekvencijalna dat. (3/10) Indeksna struktura je organizovana u više nivoa
Prvi nivo: VODEĆI INDEKS (koren IX strukture)
Dat. može da ima više od jedne IX strukture, ali samo jednu kopiju korisničkog sloga
Primarni indeks je uređen po primarnom ključu
Alternativni indeksi – alternativni ključevi
Vodeći indeks služi kao početna tačka za slučajno pronalaženje korisničkog sloga
Indeksni slog sadrži broj cilindra/piste, oznaku da li je to pista indeksa ili podataka, i max ključ na pisti
12
Indeksno-sekvencijalna dat. (4/10) INDEKS CILINDRA je sledeći nivo
Indeks cilindra može da sadrži ukazivače na druge cilindre ili na najnižem nivou u indeksu mogu ukazivati na indekse piste na cilindru
Slogovi u indeksu cilindra sadrže broj cilindra i najveći ključ nekog indeksa sloga na tom cilindru
INDEKS PISTE sadrži po jedan indeksni slog za svaku pistu na definisanom cilindru
Svaki indeksni slog ukazuje na posebnu pistu unutar cilindra, kao i najveću vrednost ključa na pisti
13
Indeksno-sekvencijalna dat. (5/10)
14
1 CA
NASLOV
DATOTEKE
ST
ST RZ
VODEĆI INDEKS
INDEKS CILINDRA
2 FR 3 KJ 4 RZ
AA AB CA
1
CB DD EA FR
0
INDEKS PISTE
2
3
FS HH JI JK KJ
4
MN RZ
5
6
PRIMARNA ZONA
PODATAKA
PISTE ZA
PREKORAČENJE
CIL
IND
AR
Indeksno-sekvencijalna dat. (6/10) PRIMARNA ZONA PODATAKA predstavlja skup pista
koje sadrže slogove uređene po primarnom ključu
Indeksi pista se ne mogu promeniti sve do reorganizacije datoteke, pa će neki od slogova biti usmeravani u zonu prekoračenja
ZONA PREKORAČENJA CILINDRA je zona koja se sastoji od jedne ili više pista unutar cilindra namenjenih za čuvanje slogova prekoračioca
ZONA PREKORAČENJA DATOTEKE je namenjena za prihvatanje svih slogova koji ne mogu stati u zonu prekoračenja cilindara
15
Indeksno-sekvencijalna dat. (7/10)
16
KOREN
INDEKS
PISTA
PISTE
PRIMAR.
SLOGOVA
PODATAKA
PISTE ZA
PREKORAČ.
INDEKS
PISTA
PISTE
PRIMAR.
SLOGOVA
PODATAKA
PISTE ZA
PREKORAČ.
INDEKS
PISTA
PISTE
PRIMAR.
SLOGOVA
PODATAKA
PISTE ZA
PREKORAČ.
VODEĆI ili
INDEKSI
CILINDRA
CILINDRI
KORISNIČKIH
SLOGOVA
PODATAKA
AR AS /
Z1
. . . . .
. .
ZONA CILINDRA
ZA
PREKORAČENJE
DATOTEKE
Indeksno-sekvencijalna dat. (8/10)
17
KORISNIČKI SLOG
KAG
KLJUČ
1
VODEĆI INDEKS
CRZ
HAE
POZ
ZRT
16
3
JHA
MRB
PQZ
28 INDEKS
CILINDRA
16
HZA IBR IXX
KNH 6
JAR KAG KNH
. . .
1
2
3
4
5
6
20
28
INDEKS
PISTE
2
4
5
Indeksno-sekvencijalna dat. (9/10) VRSTE PRETRAŽIVANJA:
tačno, generativno i približno pretraživanje ključeva
Tačno pretraživanje: pretraživanje punim ključem
Generativno pretraživanje: pretraživanje delom ključa (npr. prvih n znakova u polju ključa)
Približno pretraživanje: pretraživanje u opsegu ključeva
18
Indeksno-sekvencijalna dat.(10/10)
Nedostaci indeksno-sekvencijalne datoteke:
Pre formiranja dat. mora se odrediti veličina indeksa, zone podataka, i zona prekoračenja
Zone za prekobrojne slogove unose usporenje
Struktura datoteke čvrsto je vezana za konfiguraciju jedinice spoljne memorije (diska)
Ukoliko se menja konfiguracija, neophodno je ponoviti sav proračun, a datoteka se mora reorganizovati
19
Indeksna datoteka (1/5)
Def: je dat. sa sekvencijalnim ili slučajnim pristupom slogu, pri čemu se indeksni slogovi održavaju u rastućem redosledu ključeva
Hijerarhija indeksa ima promenljiv broj nivoa
Nivo 0 uvek sadrži korisnički slog, a nivoi od 1 do n su nivoi unutar indeksne strukture
Koren indeks je blok na najvišem nivou n
Razlike u odnosu na indeksno-sekvencijalnu:
Ne postoji vodeći indeks, indeks cilindra i indeks piste; isto tako nema zone za prekobrojne slogove
20
Indeksna datoteka (2/5)
21
PRIMARNA
ZONA
PODATAKA
NASLOV
DATOTEKE
BLK1
BLK4
K Z KOREN
VODEĆI
INDEKS
NIVO 3
R T W Z BLK3 B F H K NIVO 2
BLK2
BLK5 C E F
. . .
C E . . . F . . . NIVO 0
NIVO 1
INDEKSNA
STRUKTURA
Indeksna datoteka (3/5)
Održavanje korisničkih slogova:
Korisnički slogovi se ne održavaju u redosledu porasta ključeva
Svi novi slogovi se dodaju na kraj datoteke, jer je nivo podataka u datoteci sekvencijalna datoteka
Održavanje slogova po redosledu nailaska traži jedan slog indeksa po korisničkom slogu podataka
Nedostaci u odnosu na indeksno-sekvencijalnu:
Veći indeks (jer je tamo bio IX po pisti), veći prostor na disku, i sporiji sekvencijalni pristup
22
Indeksna datoteka (4/5)
DELJENJE BLOKOVA:
Javlja se u slučaju kad se u indeksnim blokovima ne može smestiti novi indeksni slog koji je potreban
Deljenje blokova je proces u kome se sadržaj jednog punog bloka proširuje na dva bloka
Da bi se indeksni blok podelio, najpre se mora pronaći indeksni slog koji ukazuje na taj indeksni blok
To je dinamička reorganizacija datoteke, koja se dešava bez prekidanja obrade podataka
23
Indeksna datoteka (5/5)
24
L
BLK 5, NIVO n NIVO n + 1
NOVI INDEKS
SLOGA
B
F
G
K
M
P
P
Polazni indeksni blokovi
K
P
G
K
F
B
BLK 5
P
L
M
BLK 32
Indeksni blokovi posle podele
NIVO n+1
NIVO n
Tehnike prihvata UI blokova (1/5)
Ulazno-izlazni baferi:
su zone u OM koje su namenjene za prenos blokova informacija između datoteke i operativne memorije
FS formira bafere na osnovu atributa datoteke (većina datoteka ima blokove fiksne dužine)
Dva su moguća slučaja u vezi dodele bafera:
Svakoj datoteci se dodeljuje poseban UI bafer
Svi UI baferi pod kontrolom sistema, odnosno, izdvaja se jedna jedinstvena, deljiva, zona za sve korisnike
Nedostatak prvog je neekonomično korišćenje OM, a nedostatak drugog je pojava fragmentacije
25
Tehnike prihvata UI blokova (2/5)
Koeficijent bafera (KB):
Pošto se u bafer smešta jedan blok, koeficijent bafera je jednak koeficijentu bloka (br. slogova u bloku)
Primer sa dva ulazna bafera i KB = 6
Kad se obradi I blok, FS u njega može da prenese sl. blok, odnosno 1-vi slog I bloka postaje 13-ti, itd.
26
BROJ SLOGA BROJ SLOGA1 72 83 94 105 116 12
Tehnike prihvata UI blokova (3/5)
Dva načina pristupa konkretnom slogu u baferu:
Bafer I-og tipa: slog se kopira u/iz bafera
Bafer II-og tipa: slogu u baferu se pristupa direktno preko adrese (bez kopiranja)
Rukovalac baferima održava stanje bafera
Stanja ulaznog bafera I-og tipa:
Stanje A: Ukoliko aplikacija želi da preuzme ulazni slog koji nije zadnji slog tekućeg bafera
Stanje B: Aplikacija želi zadnji slog tekućeg bafera
Stanje C: Aplikacia želi prvi slog bloka iz bafera, dok je proces popune tog bafera narednim blokom u toku
27
Tehnike prihvata UI blokova (4/5)Primer rada sa dvostrukim baferom I-og tipa i KB=3:
28
a)
X X X
BROJAČ BAFERA=2
BROJAČ SLOGA=3
STANJE A
b)
BROJAČ BAFERA=2
BROJAČ SLOGA=2
STANJE A
c)
BROJAČ BAFERA=2
BROJAČ SLOGA=1
STANJE B
d)
BROJAČ BAFERA=1
BROJAČ SLOGA=3
STANJE A
e)
BROJAČ BAFERA=1
BROJAČ SLOGA=2
STANJE A
f)
BROJAČ BAFERA=1
BROJAČ SLOGA=1
STANJE B
g)
BROJAČ BAFERA=0
BROJAČ SLOGA=0
STANJE C
X X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Tehnike prihvata UI blokova (5/5)
Stanja izlaznog bafera I-og tipa:
Ista kao za ulazne bafera, samo je umesto operacije čitanja u pitanju operacija upisa
Stanja ulaznog bafera II-og tipa:
Stanje A: Ako u baferu postoji najmanje jedan slog
Stanje B: Ako u baferu nema slogova
Stanje C: Ako slog ne može da se dobije, jer je to prvi slog u narednom bloku koji još nije popunjen
29
Hijerarhijski model FS-a (1/6)FS je moguće podeliti na više nivoa
od najnižeg nivoa, koji počinje od rukovoaca U/I, do najvišeg nivoa, spregekorisnika sa sistemom
Svaki nivo je apstraktnamašina (skup procesa)
Proces na nivou k može slati poruku samo drugim procesima na tom nivou, na nivou k+1 ili na nivou k-1
30
NIVOI
... Pk+1
Pk
Pk-1
k+1
Pk1
1
. . .
. . . . . .
. . .
Pkj
j
k-1
k
...
Hijerarhijski modelFS-a (2/6)
Hijerarhijski model ima šest funkcionalnih nivoa, koji su označeni kao L1-L6
31
KORISNIK
METOD LOGIČKE
ORGANIZACIJE
TRAŽENJE PO
KATALOGU
OSNOV. SIS.
ZA RUKOVANJE
INFORMAC.
METOD FIZIČKE
ORGANIZACIJE
METODI
ULAZ-IZLAZ
PLANER UPR.
ULAZOM I
IZLAZOM.
FIZIČKA ARHITEKTURA
RAČUNARSKOG SISTEMA
L6
L5
L4
L3
L2
L1
Hijerarhijski model FS-a (3/6)
L6 (Metod logičke organizacije / Simbolički FS):
Barata sa neformatizovanim virtuelnim datotekama
Koristi dva kataloga: simbolički (SK) i osnovni (OK)
U SK-u se uz naziv datoteke pridružuje specijalni interni ID broj, kojim se pretražuje OK
OK sadrži: veličinu logičkog sloga i njihov broj, adresu prvog fizičkog bloka i informaciju vezanu za zaštitu i kontrolu pristupa
L5 (Traženje po katalogu):
Pretraživanje OK se vrši na osnovu ID broja, radi pronalaženja tačne pozicije dat. ili njenog deskriptora
32
Hijerarhijski model FS-a (4/6)
L4 (Osnovni sistem za rukovanje informacijama):
Dostavlja mu se od gornjeg nivoa ID broj datoteke
Ako dat. nije otvorena, informacija o datoteci (njen deskriptor) se smešta u tabelu aktivnih datoteka
Zatim se provere prava pristupa (pomoću matrica kontrole pristupa)
L3 (Metod fizičke organizacije):
Pretvaranje adrese logičkog sloga u adresu logičkog bajta
Zatim se na osnovu adrese logičkog bajta pronalazi fizička adresa bajta
33
Hijerarhijski model FS-a (5/6)
L2 (Metodi ulaz-izlaza):
Pretvaranje tražene operacije u niz UI naredbi kanala i kontrolnih signala neophodnih rukovaocu kanalom
Optimizacije (min kašnjenja pri lociranju piste itd.)
L1 (Planiranje ulaz-izlaza):
Rukovanje listama zahteva za UI, odnosno planiranje, aktiviranje i upravljanje zahtevima za UI radnjama
Na ovom nivou se isto tako vrši obrada UI prekida
34
Hijerarhijski model FS-a (6/6)
Jednostavna sprege između nivoa:
Tok ka nižim nivoima su zahtevi za izvršavanjem operacije sa potrebnim podacima
Tok ka višim nivoima su poruke o načinu završetka tražene operacije
35
SIMBOLIČAN
NAZIV
DATOTEKE
L6
A6)
IDENTIFIKATOR
DATOTEKE
L5
A5)
L4
A4)
DATOTEKE
LISTA FIZIČKIH
SLOGOVA SEKVENCIJALNI
ULAZ-IZLAZ
L3
A3)
L2
A2)