Logički časovnik

S Vikipedije, slobodne enciklopedije

Logički časovnik je komponenta računarskog sistema koja njegove događaje označava jedinstvenim oznakama reda kojim su se dogodili, čime se postiže hronološko uređivanje i lako utvrđivanje njihovog redosleda. Cilj ovoga je ostvarenje mogućnosti praćenja događaja i njihove sinhronizacije na nivou sistema. Ovaj zadatak je jednostavan ukoliko sistem izvršava samo jedan proces. Sa druge strane, ukoliko nadgledani događaji pripadaju desetinama ili stotinama odvojenih procesa, problem se usložnjava te se javlja potreba za ovakvim mehanizmom.

Za razliku od pravog sata koji meri vreme na nama uobičajen način, za logički časovnik je jedino bitno da događaje označava monotono rastućim vrednostima, tako da redosled njihovog dešavanja bude prepoznatljiv.

Značajniji algoritmi i metode[uredi | uredi izvor]

Lamportov vremenski žig[uredi | uredi izvor]

Lamportov vremenski žig, je jednostavan softverski brojač koji događaje u računarskom sistemu označava rastućim nizom prirodnih ili nenegativnih celih brojeva. Naziv je dobio po američkom matematičaru i informatičaru Lesliju Lamportu.

Vektorski časovnik[uredi | uredi izvor]

Vektorski časovnik poseduje po jedan poseban brojač za svaki proces u sistemu. Brojač nekog procesa se uvećava tek kada se pojavi neki njegov događaj. Svakom događaju u sistemu se dodeljuje oznaka koja sadrži trenutna stanja procesa koji su mu prethodili. Ukoliko se desi da se dva događaja dogode istovremeno, neće nositi aktuelne informacije jedan o drugom.

Kako se ovaj niz brojeva može smatrati koordinatom tog događaja, ovaj časovnik je dobio naziv „vektorski“. Povezujući ovako označene „koordinate“, dobija se uvid u međusobno zavisne i nezavisne delove procesa.

Matrični časovnik[uredi | uredi izvor]

Matrični časovnik predstavlja dalje proširenje vektorskog časovnika. Kod vektorskog časovnika se dešava da istovremeni događaji ne dele iste informacije jedan o drugom, što ostavlja prostor pitanju „a šta ako je potrebno da svaki proces takođe zna i šta u nekom trenutku ostali procesi znaju o sebi i drugim procesima?“. Matrični časovnik svakom događaju sistema koji vrši n procesa dodeljuje kvadratnu matricu dimenzija n x n, tj. niz od n vektora. Jedan vektor je za njega samog (koji bi mu inače bio dodeljen od strane vektorskog časovnika), a preostalih n-1 su vektori poznati svim preostalim procesima u datom momentu.