Featured in Sweden's Elektronik Tidningen

Today Atomthreads was featured in a news article for Elektronik Tidningen, see the original article here. You may also read a Google-translated version here.


Kelvin Lawson släpper sitt eget realtidsoperativsystem Atomthreads som öppen källkod. Det är optimerat för portabilitet och lämpar sig utmärkt som studieobjekt för den som vill lära sig mer om operativsystem, enligt Kelvin Lawson.

Grunden för operativsystemet är en så kallad ”trådschemaläggare” det vill säga en mekanism som låter dig dela upp ditt program i parallellt exekverande trådar. 

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. 

– Ursprungligen använde jag Atomthreads som trådschemaläggare för en del projekt inom hemautomation. Men sedan växte den till sitt eget projekt, meddelar Kelvin Lawson via Facebook. 

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.