Dessutom finns mekanismer för att synkronisera dessa trådars aktiviteter med varandra, som semaforer, mutexar, köer och timrar. De används för att exempelvis hindra att programtrådarna använder samma resurser samtidigt.
Kelvin Lawson är inbyggnadsutvecklare med bas i London.
Kelvin Lawson |
Om du idag har ett enkeltrådat program som vill växa till multitrådat är det bara att ladda hem Kelvin Lawsons källkodsbibliotek och sparka igång trådarna.
Licensen för Atomthreads är BSD-liknande, vilket betyder att du kan göra modifieringar som du – till skillnad från vad som gäller för Linux – inte behöver dela med dig av.
Idag stöds processorn AVR ATmega. Kelvin Lawsons berättar på sin blogg att det är ganska enkelt att addera stöd för ytterligare arkitekturer eftersom han minimerat användningen av AVR-specifika funktioner, just för att göra portering enklare.
Vilket också, erkänner han, implicerar att det finns operativsystem som är effektivare än hans, om du är på jakt efter ett operativsystem för AVR.
För att ytterligare underlätta portering till andra processorer, har han utvecklat ett automatiskt testbatteri som verifierar att grundfunktionerna i operativsystemet fungerar korrekt.
Hans källkod har fått betyget "väldokumenterad" och han föreslår att den kan användas som undervisningsmaterial för den som vill lära sig grunderna om operativsystem.