Apa yang terbayang ketika mendengar RTOS? Makhluk aneh yang terkadang muncul di sela-sela pengembaraan, teruama ketika sedang ‘googling’ dengan tema-tema tertentu.
Oke, saya mulai pembahasan mengenai RTOS ini. Kepanjangan dari RTOS ialah Real-Time Operating System. Dari kepanjangannya sendiri bisa diartikan sistem operasi yang dibuat untuk dapat melayani permintaan aplikasi yang sifatnya real-time.Aplikasi real-time memiliki karakteristik berupa garansi akan waktu respon terhadap kejadian/event yang terbatas(strict time constraint).
Menurut Wikipedia, RTOS memiliki karakteristik kunci berupa level konsistensi mengenai jumlah waktu yang dibutuhkan untuk menerima dan menyelesaikan task/tugas aplikasi. Variabilitas dari level konsistensi ini dinamakan jitter. Dari jitter ini dapat diturunkan lagi menjadi Hard RTOS dan Soft RTOS. Hard RTOS memiliki jitter yang lebih rendah daripada Soft RTOS.
Kunci utama desain RTOS bukan pada throughput yang tinggi, melainkan garansi akan kategori performa berupa soft atau hard. Sebuah RTOS yang secara umum/general dapat memenuhi deadline ialah soft RTOS, namun jika RTOS tersebut dapat memenuhi deadline secara deterministik maka dikatakan hard RTOS.
RTOS memiliki algoritma scheduling yang advance. Faktor kunci RTOS ialah interrupt latency yang rendah dan thread switching latency yang minim. Sebuah RTOS akan memiliki nilai lebih/tambah jika memiliki respon yang cepat dan terprediksi pada sejumlah kerja yang dapat dilakukan dalam periode waktu yang diberikan.
Secara umum, tujuan penggunaan RTOS ialah agar sistem bisa memberikan respon yang cepat dan terprediksi pada kejadian-kejadian(input) yang terjadi.
Sampai sini, mungkin anda masih bertanya-tanya atau semakin bingung dengan RTOS. Bagus! Artinya anda sudah selangkah lebih maju. Mari kita lanjutkan penjelasannya dengan menggunakan contoh. Pada tulisan selanjutnya saya akan menggunakan AVR tipe ATmega32 dan FreeRTOS.
Seri tulisan tentang AVR ATmega32 dan FreeRTOS:
1. FreeRTOS, download source code dan file-file utamanya.
2. Compiling Freertos Menggunakan WinAVR Dan Eclipse