Definisi Sistem Operasi Waktu Nyata
Menurut definisi Kamus komputer Oxford: Setiap sistem yang waktu terjadinya output sangat signifikan. Jarak antara waktu input terhadapat waktu terjadinya output harus sangat kecil terhadap waktu yang diperbolehkan.
Menurut Cooling pada buku Software Design for Real Time Systems (1991): Sistem Waktu Nyata adalah sistem yang harus memprodukis respon yang tepat dalam suatu batasan waktu yang tentu.
Contoh Sistem Waktu Nyata
Proses pengambilan uang pada ATM
Proses login atau pendaftaran online
Proses pengenalan sidik jari pada absensi
Proses perekaman suara
Sistem pendeteksian dan alarm
Sistem pengiriman data transmisi(TV, Telepon)
Proses isi ulang pulsa
Sistem Waktu Nyata dapat dibedakan berdasarkan Batasan waktu, sistem waktu nyata dibedakan antara hard real time dan soft real time
Hard RealTime
Sistem Waktu Nyata yang harus memenuhi target waktu pada setiap kesempatan dan Sistem hard realtime dibutuhkan untuk menyelesaikan critical task dengan jaminan waktu tertentu.
Soft RealTime
Sistem Waktu Nyata yang tidak harus memenuhi target waktu tetapi harus memenuhi suatu nilai dan adapun pengertian lain darisoft real time. Soft real time adalah Komputasi soft realtime memiliki sedikit kelonggaran. Dalam sistem ini, proses yang kritis menerima prioritas lebih dari pada yang lain.
Konsep dasar dalam Sistem Waktu Nyata
Paralel Processor
MSB (Most Significant Bit)
Sampling
Heuristic
Seleksi
Pre-Processing,
Compression
Hardware-isasi
Karakteristik dari Sistem Waktu Nyata
Single purpose
Tidak seperti PC, yang memiliki banyak kegunaan, sebuah sistem waktu nyata biasanya hanya memiliki satu tujuan, seperti mentransfer sebuah lagu dari komputer ke mp3 player.
Small size
Kebanyakan sistem waktu nyata banyak yang ada memiliki physical space yang terbatas.
Inexpensively mass-produced
Sistem operasi waktu nyata memenuhi persyaratan waktu yang ditentukan dengan menggunakan algoritma penjadwalan yang memberikan prioritas kepada proses waktu nyata yang memiiki penjadwalan prioritas tertinggi. Selanjutnya, penjadwals harus menjamin bahwa prioritas dari proses waktu nyata tidak lebih dari batas waktu yang ditentukan. Kedua, teknik untuk persyaratan waktu penagmalatan adalah dengan meminimalkan response time dari sebuah events seperti interupsi.
Pada aplikasi Real-Time, selain deadline, ada hal lain yanga harus dipertimbangkan yaitu masalah liveline. Liveline hampir sama dengan Deadline, yang membedakannya adalah Deadline merupakan batasan response time yang paling akhir dan biasanya tidak boleh terlanggar. Sedangkan Liveline merupakan batasan waktu yang paling awal (startline).
Pada beberapa kasus, liveline dianggap sesuatu yang krusial atau penting. Waktu liveline biasanya adalah setelah release time, tapi kadang-kadang ada juga yang hampir sama dengan release time. Sama halnya dengan deadline, Liveline juga memiliki beberapa jenis, yaitu hard liveline, soft liveline dan ada juga liveline yang sama dengan release time.
Kernel Waktu Nyata
Waktu nyata merujuk pada bentuk aplikasi yang mengontrol proses dimana masalah waktu merupakan hal yang sangat penting. Sistem waktu nyata digunakan ketika ada persyaratan waktu yang ketat pada operasi di prosesor atau flow dari data; yang sering digunakan sebagai alat kontrol yang pada aplikasi yang terpisah.
Dengan kata lain, sebuah sistem waktu nyata tidak hanya perlu untuk menjalankan software melalui proses dengan benar, tapi juga perlu untuk menjalankannnya dalam waktu yang tepat, kalau tidak sistem akan gagal.
Fitur-fitur minimal yang dibutuhkan oleh sistem operasi yang mendukung sistem yang real time adalah :
Penjadwalan berdasarkan prioritas dan preemptif
Fitur yg paling penting dari sebuah sistem operasi yg mendukung sistem waktu nyata adalah merespon dengan segera sebuah proses waktu nyata secepat proses yg membutuhkan CPU. Penjadwalan untuk sistem operasi waktu nyata harus mendukung penjadwalan berdasarkan prioritas dengan preemption. Algoritma penjadwalan berdasarkan prioritas memberikan prioritas kepada masing-masing proses berdasarkan tingkat kepentingannya; proses yang lebih penting diberikan prioritas lebih tinggi daripada proses lain yang dianggap kurang penting.
Kernel preemptif
Kernel preemptif mengizinkan preemption pada sebuah proses yang berjalan di mode kernel. Implementasi dari kernel preemptif sangatlah sulit dan banyak aplikasi (spreadsheets, word processors, dan web browsers) tidak memerlukan response time yang cepat. Akan tetapi, untuk memenuhi persyaratan waktu pada sistem waktu nyata (terutama pada sistem waktu nyata keras) kernel preemptif menjadi sangat penting.
Latency yang minimal
Event latensi merupakan sejumlah waktu dari sebuah event mulai terjadi sampai event tersebut dilayani. Biasanya event yang berbeda memiliki persyaratan latensi yang berbeda. Dua tipe latensi yang mempengaruhi performance dari sebuah sistem waktu nyata yaitu:
- Interrupt latency
- Dispatch Latency