Loading...
Flash Player 9 (or above) is needed to view slideshows. We have detected that you do not have it on your computer.To install it, go here
Rtos Wimax OSS Workshop
477 views | comments | 1 favorites | 13 downloads | 2 embeds (Stats)
More Info
This slideshow is Public
Total Views: 477 on Slideshare: 450 from embeds: 27
Most viewed embeds (Top 5):
More
Slideshow Transcript
- Slide 1: WiMAX OSS
Real Time Operating System
(RTOS)
Sugeng Widodo
5 Desember 2007
- Slide 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
- Slide 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
- Slide 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
- Slide 5: Contoh Soft Real Time
Multimedia player
Video streaming
MAC upper layer
EML
Device driver
- Slide 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
- Slide 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.
- Slide 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.
- Slide 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 2
thread 3
- Slide 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.
- Slide 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
- Slide 12: Scheduling
Kernel berfungsi sebagai pengatur aktifitas
task/thread kapan berhenti kapan berjalan.
- Slide 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.
- Slide 14: Status Task/Thread
pending ready delayed
suspended
- Slide 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
- Slide 16: Round Robin Scheduling
Task/thread yang berstatus ready dengan
prioritas yang sama akan digilir waktu
eksekusinya sesuai dengan jatah waktu yang
diberikan
- Slide 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
- Slide 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
- Slide 19: Komunikasi antar task/thread
Kenyataannya antar task/thread tidaklah
independen
Sering antar task/thread harus berkomunikasi
untuk keperluan tukar-menukar data ataupun
sinkronisasi
- Slide 20: Semaphore
Digunakan untuk sinkronisasi apabila ada
beberapa task/thread ingin mengakses resource
yang sama
- Slide 21: Condition Variable
Digunakan apabila suatu task/thread menunggu
tanda dari task/thread yang lain sebelum
melanjutkan eksekusinya
- Slide 22: Mailbox
Digunakan oleh task/thread untuk bertukar data
dengan task/thread yang lain
- Slide 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
- Slide 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
- Slide 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
- Slide 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
- Slide 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
- Slide 28: eCOS
Merupakan singkatan dari embedded
Configurable Operating System
Keunggulan utamanya adalah kemudahan dalam
mengkonfigurasi dan ukuran yang kecil cocok
untuk aplikasi embedded.
- Slide 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
- Slide 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
- Slide 31: Lisensi eCOS
Modified GPL
Modifikasi kernel harus tetap dengan lisensi yang
sama
Memungkinkan aplikasi yang dilinking dengan
kernel mempunyai lisensi yang lain
- Slide 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