Chapter 6. Synchronizacja

Table of Contents

Analiza mechanizmu przerwań
Mechanizm przerwań
Mechanizm przerwań i rezygnowanie z procesora
Analiza mechanizmu spinlock
Mechanizm spinlock
Mechanizm spinlock i rezygnowanie z procesora
Implementacja blokady spinlock
Implementacja semafora

Analiza mechanizmu przerwań

Przeanalizuj wartość zmiennej "i" gdy kod jest wykonywany w N procesorowym systemie.

Mechanizm przerwań

atomic_int i = 0;

procedure test()
begin
	disable_interrupts();
	atomic_inc(&i);
	atomic_dec(&i);
	enable_interrupts();
end;

Mechanizm przerwań i rezygnowanie z procesora

atomic_int i = 0;

procedure test()
begin
	disable_interrupts();
	atomic_inc(&i);
	schedule();
	atomic_dec(&i);
	enable_interrupts();
end;