Логички часовник

Из Википедије, слободне енциклопедије

Логички часовник је компонента рачунарског система која његове догађаје означава јединственим ознакама реда којим су се догодили, чиме се постиже хронолошко уређивање и лако утврђивање њиховог редоследа. Циљ овога је остварење могућности праћења догађаја и њихове синхронизације на нивоу система. Овај задатак је једноставан уколико систем извршава само један процес. Са друге стране, уколико надгледани догађаји припадају десетинама или стотинама одвојених процеса, проблем се усложњава те се јавља потреба за оваквим механизмом.

За разлику од правог сата који мери време на нама уобичајен начин, за логички часовник је једино битно да догађаје означава монотоно растућим вредностима, тако да редослед њиховог дешавања буде препознатљив.

Значајнији алгоритми и методе[уреди]

Лампортов временски жиг[уреди]

Vista-xmag.png За више информација погледајте чланак Лампортов временски жиг

Лампортов временски жиг, је једноставан софтверски бројач који догађаје у рачунарском систему означава растућим низом природних или ненегативних целих бројева. Назив је добио по америчком математичару и информатичару Леслију Лампорту.

Векторски часовник[уреди]

Vista-xmag.png За више информација погледајте чланак Векторски часовник

Векторски часовник поседује по један посебан бројач за сваки процес у систему. Бројач неког процеса се увећава тек када се појави неки његов догађај. Сваком догађају у систему се додељује ознака која садржи тренутна стања процеса који су му претходили. Уколико се деси да се два догађаја догоде истовремено, неће носити актуелне информације један о другом.

Како се овај низ бројева може сматрати координатом тог догађаја, овај часовник је добио назив „векторски“. Повезујући овако означене „координате“, добија се увид у међусобно зависне и независне делове процеса.

Матрични часовник[уреди]

Vista-xmag.png За више информација погледајте чланак Матрични часовник

Матрични часовник представља даље проширење векторског часовника. Код векторског часовника се дешава да истовремени догађаји не деле исте информације један о другом, што оставља простор питању „а шта ако је потребно да сваки процес такође зна и шта у неком тренутку остали процеси знају о себи и другим процесима?“. Матрични часовник сваком догађају система који врши n процеса додељује квадратну матрицу димензија n x n, тј. низ од n вектора. Један вектор је за њега самог (који би му иначе био додељен од стране векторског часовника), а преосталих n-1 су вектори познати свим преосталим процесима у датом моменту.