Linux operatsioonisüsteemis töötab aeg
Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
Sissejuhatus
Linux operatsioonisüsteemis ajaga töötamisest tekkiv kasu seisneb selles, et arvutis toimuvad tegevused saavad juhtuda nö õigel ajal
- mingi tegevus käivitatakse ettenäidatud ajal tulevikus (nö kalendriaja mõttes nt 8 juuni 2026 kell 13:54:55.002 UTC)
- mingid tegevused käivitatakse ettenäidatud intervalliga (nt iga minuti järel kusjuures minut on pikk 60 sekundit ja * millisekundi täpsusega) - sekund on kusjuures see rahvusvaheliselt kokkulepitud sekund oma vältusega nagu ta on, tseesiumi isotoop jne (ehk SI mõõtühikute süsteemi sekund)
- arvutis toimuvale ajaarvestusega seoses on olemas veahinnang (nt 1 ms, nt kui öeldakse et '8 juuni 2026 kell 13:54:55.002 UTC' siis kindlasti oli see vahemikus kell 13:54:55.001 kui 13:54:55.003)
- logikirjetes on õige aeg
- klastri komponendid ei eksi ära kuna saavad kellaajast erinevalt aru
- saladused töötavad (nt sisselogimine, cookie, sertifikaat jms)
Üldiselt linux töötamisel ajaga on neli asjaolu, väljakutset, abivahendit jne
- riistvaraline metronoom-loendur (nt clocksource väärtuseks on 'tsc') - loeb cpu siseseid tikseid alates süsteemi viimasest reboodist
- metronoom-loenduri teisendamine kellaajaks (8 juuni 2026 kell 13:54:55.002 UTC moodi kujule)
- välise kellaaja (8 juuni 2026 kell 13:54:55.002 UTC) abil süsteemi nö distsiplieerimine (korrigeerimine) - ntp, chrony, systemd-timesyncd
- esitada süsteemile efektiivsed vahendid kellaaja küsimiseks (clock_gettime() üle vDSO)
Mõõtkavad
- nanosekund - protsessori sees on füüsikalised võnked üksteisest ajaliselt eemal nanosekundites (nt registrite jms liitmistehe) - 'cpu cycle', cpu sisemise cache latentsus - tsc conter iseensest ei liigu SI moodi ühikutest, aga kui ajaliselt mõõte siis jäävad need liikumised nanosekunditesse
- mikrosekund - cpu peale järgmise task saatmise otsuse tegemise aeg, arvuti tava-mälu latsentsus
- millisekund - cpu plaanur annab cpu peal järjestikuliseks olekuks task'ile aega mõni millisekund, storage io latentsuses ok piiriks arvestatakse 4 ms tavaliselt, arvutis hoiatakse kellaaega õigena 1 ms täpsuse ümbruses tavaliselt
- sekund - mitme node klastri õla ümberlülitus (nt keepalived abil)
- minut - google authenticator lubab minuti sisestada koodi
Mõisted
- loendur (ingl. k. counter)
- clock - kasutatakse tihti counter tähenduses
- time - kellaaeg (st mitte counter)
- interval - ajavahemik
- wall-clock time - rõhutab et tegeldakse kellaajaga kujul '8 juuni 2026 kell 13:54:55.002 UTC' vms
- system time - praktiliselt sama tähendusega mis wall-clock-time (mida vastab 'date' käsk)
- timer - seadme komponent, mille abil saab kindlaksmääratud ajahetkel tulevikus mingi tegevuse esile käivitada
- tsc - time stamp counter
- hpet - high precision event timer
- ntp - network time protocol
- nts - network time secure
- ptp - precision time protocol