Senin, 04 Desember 2017

REAL TIME SYSTEM

Real Time System



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.
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.
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 ).
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.

Tidak ada komentar:

Posting Komentar