OSA, Microchip PIC10, PIC12, PIC16, PIC18, PIC24, dsPIC serileri, Atmel AVR 8-bit ve STMicroelectronics STM8 mikrodenetleyicileri için tasarlanmış kooperatif çoklu gerçek zamanlı işletim sistemidir (RTOS).

RTOS programcıyı görevlerdeki (task) sorunlara (algoritmik, matemtetiksel vb.) odaklarken diğer olaylar hakkında endişelenmemesini sağlar. Diğer ikincil olaylar OSA kernel’i tarafından işletilir:

  • paralel süreçler arası geçiş (örneğin keypad taraması, LCD’ye yazı yazdırma, röleleri kapama/açma);
  • zaman aşımı denetimi ve gecikmeleri sayma;
  • önceliği yüksek çalışmaya hazır görevi (task) bulup işleme alma;
  • farklı görevler (task) arası data alışverişini semaforlar, mesajlar ve kuyruklar kullanarak gerçekleştirme.

OSA’daki tüm olaylar basit C fonksiyonlarıdır. Bu fonksiyon içerisinde görev bağlama anahtarlarından en az birini içeren sonsuz bir döngü içermelidir. Örnek bir görevin (task) fonksiyonu aşağıdaki gibi olacaktır:

void SimpleTask (void)
{
    for (;;)        // Sonsuz Döngü
    {
        OS_Yield();   // Koşulsuz görev anahtarlaması
    }
}
{lang: 'tr'}