Anda di halaman 1dari 5

Arsitektur Real-Time Operating System

(RTOS) Pada Embedded System


Pembahasan tentang Arsitektur RTOS pada Embedded System

Samuel Linggom P P
S1 Teknik Informatika
Universitas Telkom
Bandung, Indonesia
unyuunyuiflab@gmail.com

Abstrak—Embedded System (Sistem Tertanam) adalah suatu multimedia hingga simulasi. Embedded System hanya mampu
sistem komputer yang didesain untuk menangani pekerjaan atau melakukan suatu mekanisme untuk tujuan tertentu sesuai
tujuan spesifik. Secara garis besar mirip dengan Operating dengan kemampuan perangkat dimana Embedded System itu
System yang ada pada PC. Real-Time Operating System (RTOS) terinstall.
adalah sistem operasi yang multitasking yang ditujukan untuk
aplikasi yang real time. RTOS juga dapat diartikan sebagai
Perbedaan embedded system yang paling membedakan dari
Program yang menjadwalkan semua eksekusi atau pekerjaan
yang sangat teratur, mengatur semua resource dari sistem, dan sistem yang lain adalah embedded system terkoneksi langsung
menyediakan dasar yang konsisten untuk mengembangkan kode kepada lingkungan fisik melalui sensor dan aktuator. Selain itu
aplikasi diatasnya. RTOS (Real-Time Operating System) sendiri embedded system harus bersifat real-time, dimana embedded
memiliki arsitektur kernel tersendiri dimana tipe kernel yang ada system harus selalu dapat menanggapi informasi yang diterima
adalah microkernel , monolithic kernel ,exokernel. Semua kernel ini dari sensor dan aktuator yang terhubung kepada embedded
dapat diterapkan dalam Embedded System sesuai dengan system tersebut dalam suatu interval waktu yang ditetapkan[2].
kebutuhan dan keperluan pembuat suatu Embedded System, Jika sistem tidak berjalan secara real-time maka embedded
dimana setiap kernel memiliki kelebihan dan kekurangan masing- system tersebut tidak dapat digunakan atau tidak dapat
masing. dikategorikan sebagai sebuah embedded system.
Kata Kunci—embedded system; real-time operating
Embedded system bersifat real-time membuat
system (rtos); monolithic; microkernel; exokernel
embedded system diharuskan memiliki suatu sistem operasi
yang berbeda dari sistem komputer yang pada umumnya. Hal
Abstract—Embedded System (Embedded System) is a ini mendasari adanya sistem operasi yang berbeda dalam
computer system that designed for handle task or specific goal. embedded system yang dapat mendukung syarat embedded
The outline is same with Operating System on PC. Real-Time system dimana harus bersifat real-time, sistem operasi yang
Operating System (RTOS) is multi-tasking operating system that bersifat realtime yang digunakan dalam embedded system
use for real-time application. RTOS also can be interpreted as disebut dengan RTOS (Real-Time Operating System). RTOS
Program that schedule all execution or higly organized task, (Real-Time Operating System) merupakan suatu perangkat
manage all resource from the system, and provides consistent basis lunak yang ditanamkan pada embedded system yang bertugas
for developing application code on it. RTOS (Real-Time Operating melakukan supervise terhadap perangkat lunak yang ingin
System) also have its kernel architecture and the type that kernel dijalankan dalam suatu embedded system dan mengorganisasi
is microkernel, monolithic kernel, exokernel. All of this kernel can
akses sumber daya sistem dari embedded system tersebut.Real-
be apply for Embedded System based on the needs and
requirement that make that Embedded System, whereas all of this time Operating System (RTOS) tentu saja memiliki perbedaan
kernel have its advantages and disadvantages of each. arsitektur dengan sistem operasi pada umumnya dikarenakan
Keywords—embedded system; real-time operating system (rtos); kebutuhan dan kemampuan real-time, pada paper ini akan
monolithic; microkernel; exokernel menjelaskan Real-Time Operating System (RTOS) dan apa saja
yang membedakan Real-Time Operating System (RTOS) dari
I. PENDAHULUAN sistem operasi biasa baik secara keseluruhan ataupun secara
arsitektur. Dengan mengetahui arsitektur dari RTOS (Real-
Embedded System (System Tertanam) adalah suatu sistem Time Operating System) kita dapat mendapatkan gambaran
komputer yang didesain untuk menangani pekerjaan atau tujuan tentang bagaimana RTOS (Real-Time Operating System)
spesifik. Secara garis besar mirip dengan Operating System sebenarnya bekerja dan keunggulan yang dimiliki oleh RTOS
yang ada pada PC, Embedded System yang terdapat dalam suatu (Real-Time Operating System) dapat diketahui denganmelihat
perangkat juga mengatur perilaku/fungsi dari Hardware arsitektur dari RTOS (Real-Time Operating System).
tersebut. Namun, embedded system tidak bisa melakukan hal-
hal yang umum seperti main game, mengedit data, memutar file
II. TINJAUAN PUSTAKA misalnya untuk menjaga kestabilannya atau
menangani serangan tertentu seperti virus, dalam
II.1 Embedded System embedded system tertentu hal tersebut mungkin tidak
dapat diterima. Embedded system harus selalu stabil,
termasuk dalam gangguan oleh serangan. Harus
diperhatikan bagaimana jika suatu real-time system
mengalami serangan Denial of Service (DoS) yang
membuatnya menjadi lambat sehingga batas waktunya
tidak lagi terpenuhi.
c) Constraint energy banyak embedded system yang
mengambil daya dari baterai. Hal ini berarti
munculnya satu titik serangan baru pada embedded
system, yaitu power supply.. Elektronika Masih
berhubungan dengan yang terakhir, karena embedded
system merupakan sistem yang sangat erat dengan
elektronika, maka serangan-serangan atau gangguan
Gambar 2.1 Embedded System. juga mungkin dilakukan secara elektrik, misalnya
analisis dengan multimeter, logic analyzer, dan
Embedded system adalah sebuah sistem komputer yang sebagainya. Walaupun sistem komputer lain pada
didesain untuk melakukan suatu pekerjaan khusus. Embedded dasarnya juga merupakan alat elektronik, tetapi
system biasanya merupakan bagian dari perangkat yang lebih kemungkinan hal ini dilakukan lebih tinggi untuk
besar yang didalamnya terdapat hardware dan peralatan embedded system.
mekanik. Tidak seperti sistem komputer yang di bangun di PC, d) Interaksi langsung dengan dunia nyata banyak
embedded system relatif lebih cepat dalam runtime bahkan embedded system, umumnya embedded control
seringkali real time karena embedded system dibangun dengan application, harus berhubungan langsung dengan
bahasa pemrograman yang lebih dekat atau dikenali oleh dunia nyata. Akibatnya adalah kesalahan suatu
hardware. Embedded System memiliki tiga komponen Utama gangguan bisa berakibat lebih fatal dibandingkan
yaitu : sistem komputer yang biasa. Jika misalnya suatu
a) Software yang disimpan pada Read Only Memory untuk komputer server yang menyimpan database
menjalankan fungsionalitas yang diitujukan pada suatu mengalami gangguan, paling parah yang terjadi adalah
embedded system dan ditulis dalam bahasa yang lebih kehilangan data, dan apabila database tersebut di-
dekat atau dikenali oleh hardware, misalnya Assembly, backup secara berkala maka kerugiannya lebih kecil
C, C++, Java dll. lagi. Hal ini akan sangat berbeda jika misalnya sistem
b) Hardware untuk menjalankan fungsionalitas yang kontrol dalam suatu pabrik kimia mengalami
ditujukan terhadap Embbeded system contohnya power gangguan dan melakukan kesalahan.
supply, prossesor, memory,timers, dll.
c) RTOS (Real Time Operating System) membawahi Ciri-ciri embedded system adalah antara lain :
software dan menyediakan mekanisme prosesor agar a) Mempunyai computing power. Dengan kata lain
dapat menjalankan proses sesuai jadwal dan melakukan dilengkapi dengan sebuah processor.
switching dari satu proses keproses lain. Contoh RTOS: b) Bekerja di lingkungan luar ruangan IT. Jadi
OS9, RTLinux, Symbian. kemungkinan besar tidak dilengkapi dengan AC dan
menghadapi gangguan dari luar seperti getaran dan
Aspek-aspek yang membedakan Embedded System dari debu.
sistem lain : c) Memiliki tugas yang spesifik. Beda dengan PC atau
a) Biaya (Cost) merupakan aspek yang dapat dikatakan Server yang relatif lebih multi purpose.
paling penting karena sangat mempengaruhi desain
suatu embedded system secara keseluruhan. Dalam Karakteristik Embedded System adalah antara lain :
membuat suatu embedded system, biasanya dipilih a) Harus Efisien.
komponen-komponen secara optimal, yaitu yang b) Didedikasikan untuk suatu aplikasi tertentu.
memungkinkan implementasi sistem tersebut tetapi c) Bersifat Realtime.
dengan biaya yang serendah-rendahnya. d) Terkoneksi pada lingkungan fisik.
b) Constraint Waktu tidak sedikit embedded system yang
sekaligus merupakan real-time system, yaitu sistem
yang prosesnya terbatasi oleh batas waktu. Sistem- II.2 RTOS (Real- time operating system)
sistem ini umumnya merupakan sistem yang Real-Time Operating System (RTOS) adalah sistem operasi
digunakan untuk keperluan yang kritikal, dan harus yang multitasking yang ditujukan untuk aplikasi yang real time.
selalu aktif. Dengan demikian tidak seperti system RTOS juga dapat diartikan sebagai Program yang
komputer desktop yang dapat dilakukan reboot, menjadwalkan semua eksekusi atau pekerjaan yang sangat
teratur, mengatur semua resource dari sistem, dan
menyediakan dasar yang konsisten untuk
mengembangkan kode aplikasi diatasnya. RTOS
(Real-Time Operating System) tidak hanya melakukan
tugas tugas diatas namun RTOS (Real-Time Operating
System) juga di desain secara khusus untuk
menjalankan aplikasi dengan timing yang sangat
akurat dan dengan tingkat reliability yang tinggi.

Real Time yang dimaksud adalah dimana sistem tidak lagi


mengatur domain waktunya sendiri. Namun yang
mempengaruhi bagai mana waktu berjalan dalam system
tersebut adalah waktu lingkungan nyata. Lingkungan waktu
nyata yang dimaksud disini dapat berupa suatu waktu yang ada
Gambar 3.1 Device driver pada RTOS.
secara nyata maupun suatu waktu yang secara buatan dihasilkan
oleh suatu lingkungan yang mengelilingi system tersebut.
Arsitektur dari suatu RTOS (Real-Time Operating
System) bergantung pada kompleksitas dari penerapan
RTOS (Real-Time Operating System) seperti yang telah
embedded system tersebut. Untuk aplikasi yang sederhana bisa
disebutkan diatas berbeda dari OS pada umumnya, hal yang
saja hanya terdiri dari suatu kernel dan untuk embedded system
membuat RTOS (Real-Time Operating System) berbeda yaitu,
yang lebih kompleks dapat memiliki beberapa modul.
RTOS akan memberikan jaminan bahwa deadline waktu
eksekusi suatu waktu akan terpenuhi, RTOS akan memberikan
Dalam suatu sistem operasi, kernel merupakan bagian
algoritma scheduling, RTOS mementingkan prediktabilitas
inti sebuah sistem operasi yang menjadikan OS (Operating
dibandingkan throughput.
System) dapat menjalankan fungsinya dengan baik, didalam
RTOS (Real-time Operating System) terdapat berbagai macam
RTOS (Real-Time Operating System) dalam menjalankan
kernel antara lain adalah:
fungsinya sebagai suatu OS (Operating System) yang bersifat
real-time terbagi menjadi dua jenis yaitu:
a) Micro Kernel
a) Soft real-time: dimana masih ada sedikit toleransi
Microkernel adalah inti (kernel) dari operating system
untuk keterlambatan waktu proses, dimana
yang paling sederhana, tidak ada fasilitas apapun,
keterlambatan tidak menyebabkan system failure.
menjadikannya kernel ini berukuran sangat kecil dan
b) Hard real-time: dimana tidak ada toleransi sama sekali
biasanya sangat stabil (hampir bisa dipastikan tidak
untuk keterlambatan waktu proses, dimana
ada lagi bug-nya). Microkernel hanya menjalankan
keterlambatan dapat menyebabkan system failure.
proses komunikasi dasar (messaging) dan control I/O.
Microkernel biasanya hanya menyediakan services
Requirements yang membuat RTOS (Real-Time Operating
yang minimal seperti mengelola proteksi memori,
System) menjadi sebuah OS (Operating System) yang berkaitan
inter process communication dan management
ketat dengan waktu sebenarnya :
process. Dengan demikian, Microkernel menyediakan
a) System Call memiliki waktu eksekusi maksimal yang
satu set yang lebih kecil dari simple hardware
pasti.
abstraction. Microkernel lebih stabil dibandingkan
b) Waktu OS response terhadap suatu external events.
monolithic karena jika server gagal (masalah file
c) Fungsi OS memiliki waktu eksekusi maksimal yang
system), kinerja microkernel tidak terpengaruh.
pasti.

III. METODOLOGI PENELITIAN


RTOS (Real-Time Operating System) memiliki
arsitektur yang berbeda dari sistem operasi pada umumnya
dimana dengan arsitektur yang dimiliki, hal yang dilakukan
dapat di prediksi. Device driver ditangani oleh task, bukan
ditangani oleh driver terintegrasi.
 Bug pada message passing tidak mudah diperbaiki.
 Manajemen proses yang kompleks.

b) Monolithic Kernel
Monolithic Kernel adalah bagian dari
operating system mirip Unix seperti Linux, FreeBSD,
dll. Sebuah Monolithic Kernel adalah program tunggal
yang bersisi semua kode yang diperlukan untuk
melakukan setiap task yang terkait pada kernel.
Monolithic kernel menjalankan semua basic system
services (seperti management proses dan memori,
interrupt handling dan komunikasi I/O, file system,
dll) dan menyediakan abstraksi yang kuat dari
hardware pokok. Jumlah context switch dan
messaging yang terlibat sangat dikurangi sehingga
membuatnya berjalan lebih cepat daripada
microkernel.
Gambar 3.2 Microkernel.

Kelebihan Dari microkernel adalah :


 Interface yang seragam proses tidak lagi dibedakan,
baik antara kernel-level maupun user-level, karena
 semuanya berkomunikasi via message passing.
 Extensibility dapat ditambah fitur-fitur baru tanpa
 perlu compile ulang..
 Flexibility fitur-fitur yang ada dapat dikurangi, atau
 dimodifikasi sesuai kebutuhan.
 Reliability karena menggunakan API sedikit, dapat
 meningkatkan kualitas code di luar kernel.
 Mendukung OS yang Object Oriented sangat sesuai
untuk mengembangkan sistem operasi yang
berorientasi pada objek seperti TRU64 UNIX,
 MacOSX, dan QNX.
 Realtime Applications karena sistem microkernel
menggunakan thread yang dieksekusi secara parallel,
microkernel sangat mudah mendukung aplikasi Gambar 3.3 Monolithic Kernel
realtime meskipun system sedang overloaded.
Sedangkan pada arsitektur monolithic, aplikasi Kelebihan dari monolithic kernel:
realtime akan terputus-putus pada saat system  Semua basic system services berjalan di
 overloaded.  kernel space.
 Keandalan tinggi microkernel sangat sederhana,  Menyediakan abstraksi perangkat keras yang
sehingga bisa dipastikan bebas bug. Selain itu proses  kuat dan kaya.
di dalam microkernel berjalan secara independent.  Jumlah context switch dan messaging yang
Sehingga microkernel memiliki keandalan sangat  terlibat.
tinggi, jauh lebih tinggi dibandingkan dengan  cukup rendah Berjalan lebih cepat daripada
monolithic. Oleh karena itu arsitektur microkernel microkernel.
banyak dipakai pada aplikasi mission critical pada
 embedded system. Kekurangan dari monolithic kernel adalah:
 Security tinggi microkernel menggunakan prinsip   Mengubah monolithic kernel terbilang sulit.
miminal privilege, di mana setiap proses hanya dapat  Sulit untuk melakukan perbaikan dan
mengeksekusi instruksi sederhana yang sangat pengembangan.
spesifik.Sehingga pengaturan security menjadi sangat
  Bug fixing atau menambahkan fitur.
mudah.  memerlukan.kompilasi seluruh source code
yang akan memakan waktu dan sumberdaya.
Kekurangan dari microkernel adalah :
 Memory footprint yang besar.
 Kemungkinan terjadinya performance loss.
c) Exokernel revocation policies kepada aplikasi.
Exokernel menyediakan kontrol yang efisien  Perlindungan fine-grained units. Untuk
terhadap hardware. Exokernel hanya menjalankan membuat manajemen dan pembagian
layanan perlindungan sumber daya (seperti sumberdaya lightweight. Exokernel
pelacakan kepemilikan, menjaga penggunaan, memberikan proteksi pada level disk blocks
mencaput akses sumber daya, dan lain-lain) dengan  bukan pada partisi, atau disebut fine-grained.
menyediakan low-level interface untuk library  Expose Names. Exokernel menggunakan
operating system, dan menyisakan management  nama fisik kapanpun dimungkinkan.
untuk aplikasi. Tujuan dari adanya exokernel  Expose information. Exokernel meng-ekspos
adalah untuk memberikan sebanyak mungkin informasi pada sistem.
kontrol sumberdaya system yang aman dan efisien.

IV. KESIMPULAN
Real-Time Operating System (RTOS) adalah sistem
operasi yang multitasking yang ditujukan untuk aplikasi yang
real-time karna Device Driver ditangani oleh task.dalah hal ini
tiga kernel yang dapat digunakan adalah microkernel,
monolithickernel ,dan exokernel. Ketiga kernel tersebut
memiliki keunggualan yang berbeda-beda. Masing-masing
kernel memang memiliki kelebihan dan kekurangan tersendiri
dimana penggunaan monolithic dan microkernel masih sering
diperdebatkan. Exokernel sendiri memiliki keunikan sendiri
jika diterapkan dalam RTOS yang digunakan pada suatu
Embedded System. Dari 3 kernel diatas dapat diterapkan sesuai
kebutuhan pemilik dari suatu Embedded System tersebut.

REFERENCES
Gambar 3.4 ExoKernel
[1] L. Thiele, "Embedded System - Real-Time Operating Systems," Zurich.
Exokernel memiliki beberapa prinsip yang
[2] T. Skaali, "Real-Time Operating Systems," 2012.
mendukung tujuan awal exokernel dimana untuk
[3] A. Wasicek, "Real-time Operating Systems," 2012.
memberikan control sumberdaya sistem yang
[4] Franz Rammig, Michael Ditze, Peter Janacik, Tales Heimfarth, Timo
aman dan efisien. Prinsip prinsip tersebut adalah : Kerstan, Simon Oberthuer, Katharina Stahl, "BASIC CONCEPTS OF
 Expose Hardware. Exokernel memberikan REAL TIME OPERATING," Springer Science + Business Media B.V,
aplikasi proteksi akses kepada seluruh 2009.
 sumber daya. [5] M. Abualrob, “Microkernel vs. Monolithic OS Architectures,”
 Exposeallocation.Exokernel mengalokasikan 8BitAvenue, 2012.
sumber daya secara eksplisit. [6] P. Jain, "RTOS - Real Time Operating System," Engineersgarage, 2011M.
 Expose revocation. Exokernel meng-ekspos

Anda mungkin juga menyukai