2
1 Sincroniza Sincronização ção INF151 – Sistemas Operacionais II Prof. Marcelo Johann UFRGS – 2012/1 Sincroniza Sincronização ção de de Relógio Relógio Algoritmos Centralizados Algoritmos Distribuídos: • Informações relevantes distribuídas entre as máquinas • Processos tomam decisões com informações locais • Evitar ponto único de falha • Não existe fonte global precisa de relógio exemplo exemplo de de Makefile Makefile Relógios Lógicos - coordenar tempo relativo Relógios Físicos - sincronizar com tempo real Relógios Lógicos Relógios Lógicos Relógio das Máquinas • clock = oscilador de cristal, registradores (c,h) • cada cristal oscila em uma freqüência diferente • defasagem gradual no relógio de software • Não existe fonte global precisa de relógio Relógios Lógicos • Lamport, 1978 e 1990 • sincronização de relógio não precisa ser absoluta • processos que não interagem não precisam sincronia ordem ordem dos dos eventos eventos, não tempo absoluto “Aconteceu conteceu Antes Antes” a b : a aconteceu antes de b • Se a e b são seqüência no mesmo processo; • Se a é envio de mensagem e b é a recepção dessa mensagem em outro processo • Relação transitiva • Se a b, então Tempo(a) < Tempo(b) Algoritmo Algoritmo de de Lamport Lamport 00 06 12 18 24 30 36 42 48 54 60 00 08 16 24 32 40 48 56 64 72 80 00 10 20 30 40 50 60 70 80 90 100 0 1 2 A B C D 00 06 12 18 24 30 36 42 48 00 08 16 24 32 40 48 00 10 20 30 40 50 60 70 80 90 100 0 1 2 70 76 61 69 77 85 A B C D Duas pequenas adições: • Entre cada par de eventos (envio) o clock precisa avançar em ao menos uma unidade; • Para distinguir eventos com mesmo tempo, acrescentar número da máquina como decimal; Ordenação total de eventos no sistema Algoritmo Algoritmo de de Lamport Lamport

Sincronização - UFRGSjohann/sisop2/aula17.clock.pdf · UTC = Universal Coordinated Time • UTC é a nossa base de medida de tempo atual • Companhias de energia usam para 50Hz

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    SincronizaSincronizaçãoção

    INF151 – Sistemas Operacionais IIProf. Marcelo Johann

    UFRGS – 2012/1

    SincronizaSincronização ção de de RelógioRelógioAlgoritmos Centralizados

    Algoritmos Distribuídos:

    • Informações relevantes distribuídas entre as máquinas

    • Processos tomam decisões com informações locais

    • Evitar ponto único de falha

    • Não existe fonte global precisa de relógio

    exemplo exemplo de de MakefileMakefileRelógios Lógicos - coordenar tempo relativo

    Relógios Físicos - sincronizar com tempo real

    Relógios LógicosRelógios LógicosRelógio das Máquinas

    • clock = oscilador de cristal, registradores (c,h)

    • cada cristal oscila em uma freqüência diferente

    • defasagem gradual no relógio de software

    • Não existe fonte global precisa de relógio

    Relógios Lógicos

    • Lamport, 1978 e 1990

    • sincronização de relógio não precisa ser absoluta

    • processos que não interagem não precisam sincronia

    • ordem ordem dos dos eventoseventos, não tempo absoluto

    ““AAconteceu conteceu AntesAntes””

    a → b : a aconteceu antes de b• Se a e b são seqüência no mesmo processo;

    • Se a é envio de mensagem e b é a recepção dessamensagem em outro processo

    • Relação transitiva

    • Se a → b, então Tempo(a) < Tempo(b)

    Algoritmo Algoritmo de de LamportLamport

    0006121824303642485460

    0008162432404856647280

    00102030405060708090

    100

    0 1 2

    A

    B

    C

    D

    000612182430364248

    00081624324048

    00102030405060708090

    100

    0 1 2

    7076

    61697785

    A

    B

    C

    D

    Duas pequenas adições:• Entre cada par de eventos (envio) o clock precisaavançar em ao menos uma unidade;

    • Para distinguir eventos com mesmo tempo,acrescentar número da máquina como decimal;

    Ordenação total de eventos no sistema

    Algoritmo Algoritmo de de LamportLamport

  • 2

    Relógios FísicosRelógios FísicosNecessidade de Relógios Físicos

    2 problemas:

    • sincronização com tempo real

    • sincronização de múltiplos relógios com tempo real

    Como mede-se o tempo?

    • Trânsito solar

    • dia solar

    • segundo solar = 1/(24*3600)

    Relógios FísicosRelógios FísicosGeometria do dia solar

    θ

    θ

    Variações

    • Período de rotação não é constante (1940)

    A 300 milhões de anos havia 400 dias/ano

    Anos parecem constantes, mas terra gira menos

    • Pequenas variações também ocorrem

    Média: segundo solar médio

    Invenção do Relógio Atômico (1948)Segundo Atômico

    • Tempo em que Césio 133 faz 9.192.631.770 ticks

    • 50 laboratórios tem relógios atômicos

    • BHI (Bureau International de l’Heure), Paris

    • International Atomic Time (TAI) = média

    Relógios FísicosRelógios Físicos

    Mas 86400 TAI secs hoje são 3 ms a menos que dia solar

    Problema como em 1582 quando Papa Gregório XIIIdecretou supressão de 10 dias do calendário. Protestantesnão aceitaram decisão por 170 anos…

    Segundos Saltados (leap seconds)• sempre que diferença passa de 800ms

    UTC = Universal Coordinated Time

    • UTC é a nossa base de medida de tempo atual

    • Companhias de energia usam para 50Hz e 60Hz

    • Companhias e computadores devem tratar leap secs

    • 30 leap seconds já introduzidos desde 1 Jan 1958

    Fontes

    (US) NIST - estação de rádio WWV +-1ms a +-10ms

    (Engl.) estação de rádio MSF, (Satélite) GEOS 0.5ms

    Relógios FísicosRelógios Físicos

    Network Time Protocol• projeto de protocolo sobre a Internet

    http://www.ntp.org/

    http://www.eecis.udel.edu/~mills/ntp.html

    Qualidade:

    • 1 a 2ms em LANs

    • algumas dezenas de ms em WAN (Internet)

    • 1 ns em tempo e freqüência quando kernel aceitasinais PPS (pulse per signal).

    Estado da Estado da ArteArte