Real time system disebut juga dengan Sistem waktu
nyata atau “komputasi relatif” adalah studi yang mempelajari tentang
perangkat keras (Hard Real Time System) dan perangkat lunak (Soft Real
Time System). Sistem yang tunduk pada suatu kendala yaitu tenggat /
batas waktu operasional dari sistem secara responsif. Dan menghasilkan
respon yang tepat dalam batas waktu yang telah ditentukan. Jika respon
komputer melewati batas waktu tersebut, maka terjadi degradasi
performansi atau kegagalan sistem. Sebuah Real time system adalah sistem
yang kebenarannya secara logis didasarkan pada kebenaran hasil-hasil
keluaran sistem dan ketepatan waktu hasil-hasil tersebut dikeluarkan.
Aplikasi penggunaan sistem seperti ini adalah untuk memantau dan
mengontrol peralatan seperti motor, assembly line, teleskop, atau
instrumen lainnya. Peralatan telekomunikasi dan jaringan komputer
biasanya juga membutuhkan pengendalian secara Real time/ pengaturan
waktu yang tepat. Sebalikanya,non real time sistem adalah suatu sistem
yang tak mempunyai batas waktu, bahkan jika hanya respon yang cepat atau
performa tinggi saja yang disukai.
Kebutuhan perangkat lunak / software sering pula dibahas dalam hal
real time system (real time system operation) dan bahasa pemrograman
yang sinkron, yang memberikan kerangka kerja untuk membangun aplikasi
sistem real time.
Sebual real time system atau sistem waktu nyata mungkin menjadi salah satu tempat penerapannya dapat dianggap (dalam konteks)
untuk misi kritis. Contoh sederhananya yaitu, sistem anti-lock brakes
pada mobil, kendalanya adalah sistem ini adalah waktu singkat dimana rem
harus dikeluarkan untuk mencegah roda mobil terkunci.
Perhitungan real time dapat dikatakan gagal bila mereka tidak selesai
sebelum tenggat / batas waktu mereka, dimana batas waktu mereka relatif
pada suatu peristiwa. Real time system harus dipenuhi, terlepas dari
load sistem.
Berdasarkan batasan waktu yang dimilikinya, Real time system ini dibagi atas:
1.Hard real time
2.Soft real time
3.firm real time
JENIS REAL TIME SYSTEM DAN CONTOH PENERAPANNYA
Sebuah sistem dikatakan real time jika total kebenaran dari suatu
operasi tidak hanya bergantung pada suatu kebenaran yang logis, tetapi
juga pada waktu disaat itu dilakukan.
Berdasarkan response time dan dampaknya, maka komputasi real-time dapat dibedakan menjadi:
1. Sistem Hard Real-Time ( HRTS )
Sistem hard real-time dibutuhkan untuk menyelesaikan critical task
dengan jaminan waktu tertentu. Jika kebutuhan waktu tidak terpenuhi,
maka aplikasi akan gagal. Dalam definisi lain disebutkan bahwa kontrol
sistem hard real-time dapat mentoleransi keterlambatan tidak lebih dari
100 mikro detik.Secara umum, sebuah proses di kirim dengan sebuah
pernyataan jumlah waktu dimana dibutuhkan untuk menyelesaikan atau
menjalankan I/O. Kemudian penjadwal dapat menjamin proses untuk selesai
atau menolak permintaan
karena tidak mungkin dilakukan. Mekanisme ini dikenal dengan resource reservation. Oleh karena itu setiap operasi harus dijamin dengan waktu maksimum. Pemberian jaminan seperti ini tidak dapat dilakukan dalam sistem dengan secondary storage atau virtual memory, karena sistem seperti ini tidak dapat meramalkan waktu yang dibutuhkan untuk mengeksekusi suatu proses.
karena tidak mungkin dilakukan. Mekanisme ini dikenal dengan resource reservation. Oleh karena itu setiap operasi harus dijamin dengan waktu maksimum. Pemberian jaminan seperti ini tidak dapat dilakukan dalam sistem dengan secondary storage atau virtual memory, karena sistem seperti ini tidak dapat meramalkan waktu yang dibutuhkan untuk mengeksekusi suatu proses.
Contoh : dalam kehidupan sehari-hari adalah pada sistem
pengontrol pesawat terbang. Dalam hal ini, keterlambatan sama sekali
tidak boleh terjadi,karena dapat berakibat tidak terkontrolnya pesawat
terbang. Nyawa penumpang yang ada dalam pesawat tergantung dari sistem
ini, karena jika sistem pengontrol tidak dapat merespon tepat waktu,
maka dapat menyebabkan kecelakaan yang merenggut korban jiwa.
2. Sistem Soft Real-Time ( SRTS )
Komputasi soft real-time memiliki sedikit kelonggaran. Dalam sistem
ini,proses yang kritis menerima prioritas lebih daripada yang lain.
Walaupun menambah fungsi soft real-time ke sistem time sharing mungkin
akan mengakibatkan ketidakadilan pembagian sumber daya dan mengakibatkan
delay yang lebih lama, atau mungkin menyebabkan starvation, hasilnya
adalah tujuan secara umum sistem yang dapat mendukung multimedia, grafik
berkecepatan tinggi, dan variasi tugas yang tidak dapat diterima di
lingkungan yang tidak mendukung komputasi soft real-time.
Contoh : penerapan sistem ini dalam kehidupan
sehari-hari adalah pada alat penjual/pelayan otomatis. Jika mesin yang
menggunakan sistem ini telah lama digunakan, maka mesin tersebut dapat
mengalami penurunan kualitas, misalnya waktu pelayanannya akan menjadi
lebih lambat dibandingkan ketika masih baru.
Keterlambatan pada sistem
ini tidak menyebabkan kecelakaan atau akibat fatal lainnya, melainkan
hanya menyebabkan kerugian keuangan saja. Jika pelayanan mesin menjadi
lambat, maka para pengguna dapat saja merasa tidak puas dan akhirnya
dapat menurunkan pendapatan pemilik mesin.Setelah batas waktu yang
diberikan telah habis, pada sistem hard realtime,aplikasi yang
dijalankan langsung dihentikan. Akan tetapi, pada sistem softreal-time,
aplikasi yang telah habis masa dari waktu pengerjaan tugasnya,
dihentikan secara bertahap atau dengan kata lain masih diberikan
toleransi waktu.
Mengimplementasikan fungsi soft real-time membutuhkan design yang hati-hati dan aspek yang berkaitan dengan sistem operasi.
Pertama, sistem harus mempunyai prioritas penjadualan, serta proses
real-time harus memiliki prioritas tertinggi, sehingga tidak melampaui
waktu, walaupun prioritas non real-time dapat terjadi.
Kedua, dispatch latency harus lebih kecil. Semakin kecil latency, semakin cepat real-time proses mengeksekusi.Untuk menjaga dispatch tetap rendah, kita butuh agar system call untuk preemptible.
Beberapa cara untuk mencapai tujuan ini.Pertama adalah dengan
memasukkan preemption points di durasi system call yang lama, yang
bertugas untuk memeriksa apakah prioritas utama butuh untuk dieksekusi.
Jika sudah, maka contex switch mengambil alih, ketika high priority
proses selesai, proses yang diinterupsi meneruskan dengan system call.
Points premption dapat diganti hanya di lokasi yang aman di kernel
dimana kernel struktur tidak dapat dimodifikasi.
Metoda yang lain adalah dengan membuat semua kernel preemptible.Karena operasi yang benar dapat dijamin, semua struktur data kernel harus diproteksi/secure dengan mekanisme sinkronisasi. Dengan metode ini, kernel dapat selalu di preemptible, karena setiap data kernel yang sedang di update diproteksi dengan pemberian prioritas yang tinggi. Jika ada proses dengan prioritas tinggi ingin membaca atau memodifikasi data kernel yang sedang dijalankan, prioritas yang tinggi harus menunggu sampai proses dengan prioritas rendah tersebut selesai. Situasi seperti ini dikenal dengan priority inversion.
Metoda yang lain adalah dengan membuat semua kernel preemptible.Karena operasi yang benar dapat dijamin, semua struktur data kernel harus diproteksi/secure dengan mekanisme sinkronisasi. Dengan metode ini, kernel dapat selalu di preemptible, karena setiap data kernel yang sedang di update diproteksi dengan pemberian prioritas yang tinggi. Jika ada proses dengan prioritas tinggi ingin membaca atau memodifikasi data kernel yang sedang dijalankan, prioritas yang tinggi harus menunggu sampai proses dengan prioritas rendah tersebut selesai. Situasi seperti ini dikenal dengan priority inversion.
Pada kenyataanya, serangkaian proses dapat saja mengakses sumber daya
yang sedang dibutuhkan oleh proses yang lebih tinggi prioritasnya.
Masalah ini dapat diatasi dengan priority-inheritance protocol, yaitu
semua proses yang sedang mengakses sumber daya mendapat prioritas tinggi
sampai selesai menggunakan sumber daya. Setelah selesai, prioritas
proses inidikembalikan menjadi seperti semula.
3. Semi Hard Real-Time System (HRTS) atau Semi Soft Real-Time ( SRTS )
Metoda ini merupakan gabungan antara :
Semi Hard Real-Time System (HRTS)
atau
Semi Soft Real-Time ( SRTS ).
Dengan demikian waktu yang digunakan oleh
deadlinenya lebih pendek jika dibandingkan dengan soft real-time ( SRTS ).
deadlinenya lebih pendek jika dibandingkan dengan soft real-time ( SRTS ).
4. Interaktif Deadline ( Waktu Deadlinenya Bisa Ditawar )
Pada interaktif real-time, maka waktu deadlinen nya bisa ditawar,
artinya tidak secara mutlak pada titik tertentu, tetapi tergantung dari
kesepakatan yang ditentukan dan fleksibel.
5. Probabilistic / Statistik
Metode ini biasanya menggunakan teori probabilitas / teori kemungkinan dengan metoda statistik.
6. Intelligence RTS
Metode ini biasanya menggunakan Expert Systems / Kecerdasan buatan / Artifial Inteligence atau Kendali Cerdas.
REAL TIME DAN KINERJA TINGGI
Real time komputasi kadang kadang disalah pahami untuk komputasi
kerja tingkat tinggi, tetapi hal ini tidak selalu terjadi. Contohnya,
besar super komputer melaksanakan simulasi ilmiah mungkin menawarkan
kinerja yang mengesankan, namun hal itiu tidak melaksanakan real time
perhitungan. Sebaliknya, sekali hardware dan software untuk anti-lock
sistem pengereman telah dirancang khusus untuk memenuhi batas waktu yang
telah di tentukan, tidak ada peningkatan kinerja lebih lanjut
diperlukan. Selanjutnya, jika server jaringan sangat sarat dengan lalu
lintas jaringan, respon waktunya dapat lebih lambat (dalam banyak kasus)
tetapi berhasil. Oleh karena itu, hal hal seperti server jaringan tidak
akan dianggap sebagai sistem waktu nyata, waktu kegagalan (pending,
time out, dsb..) biasanya kecil dan terbatas berlaku, tetapi tidak
berencana kegagalan. Dalam sistem waktu nyata, seperti FTSE 100 Indeks,
lambat-down melampaui batas sering dianggap bencana dalam konteks
penerapannya. Oleh sebab itu kebutuhan yang penting dasri sebuah sistem
waktu nyata adalah prediktabilitas yang tepat dan akurat, bukan kinerja.
Pada beberapa software, seperti games catur, dapat jatuh ke dalam dua
kategori. Contohnya, sebuah program yang dirancang untuk bermain catur
disebuah turnamen dengan jam akan perlu memutuskan pindah / jalan
sebelum batas waktu yang ditentukan atau akan kalah dalam permainan, dan
oleh karena itu real time program perhitungan sangat penting dan
diperlukan, tapi program catur yang diperbolehkan untuk berjalan tanpa
batas sebelum pindah tidak. Dalam kedua kasus, kinerja tinggi diinginkan
: semakin banyak turnamen catur bekerja program dapat dilakukan dalam
waktu yang telah ditentukan, semakin baik akan langkahnya, dan catur
cepat yang tanpa program yang dijalankan, semakin cepat akan mampu
pindah. Contih ini menggambarkan perbedaan penting antara real time
perhitungan dan perhitungan lain : program turnamen catur, jika program
ini tidak membuat keputusan berdasarkan ketentuan peraturan catur yang
berlaku dalam waktu yang di berikan maka akan kehilangan permainan
(gagal) sebagai real time perhitungan. Dalam skenario lain, bertemu
dengan batas waktu yang dianggap tidak perlu.