Obnavljanje s senčnimi stranmi

Iz E-študij, proste zakladnice študentskega znanja

Skoči na: navigacija, iskanje

Obnavljanje s senčnimi stranmi je učinkovito predvsem pri transakcijskih podatkovnih nesrečah, ko je potrebno razveljaviti že izvedena ažuriranja PB

Vsebina

Princip delovanja

Obnavljanje s senčnimi stranmi

Strani notranjega pomnilnika, ki so bile ažurirane, se ne zapisujejo neposredno v PB, ampak na nezasedene bloke na disku.

Če se transakcija zaključi uspešno, se omenjeni novi bloki na disku vključijo v PB, namesto starih neažuriranih

Indeksi

Naslov vsake strani na disku je zapisan v indeksu strani.

Obstajata dva indeksa strani:

  • tekoči indeks strani
  • senčni indeks strani

Na začetku transakcije sta oba indeksa enaka. Tekoči indeks se nahaja v notranjem pomnilniku, senčni pa na disku. Naslov senčnega indeksa na disku je zapisan v posebni startni datoteki.

Operaciji PreberiBlok(X) in IzpišiBlok(X) uporabljata za dostop do blokov na disku (povpraševanje, ažuriranje) tekoči indeks.

Izvajanje

Ažuriranje

Ažurirni ukaz Spremeni(X,x) se izvede v naslednjih korakih:

  1. če se stran X s podatkom x še ne nahaja v notranjem pomnilniku, se izvede operacija PreberiBlok(X)
  2. zapisu x, ki se nahaja na strani X notranjega pomnilnika, se vrednost ustrezno spremeni
  3. če stran X z zapisom x še ni bila ažurirana (na disku), se na disku poišče še nerabljena stran in z njenim naslovom se v tekočem indeksu zamenja dosedanji naslov strani. Sicer ta nerabljena stran že obstaja za stran X

Neuspeh

V primeru transakcijske nesreče, ko se izda ukaz Pozabi, se tekoči indeks strani preprosto prepiše s senčnim indeksom in v PB ni sledu o ažuriranjih, ki so se v okviru transakcij izvedla.

Aktivirajo se senčne strani in transakcijski program lahko nadaljuje z izvajanjem naslednje transakcije.

Uspeh

Ob uspešnem zaključku transakcije (ukaz Pomni), se izvede naslednje:

  1. vse ažurirane strani, ki se še nahajajo v pomnilniku, se izpišejo na disk,
  2. tekoči indeks strani se izpiše na prosto mesto na disk in to postane senčni indeks,
  3. naslov novega senčnega indeksa na disku se vpiše v startno datoteko.

Če bi se med izvajanjem transakcije ali korakov 1-3 izvedla sistemska nesreča, bi SUPB ob ponovnem zagonu iz startne datoteke prebral naslov senčnega indeksa in na ta način prekinjena transakcija ne bi v PB pustila nobenih sledi

Zaščita pred nesrečami

Obnavljanje s senčnimi stranmi ščiti PB pred transakcijskimi in sistemskimi nesrečami. Za zaščito pred diskovnimi nesrečami, je potrebno poskrbeti dodatno.

Osebna orodja
Imenski prostori
Različice
Dejanja
navigacija

Tiskanje/izvoz
orodja