Definisi
Menurut wkipedia yang dimaksud dengan realtime operating system (RTOS) adalah suatu sistem operasi multitasking yang diperuntukan untuk aplikasi real time. RTOS memfasilitasi pembentukan sistem real time tetapi tidak terdapat jaminan hasil akhir yang ditawarkan akan menjadi real time. Hal ini memerlukan pengembangan aplikasi yang benar. Sedangkan menurut Sebastian Fischmeister RTOS adalah suatu sistem operasi yang sering digunakan seagai kontrol dari suatu devais dalam suatu aplikasi yang tetap terhubung. Dikatakan juga bahwa RTOS adalah suatu sstem operasi yang mendefinisikan dengan baik batasan waktu yang telah ditentukan.
Yang menjadi motivasi dikembangkanya suatu sistem operasi yang diperuntukan khusus untuk sistem real time sistem adalah karena pada sistem operasi biasa yang telah ada tidak mendukung batasan yang ada pada sistem real time seperti scheduling policies, proses sycronization atau arsitektr dari sistem realtime itu sendiri. Oleh karena terdapatnya ketidaksesuian antara requirement dari realtme sistem dan fasilitas yang ada pada sistem operasi biasa maka dikembangkan lah RTOS ini dengan tujuan untuk Membuat suatu lingkungan yang sesuai dengan batasan waktu yang keras pada eksekusi task dalam lingkungan yang reaktif. Dua ide kunci yang ditanamkan yakni predictability (dapat mprediksi konsekuensi dari segala keputusan di scheduling ) dan schedulability guarantees (memverifikasi schedulability dari satu set task yang diberikan).
Fitur
Dikebanyakan sistem realtime tidak menyediakan fitur-fitur yang biasa terdapat pada sistem desktop (sistem komputer non realtime) hal ini dikarenakan oleh karena sistem realtime biasanya mempunyai satu tujuan khusus, sistem realtime sering tidak membutuhkan suatu interface untuk user, dan feature –feature yang ditemukan di sistem non realtime membutuhkan lebih banyak substansional hardware daripada yang terdapat pada sistem realtime.
Requirement
Terdapat beberapa requirement standar yang harus dipenuhi dari sebuah RTOS, yang pertama yang sangat dibutuhkan adalah aspek waktu. Aspek waktu ini meliputi sebagai contoh periodik dan absolute timeout, atau suatu interface dari akses waktu seperti clock_gettime dan clock_getres, juga singkronisasi waktu. Untuk lebih jelas nya suatu RTOS harus dapa memenuhi tiga requirement kunci dari realtime sistem :
1. Prilaku pewaktuan dari sistem operasi harus dapat diperkirakan
2. Sistem operasi harus dapat mengatur pewaktuan dan penjadwalan
3. Sistem operasi harus berjalan dengan cepat
Desain dan Metodologi
Terdapat dua desain dasar pada RTOS yakni ; desain event driven dan desain time sharing. Pada Desain event driven task berganti ketika suatu event yang memiliki prioritas lebih tinggi membutuhkan layanan, disebut juga pre-emtive priority. Sedangkan pada desain time sharing task berganti pada saat interrupt clock dan pada event disebut juga dengsn round robin. Desain time sharing perubahan task lebih sering dari yang dibutuhkannya tetapi memberikan multi tasking yang lebih deterministik dan lebih rapat.
Dalam hal struktur dari sistem operasi realtime terdapat beberapa struktur yang dapat diterapkan pada sistem operasi realtime seperti monolitic os, layered os, client-server os. Sebagai contoh pada struktur monolitik sistem operasi terdiri dari satu bagian code yang dibagi kedalam modul-modul yang berbeda. Masalah atau kelemahan pada struktur monoitik ini adalah susah nya untuk melakuan debug. lain hal nya dengan struktur yang lebih baru yakni client server penekanan aplikasi sebagai klien yang melakukan permintaan layanan melalui pemanggilan sistem terhadap server task, keuntungan pada tipe struktur ini adalah lebih mudah untuk melakukan debug dan scale dan kemudahan distribusi melewati multiple prosesor, juga kemungkinan load dan unload modul secara dinamis.
Metodologi yang diterapkan pada suatu RTOS :
1. Priority-based Kernels :VxWorks, OS9, pSOS
Objektif: performansi tinggi untuk respon waktu rata-rata ke event eksternal
Karakteristk : fast context switching, small foot print, eficient interupt hundling premptable primitives, fast communication mechanism, driven by real time clock, Task scheduling with fixed priorities, synchronization tools, limitations communication protocols.
2. RT extensions of timesharing systems :RT-Mach, RT-Unix
Objektif: Memperpanjang waktu-berbagi (comercial tme-sharing) sistem untuk memenuhi batasan real-time
Karakteristk : Reuse standard peripherals and interfaces, Speedier development, Reused Kernel, Task Scheduling with fixed priorities, Re-implemented User-Level Threads, Nonpreemptable syscalls, interrupts.
3. Research operating systems:Spring, HARTIK
Objktif: kemampuan untuk menangani task dengan batasan waktu yang ekspisit seperti perioda dan batas waktu.
Karakteristik: Scheduling guarantee mechanisms, Characterize tasks with additional parameters, Avoidance of nondeterministic blocking time
Implementasi
Secara umum dalam implementasi nya RTOS harus dapat menyediakan preemptive (priority based scheduling ), preemptive kernel dan minimalisasi dari latency (jumlah waktu dari mulai muncul nya event sampai event tersebut dilayani). Sedangkan dalam hal fungsionalitas yang harus terdapat pada RTOS antara lain adalah sebagai berikut :
1. Manajemen prosesor
2. Manajemen Memori
3. Manajemen waktu
4. Manajemen task
5. Komunikasi dan singkronisasi task
Pada sumber yang lain dikatakan ke lima fugsionalitas diatas dirangkum kedalam tiga fungsi utama yakni scheduler, resource management dan dispatcher.
Contoh RTOS
1. QNX RTOS v6.1 yang memiliki arsitektur berbasis klien-server . QNX mengadopsi pendekatan
pelaksanaan sebuah OS dengan 10 Kbytes mikro-kernel yang dikelilingi oleh tim opsional
memberikan proses yang lebih tinggi tingkat dalam hal layanan OS. Setiap proses termasuk perangkat driver yang telah memliki ruang memori virtual sendiri . Sistem dapat disalurkan melalui beberapa node, dan jaringan transparan. Kinerja sistem yang cepat dan predictable dan kuat.
Mendukung prosesor Intel x86family, MIPS, PowerPC, dan besi. Dokumentasi
luas kecuali rincian pada API [10]. QNX telah berhasil digunakan dalam ROM kecil yang berbasis sistem dan tertanam di beberapa ratus-node yang didistribusikan didalam sistem.
2. VRTX memiliki fasilitas Multitasking untuk memecahkan real-time performa persyaratan ditemukan tertanam dalam sistem. Pre-emptive penjadwalan diikuti memastikan respon yang terbaik bagi aplikasi kritis. Komunikasi antar-tugas adalah dengan menggunakan surat dan antrian. Adalah surat setara dengan sinyal acara dan kegiatan dapat lulus data bersama dengan acara itu. Antrian dapat terus beberapa pesan dan fasilitas penyangga ini berguna saat mengirim tugas memproduksi pesan lebih cepat dari yang dapat menerima tugas menangani mereka. Alokasi memori dinamis dan didukung alokasi dan melepaskan tetap berada dalam ukuran blok untuk memastikan respon predictable kali. VRTX memiliki dirancang untuk pengembangan sistem dan menargetkan kemerdekaan serta real-time clock inti independence.VRTX menyediakan layanan yang dapat digunakan setiap microprocessor-nya .
3. Windows CE adalah sistem operasi yang kaya fitur dan tersedia untuk berbagai
hardware platform. Pameran it true real-time perilaku sebagian besar kali. Tapi thread
penciptaan dan penghapusan telah periodik penundaan lebih dari 1 millisecond terjadi setiap detik.
Sistem yang kompleks dan sangat dapat dikonfigurasi. Konfigurasi dari 3,0 TM adalah rumit
proses. Dokumentasi tidak memberikan pengetahuan mendalam tentang inner pekerjaan yang
meskipun sistem API yang didokumentasikan. Sistem yang kuat dan tidak bocor memori
terjadi bahkan di bawah kondisi stres. TM 3,0 menggunakan memori virtual perlindungan untuk melindungi diri faulty terhadap aplikasi.
4. pSOS adalah kernel kecil cocok untuk aplikasi embedded. Perangkat lunak ini menggunakan bis
untuk berkomunikasi antara berbagai modul. Pilihan modul yang akan digunakan dapat dilakukan di
waktu kompilasi sehingga cocok untuk aplikasi embedded. Sistem flat ruang memori.
Semua threads berbagi ruang memori yang sama dan juga berbagi semua objek seperti semaphores. Sehingga memiliki lebih banyak peluang yang sungguh-sungguh. Sekitar 239 berguna urutan prioritas tingkat tersedia sehingga cocok untuk Rate monotonic penjadwalan. pSOS memiliki multiprocessor versi pSOS + m yang dapat memiliki satu node sebagai master dan jumlah node sebagai budak. Kegagalan dalam master namun akan mengakibatkan sistem crash. Itu Integrated Development Environment yang komprehensif dan tersedia untuk Windows
dan sistem UNIX. Aral yang RTOS ini adalah bahwa hal itu hanya tersedia f atau dipilih
prosesor dan kurangnya mutexes dalam beberapa versi mengarah ke prioritas inversi [10].
5. VxWorks terpenting adalah pengembangan dan pelaksanaan lingkungan kompleks untuk real-time dan aplikasi yang terdapat pada berbagai sasaran prosesor. Tiga sangat terintegrasi
komponen yang disertakan dengan VxWorks: tinggi scalable kinerja operasi real-time
sistem yang melaksanakan target pada prosesor; satu set kuat lintas-alat pembangunan; dan
penuh berbagai pilihan perangkat lunak komunikasi seperti Ethernet atau serial line untuk target
sambungan ke host. Jantung OS adalah Wind microkernel yang mendukung multi-tasking, penjadwalan, intertask manajemen dan pengelolaan memori. Semua fungsi lain
adalah melalui proses. Tidak ada perlindungan hak antara sistem dan aplikasi dan
juga untuk mendukung proses komunikasi di antara berbagai prosesor yang miskin [10].
6. Windows NT Keseluruhan arsitektur yang baik dan dapat RTOS yang cocok untuk sistem kontrol yang kebutuhan pengguna yang baik dan dapat mentolerir yang berat persyaratan yang diminta untuk mencari instalasi. Perlu harddisk dan prosesor yang kuat. Configurati dan interaksi
memerlukan berdedikasi layar dan keyboard. Pilihan untuk memilih komponen instalasi
terbatas dan tidak mungkin untuk memuat dan membongkar komponen utama secara dinamis. Karena semua keterbatasan Windows NT tidak suitabl e tertanam untuk aplikasi. Hal ini tidak sesuai
untuk aplikasi real time lainnya karena faktor sebagai berikut :
a) Terdapat hanya 7 tingkat prioritas & tidak ada mekanisme untuk menghindari prioritas inversi
b) Antrian dari benang menunggu di tiang sinyal diselenggarakan dalam rangka FIFO. Disini ada
tidak ada kaitan untuk prioritas, hampering respon kali tugas prioritas utama.
c) Walaupun ISR tanggapan yang cepat, yang Ditunda Prosedur Panggilan (dpc) adalah penanganan
masalah karena dikelola dalam urutan FIFO.
d) The thread beralih latency tinggi (~ 1,2 ms), yang tidak dapat diterima di banyak nyata --
waktu aplikasi.
Literatur
thns.tsinghua.edu.cn/jsj00004/Chap10.ppt
www.cs.york.ac.uk/rts/books/RTSbookThirdEdition/chap1.ppt
codex.cs.yale.edu/avi/os-book/os7/slide-dir/ch19.ppt
www.cse.iitd.ernet.in/~suban/csl373/rtos.ppt
www.cse.iitb.ac.in/~cs684/spring09slides/RealTime/rtos_comparison.ppt
ls12-www.cs.tu-dortmund.de/staff/marwedel/es-book/slides08/es-marw-4-rtos.ppt
www.cosc.brocku.ca/Offerings/3P95/local/rtos.ppt
cs.uni-salzburg.at/~ck/teaching/EECS290O-Spring-2001/alvin.ppt
cmpe.emu.edu.tr/chefranov/Cmpe443-RTS-09Spring/LectureNotes/Laplante-Ch3.ppt
www.vr.ncue.edu.tw/esa/EmbeddedSystemProgramming/ch06.ppt
deneb.cs.kent.edu/~mikhail/classes/es.u01/Realtime%20OS.ppt


