1 / 40

Fyzick é organizácie

Fyzick é organizácie. Gabriel Bocek Juraj Čelinák 6. št. skupina 9.3.2003. Hierarchia pamätí. Primárne - priamo dostupné z CPU - registre,cache, operačná pamäť

minty
Télécharger la présentation

Fyzick é organizácie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fyzické organizácie Gabriel Bocek Juraj Čelinák 6. št. skupina 9.3.2003

  2. Hierarchia pamätí • Primárne - priamo dostupné z CPU - registre,cache, operačná pamäť • Sekundárne - dáta na periférnych zariadeniach s priamym prístupom; nie sú dostupné z CPU, musia byť najprv skopírované do primárnej pamäte - virtuálna pamäť, magnetické disky, CD-ROM • Terciálne - dáta na periférnych zariadeniach so sekvenčným prístupom - magnetické pásky

  3. Magnetické disky • Databázy sú ukladané na magnetických diskoch, pretože: • Spravidla, sú veľmi veľké, aby sa zmestili do operačnej pamäte • Cena za uloženie dát je rádovo menšia ako u primárnych pamätí • Náhodný prístup Charakteristiky diskov: • Operácie čítania a zápisu (READ/WRITE) prenášajú bloky dát medzi diskom a RAM • Prístup k dátam resp. zápis dát na disky je „drahou“ operáciou  každý prístup na disk, musí byť starostlivo zvážený • Disk je zariadenie s priamym prístupom k dátam • Čas prístupu k údajom (oproti RAM) nie je rovnaký  dôležitosť vzájomnej polohy dát na disku

  4. Charakteristiky prístupu na disk • Prístupová doba k bloku dát • Seek time – nastavenie ramena na požadovanú stopu • Rotational latency – nastavenie hlavy na požadovaný sektor • Transfer time – prenos bloku dát • Seek time a rotational latency sú dominantné • Seek time – 1-20 milisekúnd • Rotational delay – 0-10 milisekúnd • Transfer time – cca 1msek/4KB

  5. Štruktúra disku

  6. Štruktúra platne disku

  7. Pojmy • Track – sústredný úsek na disku • Sector – Časť track-u s fixnou dĺžkou • Cylinder – Množina track-ov na všetkých platniach disku na príslušnej pozícii – Track-y pod čítacou hlavou vytvárajú cylinder • Stránka – Fyzické množstvo dát prenesených medzi pamäťou a diskom.

  8. Stratégia rozloženia dát Udžiavať súvisiace data blízko seba. - Na tom istom bloku/sektore - Na tom istom track-u - Na tom istom cylindri Bloky v súbore : • Mali by byt na disku ukladané sekvenčne aby sa minimalizoval seek a rotational delay

  9. Prístup na disk Disk • Priamy prístup na médium – nie sequenčný • Čas pohybu hlavičky zahŕňa seek time a rotational latency • Cieľom je redukovať počet prístupov na disk a vyhladávací čas

  10. Manažment diskového priestoru • Najnižšia vrstva SRBD spravuje priestor na disku • Vyššie vrstvy ju volajú keď potrebujú • Alokovať / dealokovať stránku • Čítať /zapisovať do stránky • Pri požiadavke na sekvenciu stránok tieto mali by byť naalokované sekvenčne na disku

  11. Buffer manažment v SRBD • Data musia byt v RAM aby s nimi mohol SRBD pracovať • BM spravuje tabuľku dvojíc <frame#, pageid>

  12. Požiadavka na stránku – part 1 • Ak požadovaná stránka nie je v buffri • Vyberie sa frame na výmenu • Ak je frame používaný zapíše sa na disk • Načíta sa požadovaná stránka • Stránka sa označí(pin) a vráti sa jej adresa • Žiadateľ stránky ju musí odznačiť(unpin) a indikovať pomocou dirty bitu , či bola stránka zmenená

  13. Požiadavka na stránku - part 2 • Stránka v buffri môže byť požadovaná viackrát – počet požiadaní sa ukladá do pin count • Stránka s najnižším pin count je kandidátom na nahradenie • Stratégie výmeny framov : • LRU • Pomocou Počítadla • MRU

  14. SRBD vs. OS Filesystem • Rôzne operačné systémy = rôzne filesystemy • Buffer manažment v SRBD potrebuje schopnosť: • Označovať(pin) stránky v buffri • Presúvať stránky na disk • Meniť stratégiu nahradzovania stránok • Predvyberu stránok na základe prístupového vzoru

  15. Formát stránky – záznamy s fixnou dĺžkou • Packed - volné sloty sú na konci stránky • Unpacked – voľné sloty môžu byť kdekoľvek, je potrebný špeciálny bit na označenie či je slot voľný alebo nie • Record id = <page id, slot#> • V prvom prípade pri posuvaní záznamov sa mení record id a to nemusí byt vhodné

  16. Formát stránky – záznamy s premenlivou dĺžkou

  17. Súbory záznamov • Vyššie vrstvy SRBD pracujú so záznamami alebo súbormi záznamov • Súbor – kolekcia stránok obsahujúcich záznamy, musí podporovať: • Insert, delete, modify zaznam • Čitanie záznamu(podľa record id) • Prehľadanie všetkých záznamov

  18. Reprezentácia záznamov • Zázmamy s pevnou dĺžkou Informácie o dĺžke položiek v zázname je uložená v systémovom katalógu

  19. 142 MS Access 4.0 5000 12.12.95 77 oddelovač záznamu oddelovač polí v zázname Reprezentácia záznamov • Záznam s premenlivou dĺžkou

  20. Ukladanie záznamov do blokov • Delené a nedelené záznamy (spanned/unspanned records)

  21. Základné organizácie • Hromada (Heap) • Sekvenčná • Zreťazená • Zotriedená • Hashovaná

  22. Hromada – Heap • Záznamy sú uložené v ľubovoľnom poradí v blokoch, ktoré môžu fyzicky nasledovať za sebou • Ak nenasledujú za sebou, musia byť prepojené smerníkmi alebo adresy blokov súboru musia byť niekde uložené

  23. Netriedené(heap) súbory • Najjednoduchšia štruktúra suboru obsahuje nezotriedené záznamy • Keď sa súbor zväčšuje(zmenšuje) daľšie diskové stránky sa alokujú(dealokujú) • Pre podporu operácii na záznamoch si musíme pamätať: • Stránky v súbore • Volne miesto na stránkach • Zaznamy na stránkach

  24. Heap súbory ako zoznam(list) Každá stránka obsahuje dáta a dva smerníky

  25. Heap súbor používajúci page directory • Directory je zbierkou stránok, implementacia ako spojkovy zoznam je len jedna z alternatív • Tato implementácia je omnoho menšia ako spojkový zoznam všetkých stránok

  26. Hromada – Heap • Vyhľadávanie: záznamy sa vyhľadávajú tak, že sa od začiatku do konca súboru číta záznam po zázname a porovnáva sa, či to je hľadaný záznam. • Aktualizácia: nájdený záznam sa aktualizuje a uloží na to isté miesto • Zmazanie: označenie záznamu za neplatný, čím sa vytvorí diera v súbore, kt. Možno využiť pri nasledujúcom vkladaní do súboru • Vkladanie: nový záznam sa vloží na miesto prvej diery

  27. Sekvenčná organizácia • Vhodný pre aplikácie, ktoré vyžadujú sekvenčný prístup • Záznamy sú zotriedené podľa kľúča • Vkladanie: nájdenie miesta kde má byť záznam vložený. Ak je voľné miesto v bloku, vlož. Inak vlož záznam do bloku pretečenia.

  28. Zreťazená organizácia • Niektoré položky záznamov obsahujú adresu iného záznamu

  29. Zreťazená organizácia • Vyhľadávanie: spočívá z postupného sledovania smerníkov a z testovania, či sme už našli hľadaný záznam • Aktualizácia: po nájdení vety, ktorú treba zmeniť sa zrobí prostá náhrada záznamu s novými hodnotami pričom musí byť zachovaný smerník ak má zostať záznam v pôvodnej reťazi • Zmazanie: smerník ukazujúci na zmazávaný záznam sa nahradí smerníkom zmazavaného záznamu • Vkladanie: reťaz sa predĺži o jeden záznam. Vkladaný záznam sa umiestni na začiatok alebo koniec.

  30. Organizácia s utriedenými záznamami • Záznamy sú uložené na adresách nasledujúcich za sebou tak, že ich poriadanie zodpovedá usporiadaniu nad jednou alebo viacerými položkami – kľúčami • Vyhľadávanie: binárne vyhľadávanie podľa klúča • Aktualizácia: po vyhľadaní môžeme aktualizovať všetky položky okrem položiek triediaceho kľúča • Vkladanie: - pri prvom vytriedení sa nechávajú v každom bloku diery, ktoré možno využiť pri nasledujúcom vkladaní

  31. Organizácia s utriedenými záznamami V prípade vyčerpania miesta v bloku, ďalšie záznamy sú ukladané do zvláštnych blokov pretečenia. Sú prístupné pomocou smerníka v záhlaví bloku

  32. Organizácia s utriedenými záznamami • Zmazanie záznamu: záznam sa označí za neplatný a vznikne diera. Tú treba obvykle prenies na koniec bloku.

  33. Organizácia Hashom • Vhodný pre aplikácie vyžadujúce priamy prístup (random access) • Záznamy sú nezotriedené Adresa bloku, v ktorom sa nachádza požadovaný záznam sa vyratáva pomocou hashovacej funkcie • Nech K je množina všetkých kľúčov a B je množina adries bucket-ov. Hashovacia funkcia je zobrazenie z K do B. • Bucket je najčastejšie blok disku • Vkladanie: vložiť záznam s kľúčom Ki znamená vyrátať hodnotu hashovacej funkcie, ktorá poskytne adresu bucketu pre záznam • Vyhľadávanie záznamu s kľúčom Ki znamená vyrátať hodnotu hashovacej funkcie, kt. Poskytne adresu bucket-u v ktorom nájdeme postupným prejdením záznamov náš požadovaný • Delete : vyhľadanie záznamu v buckete a jeho vymazanie

  34. Hashovanie • Hashovacia funkcia musí byť zvolená so zreteľom na: • Rozdelenie záznamov bude rovnomerné • Rozdelenie bude náhodné • Odpoveď na rast databázy: • Veľkosť databázy sa zvýšuje veľmi rýchlo • Máme 3 možnosti vytvorenia statickej hash funkcie: • Zvolenie funkcie založenej na momentalnej veľkosti databázy • Zvolenie funkcie založenej na predpokladanej veľkosti databázy • Periodicky prerábať hash súbor podľa veľkosti databázy - Použitie dynamického hashovania

  35. Dynamické hashovanie • Táto technika umožňuje dynamické modifikovanie hashovacej funkcie z dôvodu zväčšovania a zmenšovania databázy • Je známa ako “extendable hashing” • Toto hashovanie rieši problém zmeny veľkosti datábazy rozdeľovaním a spájaním bucketov

  36. Interné hashovanie • Jeden záznam na bucket

  37. Externé Hashovanie • Hashovacia funkcia mapuje kľúč na relatívne číslo bucketu radšej než na absolutnú adresu bloku • Hlavička súboru – tabuľka ktorá mapuje relatívne číslo bucketu na počiatočnú adresu každého bucketu • Viaceré záznamy v jednom bucket-e • Vyhľadávanie: použitie hash funkcie na získanie čísla bucketu. Transformácia čísla bucketu na adresu bucketu. Načítanie bucketu do pamäti a nájdenie odpovedajúceho kľúča lineárnym prehľadaním bucketu.

  38. Externé hashovanie

  39. Koniec

More Related