Anda di halaman 1dari 34

Real-Time Operating

System
DENNY H.T. NUGROHO, M.T.
WEEK 6
Definisi RTOS

• RTOS adalah sistem operasi (OS) yang dimaksudkan untuk


melayani aplikasi real-time dan memproses data masuk,
biasanya hampir tanpa delay.
• Proses  sepersepuluh detik atau lebih singkat.
 memiliki batasan waktu tetap yang jelas.
 sistem akan gagal.
• Sebagian besar RTOS menggunakan algoritma penjadwalan
pre-emptive.
Definisi RTOS

• Karakteristik utama dari RTOS  waktu yang diperlukan


untuk menerima dan menyelesaikan tugas; variabilitasnya
adalah 'jitter'.
• RTOS dinilai lebih dalam hal seberapa cepat atau seberapa
dapat diprediksi untuk merespon jumlah pekerjaan yang
dapat dilakukannya dalam periode waktu.
Filosofi desain RTOS

1. Event-driven – beralih tugas hanya ketika suatu event


dengan prioritas lebih tinggi perlu diservis; disebut
preemptive priority, atau penjadwalan prioritas.
2. Time-sharing – beralih tugas pada interupsi yang teratur,
dan pada event; disebut round robin.
Desain time sharing mengubah tugas lebih sering daripada
yang dibutuhkan, tetapi memberikan multitasking yang lebih
lancer.
Komponen RTOS
• The Scheduler: Komponen RTOS ini memberi tahu bahwa
dalam urutan mana, tugas dapat dijalankan yang umumnya
didasarkan pada prioritas.
•Symmetric Multiprocessing (SMP): sejumlah tugas berbeda
dapat ditangani oleh RTOS sehingga pemrosesan paralel
dapat dilakukan.
•Function Library: bertindak sebagai antarmuka yang
membantu untuk menghubungkan kernel dan kode aplikasi.
Aplikasi ini memungkinkan untuk mengirim permintaan ke
Kernel menggunakan library fungsi sehingga aplikasi dapat
memberikan hasil yang diinginkan.
Komponen RTOS

• Memory Management: elemen ini diperlukan dalam


sistem untuk mengalokasikan memori ke setiap program,
yang merupakan elemen paling penting dari RTOS.
•Fast dispatch latency: interval antara penghentian tugas
yang dapat diidentifikasi oleh OS dan waktu aktual yang
diambil oleh thread/task, dimana ada dalam antrian siap,
yang telah mulai diproses.
•User-defined data objects and classes: Sistem RTOS
memanfaatkan bahasa pemrograman seperti C atau C ++,
yang harus diatur sesuai dengan operasinya.
Komponen RTOS
Tipe RTOS

1. Hard Real Time :


Dalam Hard RTOS, batas waktu ditangani dengan sangat
ketat yang berarti bahwa tugas yang diberikan harus mulai
dieksekusi pada waktu yang dijadwalkan, dan harus
diselesaikan dalam durasi waktu yang ditentukan.

Example: Medical critical care system, Aircraft systems


Tipe RTOS

2. Firm Real time:


Jenis RTOS ini juga harus mengikuti tenggat waktu. Namun,
melewatkan tenggat waktu mungkin tidak berdampak
besar tetapi dapat menyebabkan dampak yang tidak
diinginkan, seperti penurunan besar dalam kualitas suatu
produk.

Example: Various types of Multimedia applications.


Tipe RTOS

3. Soft Real Time:


Soft Real time RTOS, menerima beberapa penundaan oleh
sistem Operasi. Dalam jenis RTOS ini, ada deadline yang
ditetapkan untuk pekerjaan tertentu, tetapi penundaan
untuk sejumlah kecil waktu dapat diterima. Jadi, deadline
ditangani dengan halus oleh jenis RTOS ini.
Example: Online Transaction system and Livestock price
quotation System.
Terms used in RTOS

o Task – Serangkaian tugas yang secara bersama-sama dapat


menyediakan beberapa fungsionalitas sistem.
oJob – adalah pekerjaan kecil yang dapat ditugaskan ke
prosesor, dan yang mungkin atau mungkin tidak
memerlukan sumber daya.
oRelease time of a job – waktu di mana pekerjaan menjadi
siap untuk dieksekusi.
oExecution time of a job: waktu pekerjaaan menyelesaikan
eksekusi.
Terms used in RTOS

o Deadline of a job: batas waktu pekerjaan menyelesaikan


eksekusi tugasnya.
oProcessors: dikenal sebagai sumber daya aktif. Prosesor
penting untuk pelaksanaan suatu pekerjaan.
oResponse time of a job: adalah lama waktu dari waktu rilis
pekerjaan ketika selesai.
oAbsolute deadline: adalah tenggat waktu relatif, yang juga
termasuk waktu rilisnya.
Difference between in GPOS and RTOS
Applications of Real Time Operating System

• Airlines reservation system.


•Air traffic control system.
•Systems that provide immediate updating.
•Used in any system that provides up to date and minute
information on stock prices.
•Defense application systems like RADAR.
Applications of Real Time Operating System

•Networked Multimedia Systems


•Command Control Systems
•Internet Telephony
•Anti-lock Brake Systems
•Heart Pacemaker
Real Time Operating System

•FreeRTOS

•Micrium
FreeRTOS
Definisi FreeRTOS

•FreeRTOS adalah RTOS yang dirancang cukup kecil untuk


dijalankan pada mikrokontroler - meskipun penggunaannya
tidak terbatas pada aplikasi mikrokontroler.
•FreeRTOS menyediakan fungsionalitas scheduling waktu
nyata, komunikasi antar-tugas, waktu dan sinkronisasi
primer.
•Fungsionalitas tambahan, seperti antarmuka perintah
konsol, atau jaringan, atau dapat dimasukkan dengan
komponen tambahan.
Dasar FreeRTOS

oMultitasking
oScheduling
oContext Switching
oReal Time Applications
oReal Time Scheduling
Multitasking

Kernel adalah komponen inti dalam sistem operasi.


Beberapa pengguna dapat menjalankan beberapa program secara
bersamaan.
Setiap program yang menjalankan task/thread di bawah kendali
sistem operasi. Jika suatu sistem operasi dapat menjalankan
banyak tugas dengan cara ini dikatakan multitasking.
Prosesor konvensional hanya dapat menjalankan satu tugas pada
satu waktu - tetapi dengan beralih antar tugas dengan cepat,
sistem operasi multitasking dapat membuatnya tampak seolah-
olah setiap tugas dijalankan secara bersamaan.
Multitasking
Scheduling

Penjadwal adalah bagian dari kernel yang bertanggung


jawab untuk memutuskan tugas mana yang harus dieksekusi
pada waktu tertentu. Kernel dapat menunda dan kemudian
melanjutkan tugas beberapa kali selama masa tugas.

Kebijakan penjadwalan adalah algoritma yang digunakan


oleh penjadwal untuk memutuskan tugas mana yang akan
dieksekusi pada titik waktu tertentu.
Scheduling
Scheduling
At (1) task 1 is executing.
At (2) the kernel suspends (swaps out) task 1 …
… and at (3) resumes task 2.
While task 2 is executing (4), it locks a processor peripheral for its own exclusive access.
At (5) the kernel suspends task 2 …
… and at (6) resumes task 3.
Task 3 tries to access the same processor peripheral, finding it locked task 3 cannot continue so suspends
itself at (7).
At (8) the kernel resumes task 1.
Etc.
The next time task 2 is executing (9) it finishes with the processor peripheral and unlocks it.
The next time task 3 is executing (10) it finds it can now access the processor peripheral and this time
executes until suspended by the kernel.
Context Switching

• Ketika sebuah tugas/task dijalankan, akan menggunakan


register prosesor / mikrokontroler dan mengakses RAM dan
ROM sama seperti program lainnya.
•Suatu tugas/task adalah potongan kode yang berurutan –
tugas/task tidak tahu kapan akan ditangguhkan (ditukar
atau dimatikan) atau dilanjutkan oleh kernel dan bahkan
tidak tahu kapan ini terjadi.
•Sementara tugas ditangguhkan, tugas lain akan dijalankan
dan dapat memodifikasi nilai register prosesor.
Context Switching

•Setelah dilanjutkan, tugas/task tidak akan tahu bahwa


register prosesor telah diubah - jika menggunakan nilai yang
diubah, penjumlahan akan menghasilkan nilai yang salah.
•Proses menyimpan konteks tugas/tugas yang sedang
ditangguhkan dan memulihkan konteks tugas yang
dilanjutkan disebut pengalihan konteks/Context Switching.
Context Switching
Real Time Applications
•Real time / embedded systems dirancang untuk
memberikan respons tepat waktu terhadap peristiwa dunia
nyata.
•Peristiwa yang terjadi di dunia nyata memiliki tenggat waktu
sebelum itu RTOS harus merespons dan penjadwalan RTOS
harus memastikan tenggat waktu ini dipenuhi.
•Untuk mencapai tujuan ini, programmer terlebih dahulu
harus menetapkan prioritas untuk setiap tugas.
•Kebijakan penjadwalan RTOS kemudian hanya memastikan
bahwa tugas dengan prioritas tertinggi yang dapat
dieksekusi dan tugas yang diberikan waktu pemrosesan.
Real Time Applications

o Contoh paling mendasar adalah sistem Real-Time yang


menggabungkan keypad dan LCD.
oUser harus mendapatkan umpan balik visual dari setiap
penekanan tombol dalam periode yang wajar
ojika pengguna tidak dapat melihat bahwa penekanan tombol
telah diterima dalam periode ini, produk perangkat lunak akan
aneh untuk digunakan.
o jika periode yang dapat diterima 10ms, maka respon antara 0-
100ms dapat diterima .
Real Time Scheduling
Real Time Scheduling
1. At the start neither of our two tasks are able to run –
vControlTask is waiting for the correct time to start a new
control cycle and vKeyHandlerTask is waiting for a key to
be pressed. Processor time is given to the RTOS idle task.
2. At time t1, a key press occurs. vKeyHandlerTask is now
able to execute – it has a higher priority than the RTOS
idle task so is given processor time.
3. At time t2 vKeyHandlerTask has completed processing
the key and updating the LCD. It cannot continue until
another key has been pressed so suspends itself and the
RTOS idle task is again resumed.
Real Time Scheduling
4. At time t3 a timer event indicates that it is time to perform
the next control cycle. vControlTask can now execute and
as the highest priority task is scheduled processor time
immediately.
5. Between time t3 and t4, while vControlTask is still
executing, a key press occurs. vKeyHandlerTask is now able
to execute, but as it has a lower priority than vControlTask
it is not scheduled any processor time.
6. At t4 vControlTask completes processing the control cycle
and cannot restart until the next timer event – it suspends
itself. vKeyHandlerTask is now the task with the highest
priority that is able to run so is scheduled processor time
in order to process the previous key press.
Real Time Scheduling

7. At t5 the key press has been processed, and vKeyHandlerTask


suspends itself to wait for the next key event. Again neither of our
tasks are able to execute and the RTOS idle task is scheduled
processor time.
8. Between t5 and t6 a timer event is processed, but no further key
presses occur.
9. The next key press occurs at time t6, but before vKeyHandlerTask
has completed processing the key a timer event occurs. Now both
tasks are able to execute. As vControlTask has the higher priority
vKeyHandlerTask is suspended before it has completed processing
the key, and vControlTask is scheduled processor time.
10. At t8 vControlTask completes processing the control cycle and
suspends itself to wait for the next. vKeyHandlerTask is again the
highest priority task that is able to run so is scheduled processor
time so the key press processing can be completed.
Sekian..

Anda mungkin juga menyukai