SlideShare a Scribd company logo
WiMAX OSS Real Time Operating System (RTOS) Sugeng Widodo 5 Desember 2007
Real Time System Kendala Waktu Sistem dikatakan benar bukan hanya memberi output yang benar saja tetapi memberi output yang benar dari dari suatu input pada saat yang tepat
Hard vs Soft Real Time Kebutuhan tingkat kecepatan respon suatu sistem Keterlambatan respon pada hard real time dapat berakibat bencana Keterlambatan pada soft real time hanya menurunkan kualitas
Contoh Hard Real Time Sistem kontrol pesawat tempur Sistem kontrol reaktor nuklir Sistem kontrol pacu jantung MAC lowest layer (Burst Generator) – tidak berakibat bencana tapi sistem tidak akan berjalan
Contoh Soft Real Time Multimedia player Video streaming MAC upper layer EML Device driver
Karakteristik Real Time System Embedded  : merupakan komponen dari sistem yang lebih besar Concurrent  : secara bersamaan mengontrol / bereaksi terhadap berbagai faktor yang melingkupinya Safety  : tidak hanya handal tapi juga aman, tidak menyebabkan kerusakan jika gagal Reaktif  : selalu beinteraksi dengan lingkungan dan bereaksi dengan benar
Real Time Operating System Tidak setiap Real Time System menggunakan RTOS RTOS sebenarnya adalah tools bagi developer untuk mempermudah membuat aplikasi untuk kebutuhan Real Time. Implementasi never-ending loop sering sudah cukup untuk mengimplementasikan Real Time System terutama bila bahasa assembler yang digunakan untuk pengembangan.
Multi tasking / threading Permasalah sistem real time biasanya terdiri dari  beberapa jenis pekerjaan yang kecil-kecil yang dapat berjalan secara independen. RTOS mempermudah pembuatan aplikasi real time dimana terdapat banyak jenis pekerjaan yang harus dilakukan.
Virtual paralel Karena processor yang digunakan hanya satu maka sebenarnya task-task tersebut tidak benar-benar berjalan secara paralel akan tetapi berjalan secara bergantian. thread 1 thread 3 thread 2
Hyperthread Beberapa prosesor yang modern sekarang mengenal konsep  hyperthread  dimana satu prosesor bisa menjalankan secara paralel lebih dari satu thread. Intel Pentium misal bisa dua thread, sementara UltraSPARC T2 bisa sampai 16 thread Architecture yang lain adalah  multi core  yang tentu saja dapat menjalankan lebih dari satu thread bersama-sama.
Re-entrant Karena ada banyak task/thread maka akan sering satu fungsi yang sama dipanggil oleh beberapa thread dalam waktu bersamaan. Fungsi-fungsi harus bersifat re-entrant atau boleh dipanggil ulang oleh thread lain walaupun fungsi tersebut belum selesai. Jangan menggunakan variable global di semua fungsi
Scheduling Kernel berfungsi sebagai pengatur aktifitas task/thread kapan berhenti kapan berjalan.
Scheduling Pre-emptive Kernel Kernel dapat menghentikan task/thread yang sedang berjalan terutama apabila ada task/thread dengan prioritas yang lebih tinggi. Non-pre-emptive Kernel Task/Thread harus menghentikan dirinya sendiri supaya dapat digantikan oleh task/thread lain.
Status Task/Thread pending suspended ready delayed
Priority Scheduling Task berstatus ready dengan prioritas paling tinggi yang akan dijalankan Task yang bersifat a-periodik biasanya mendapat proritas lebih tinggi dari yang periodik Semakin tinggi prioritas sedapat mungkin waktu eksekusinya semakin pendek Semakin tinggi prioritas sebaiknya semakin sering melakukan voluntary suspended/delayed
Round Robin Scheduling Task/thread yang berstatus ready dengan prioritas yang sama akan digilir waktu eksekusinya sesuai dengan jatah waktu yang diberikan
Penanganan Interrupt Biasanya dibagi dua bagian : lower-half dan upper-half lower-half  : non pre-emptive, interrupt status clearing, aktifasi upper-half, secepat mungkin upper-half  : pre-emptive, pengambilan dan pengolahan data, prioritas tergantung sifat data
Tick Unit waktu yang digunakan kernel untuk berpindah dari satu task/thread ke task/thread yang lain Linux mempunyai tick dengan resolusi 10ms , RTOS biasanya mempunyai resolusi yang lebih halus
Komunikasi antar task/thread Kenyataannya antar task/thread tidaklah independen Sering antar task/thread harus berkomunikasi untuk keperluan tukar-menukar data ataupun sinkronisasi
Semaphore Digunakan untuk sinkronisasi apabila ada beberapa task/thread ingin mengakses resource yang sama
Condition Variable Digunakan apabila suatu task/thread menunggu tanda dari task/thread yang lain sebelum melanjutkan eksekusinya
Mailbox Digunakan oleh task/thread untuk bertukar data dengan task/thread yang lain
Biasanya penggunakan semaphore, condition variable dan pembacaan mailbox membuat perubahan status thread dari ready menjadi pending/delayed sehingga posisinya bisa digantikan thread lain yang sudah ready
Sleep Cara lain bagi thread untuk berubah status dari ready ke delayed adalah dengan sleep selama waktu tertentu. Cara ini biasa digunakan oleh thread-thread dengan prioritas tinggi untuk memberi kesempatan kepada thread dengan prioritas lebih rendah untuk dieksekusi
Linux Kernel linux yang asli adalah non pre-emptive Resolusi tick linux adalah 10ms Sebagian besar driver dalam linux tidak mendukung sistem real time
LinuxRT Merupakan patching untuk kernel linux Membuat kernel linux menjadi pre-emptive Membuat resolusi tick yang lebih halus Aplikasi real time merupakan proses dalam linux
Linux RTAI Membuat kernel real time dibawah Linux Kernel Linux menjadi salah satu process/task dari kernel RTAI dengan prioritas rendah Aplikasi realtime bukan merupakan proses dalam linux
eCOS Merupakan singkatan dari embedded Configurable Operating System Keunggulan utamanya adalah kemudahan dalam mengkonfigurasi dan ukuran yang kecil cocok untuk aplikasi embedded.
eCOS Mempunyai fitur untuk kebutuhan Real Time System seperti : pre-emptive kernel, priority dan round roubin schebuling, tick yang halus dan mudah di konfigurasi, device driver yang mendukung real time dan lengkap
Komponen eCOS HAL : hardware abstraction layer , hardware dependent , memudahkan porting Device Driver : hardware dependent Kernel : Hardware Independent , Highly configurable C Library : standard C , re-entrant GDB : memudahkan debuging
Lisensi eCOS Modified GPL Modifikasi kernel harus tetap dengan lisensi yang sama Memungkinkan aplikasi yang dilinking dengan kernel mempunyai lisensi yang lain
Menggunakan eCOS Mengkonfigurasi kernel sesuai kebutuhan Mengkompilasi kernel menjadi library Membuat code aplikasi Mengkompilasi aplikasi Melingking aplikasi dengan kernel meng-upload aplikasi ke device

More Related Content

PPTX
tugas kelompok
PDF
Modul SO : Threads
PPTX
Bab 4
PPT
Implementasi RTOS (Femto OS) pada Mikrokontroller Seri ATMega32
PDF
5 penjadwalan aplod
PDF
7. Algoritma Scheduling
PDF
Modul SO : Pengenalan Sistem Operasi
PPTX
42519051 Bab V Penjadwalan CPU
tugas kelompok
Modul SO : Threads
Bab 4
Implementasi RTOS (Femto OS) pada Mikrokontroller Seri ATMega32
5 penjadwalan aplod
7. Algoritma Scheduling
Modul SO : Pengenalan Sistem Operasi
42519051 Bab V Penjadwalan CPU

What's hot (9)

PPTX
5.penjadwalan proses
PPT
Kelompok 5 cpu schedule
ODT
catata server
PPT
Pti mtr03
PPTX
Dasar Virtualisasi
PPTX
Presentasi komputasi Pararel dan Terdistribusi
PPTX
Multiprocessor scheduling
PDF
02 pengenalan sistem operasi
PPTX
Pertemuan 9 pipelining
5.penjadwalan proses
Kelompok 5 cpu schedule
catata server
Pti mtr03
Dasar Virtualisasi
Presentasi komputasi Pararel dan Terdistribusi
Multiprocessor scheduling
02 pengenalan sistem operasi
Pertemuan 9 pipelining
Ad

Similar to Rtos Wimax OSS Workshop (20)

PPT
dokumen.tech_sistem-operasi-terdistribusi.ppt
PPT
Sistem operasi terdistribusi
PDF
MultiProgramming and Time Sharing
PDF
Sistem operasi pertemuan 10
DOCX
Operasi Jaringan
PPT
Pengantar Sistem Operasi
PPTX
1.pendahuluan
PDF
PPTX
Operating system
DOCX
Sistem operasi
DOCX
Sistem operasi
PPTX
THREAD SO KELOMPOK 5.pptx
PPTX
Kelompok10_Operating System Categories_SistemOperasi.pptx
PPTX
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptx
DOC
Manajemen jaringan server c kelompok 4-artayahonest
PPTX
Pengantar Sistem Operasi - Pendahln.pptx
PPT
Gamb umum so
PPT
Gamb umum so
PPT
08. 01.perangkat lunak sistem fix sti
dokumen.tech_sistem-operasi-terdistribusi.ppt
Sistem operasi terdistribusi
MultiProgramming and Time Sharing
Sistem operasi pertemuan 10
Operasi Jaringan
Pengantar Sistem Operasi
1.pendahuluan
Operating system
Sistem operasi
Sistem operasi
THREAD SO KELOMPOK 5.pptx
Kelompok10_Operating System Categories_SistemOperasi.pptx
Sistem_Operasi_Informatika_Thread_Kelompok B2.pptx
Manajemen jaringan server c kelompok 4-artayahonest
Pengantar Sistem Operasi - Pendahln.pptx
Gamb umum so
Gamb umum so
08. 01.perangkat lunak sistem fix sti
Ad

Rtos Wimax OSS Workshop

  • 1. WiMAX OSS Real Time Operating System (RTOS) Sugeng Widodo 5 Desember 2007
  • 2. Real Time System Kendala Waktu Sistem dikatakan benar bukan hanya memberi output yang benar saja tetapi memberi output yang benar dari dari suatu input pada saat yang tepat
  • 3. Hard vs Soft Real Time Kebutuhan tingkat kecepatan respon suatu sistem Keterlambatan respon pada hard real time dapat berakibat bencana Keterlambatan pada soft real time hanya menurunkan kualitas
  • 4. Contoh Hard Real Time Sistem kontrol pesawat tempur Sistem kontrol reaktor nuklir Sistem kontrol pacu jantung MAC lowest layer (Burst Generator) – tidak berakibat bencana tapi sistem tidak akan berjalan
  • 5. Contoh Soft Real Time Multimedia player Video streaming MAC upper layer EML Device driver
  • 6. Karakteristik Real Time System Embedded : merupakan komponen dari sistem yang lebih besar Concurrent : secara bersamaan mengontrol / bereaksi terhadap berbagai faktor yang melingkupinya Safety : tidak hanya handal tapi juga aman, tidak menyebabkan kerusakan jika gagal Reaktif : selalu beinteraksi dengan lingkungan dan bereaksi dengan benar
  • 7. Real Time Operating System Tidak setiap Real Time System menggunakan RTOS RTOS sebenarnya adalah tools bagi developer untuk mempermudah membuat aplikasi untuk kebutuhan Real Time. Implementasi never-ending loop sering sudah cukup untuk mengimplementasikan Real Time System terutama bila bahasa assembler yang digunakan untuk pengembangan.
  • 8. Multi tasking / threading Permasalah sistem real time biasanya terdiri dari beberapa jenis pekerjaan yang kecil-kecil yang dapat berjalan secara independen. RTOS mempermudah pembuatan aplikasi real time dimana terdapat banyak jenis pekerjaan yang harus dilakukan.
  • 9. Virtual paralel Karena processor yang digunakan hanya satu maka sebenarnya task-task tersebut tidak benar-benar berjalan secara paralel akan tetapi berjalan secara bergantian. thread 1 thread 3 thread 2
  • 10. Hyperthread Beberapa prosesor yang modern sekarang mengenal konsep hyperthread dimana satu prosesor bisa menjalankan secara paralel lebih dari satu thread. Intel Pentium misal bisa dua thread, sementara UltraSPARC T2 bisa sampai 16 thread Architecture yang lain adalah multi core yang tentu saja dapat menjalankan lebih dari satu thread bersama-sama.
  • 11. Re-entrant Karena ada banyak task/thread maka akan sering satu fungsi yang sama dipanggil oleh beberapa thread dalam waktu bersamaan. Fungsi-fungsi harus bersifat re-entrant atau boleh dipanggil ulang oleh thread lain walaupun fungsi tersebut belum selesai. Jangan menggunakan variable global di semua fungsi
  • 12. Scheduling Kernel berfungsi sebagai pengatur aktifitas task/thread kapan berhenti kapan berjalan.
  • 13. Scheduling Pre-emptive Kernel Kernel dapat menghentikan task/thread yang sedang berjalan terutama apabila ada task/thread dengan prioritas yang lebih tinggi. Non-pre-emptive Kernel Task/Thread harus menghentikan dirinya sendiri supaya dapat digantikan oleh task/thread lain.
  • 14. Status Task/Thread pending suspended ready delayed
  • 15. Priority Scheduling Task berstatus ready dengan prioritas paling tinggi yang akan dijalankan Task yang bersifat a-periodik biasanya mendapat proritas lebih tinggi dari yang periodik Semakin tinggi prioritas sedapat mungkin waktu eksekusinya semakin pendek Semakin tinggi prioritas sebaiknya semakin sering melakukan voluntary suspended/delayed
  • 16. Round Robin Scheduling Task/thread yang berstatus ready dengan prioritas yang sama akan digilir waktu eksekusinya sesuai dengan jatah waktu yang diberikan
  • 17. Penanganan Interrupt Biasanya dibagi dua bagian : lower-half dan upper-half lower-half : non pre-emptive, interrupt status clearing, aktifasi upper-half, secepat mungkin upper-half : pre-emptive, pengambilan dan pengolahan data, prioritas tergantung sifat data
  • 18. Tick Unit waktu yang digunakan kernel untuk berpindah dari satu task/thread ke task/thread yang lain Linux mempunyai tick dengan resolusi 10ms , RTOS biasanya mempunyai resolusi yang lebih halus
  • 19. Komunikasi antar task/thread Kenyataannya antar task/thread tidaklah independen Sering antar task/thread harus berkomunikasi untuk keperluan tukar-menukar data ataupun sinkronisasi
  • 20. Semaphore Digunakan untuk sinkronisasi apabila ada beberapa task/thread ingin mengakses resource yang sama
  • 21. Condition Variable Digunakan apabila suatu task/thread menunggu tanda dari task/thread yang lain sebelum melanjutkan eksekusinya
  • 22. Mailbox Digunakan oleh task/thread untuk bertukar data dengan task/thread yang lain
  • 23. Biasanya penggunakan semaphore, condition variable dan pembacaan mailbox membuat perubahan status thread dari ready menjadi pending/delayed sehingga posisinya bisa digantikan thread lain yang sudah ready
  • 24. Sleep Cara lain bagi thread untuk berubah status dari ready ke delayed adalah dengan sleep selama waktu tertentu. Cara ini biasa digunakan oleh thread-thread dengan prioritas tinggi untuk memberi kesempatan kepada thread dengan prioritas lebih rendah untuk dieksekusi
  • 25. Linux Kernel linux yang asli adalah non pre-emptive Resolusi tick linux adalah 10ms Sebagian besar driver dalam linux tidak mendukung sistem real time
  • 26. LinuxRT Merupakan patching untuk kernel linux Membuat kernel linux menjadi pre-emptive Membuat resolusi tick yang lebih halus Aplikasi real time merupakan proses dalam linux
  • 27. Linux RTAI Membuat kernel real time dibawah Linux Kernel Linux menjadi salah satu process/task dari kernel RTAI dengan prioritas rendah Aplikasi realtime bukan merupakan proses dalam linux
  • 28. eCOS Merupakan singkatan dari embedded Configurable Operating System Keunggulan utamanya adalah kemudahan dalam mengkonfigurasi dan ukuran yang kecil cocok untuk aplikasi embedded.
  • 29. eCOS Mempunyai fitur untuk kebutuhan Real Time System seperti : pre-emptive kernel, priority dan round roubin schebuling, tick yang halus dan mudah di konfigurasi, device driver yang mendukung real time dan lengkap
  • 30. Komponen eCOS HAL : hardware abstraction layer , hardware dependent , memudahkan porting Device Driver : hardware dependent Kernel : Hardware Independent , Highly configurable C Library : standard C , re-entrant GDB : memudahkan debuging
  • 31. Lisensi eCOS Modified GPL Modifikasi kernel harus tetap dengan lisensi yang sama Memungkinkan aplikasi yang dilinking dengan kernel mempunyai lisensi yang lain
  • 32. Menggunakan eCOS Mengkonfigurasi kernel sesuai kebutuhan Mengkompilasi kernel menjadi library Membuat code aplikasi Mengkompilasi aplikasi Melingking aplikasi dengan kernel meng-upload aplikasi ke device