Monday, April 30, 2012


1.      Sejarah dan perkembangan sistem waktu nyata
o   1949:
·         Pembuatan proyek Whirlwind yaitu proyek pembuatan flight simulator untuk U.S. Navy yang termasuk sistem waktu-nyata dan dikembangkan oleh IBM
·         Mulai digunakan bahasa tingkat tinggi untuk aplikasi waktu-nyata yang disebut bahasa “algebraic compiler” yang disusul dengan penggunaan bahasa FORTRAN, CMS-2, dan JOVIAL yang banyak digunakan pada U.S. Army, Navy, dan Air Force
o   1950:
·         Angkatan udara USA mengembangkan sistem pertahanan udara SAGE (Semiautomatic Ground Environment)Brown dan Campbell membuat proposal tentang penggunaan komputer dalam sistem waktu-nyata sebagai bagian dari sistem kendali
o   1954:
·         Komputer digital Digitrac digunakan pada sistem automatic flight dan sistem kendali persenjataan
o   1959:
·         Pembuatan proyek pemesanan tiket pesawat terbang (SABRE) untuk American Airlines
·         Penerapan sistem waktu-nyata pada sistem kendali pesawat ruang angkasa dan telemetri
o   1960:
·         Sistem waktu-nyata mulai diterapkan pada sistem non militer
o   1965:
·         Diperkirakan telah ada lebih dari 350 sistem kendali waktu nyata
o   1960 - 1970:
·         Perkembangan dalam proses integrasi dan semakin cepat waktu pemrosesan mengakibatkan semakin banyak permasalahan sistem waktu-nyata yang dapat dipecahkan.
o   1970:
·         Mulai diinginkan adanya satu bahasa yang dapat digunakan untuk berbagai keperluan sistem waktu-nyata
o   1980 - 1990:
·         Setelah melalui proses pemilihan bahasa, akhirnya disepakati penggunaan bahasa Ada sebagai bahasa sistem waktu-nyata
·         Meskipun bahasa Ada telah banyak digunakan pada sistem waktu-nyata, tetapi bahasa asembly dan FORTRAN masih tetap digunakan
·         Bahasa Pascal, BASIC, Modula-2, dan C banyak digunakan pada sistem waktu-nyata komersial
·         Mulai dilakukan penelitian untuk memperbaiki kehandalan sistem waktu-nyata.
·         Sistem multiprosesing dan arsitektur von Neumann mulai digunakan pada aplikasi sistem waktu-nyata.



2.      Definisi sistem waktu nyata
Sistem waktu nyata dapat di definisikan sebagai sistem yang harus menghasilkan respon yang tepat dalam batas waktu yang telah ditentukan. Jika respon komputer melewati batas waktu tersebut, maka terjadi degradasi performansi atau kegagalan sistem. Beberapa sumber lain mendefinisikan sistem waktu nyata sebagai berikut :
- Menurut definisi Kamus komputer Oxford : Setiap sistem yang waktu terjadinya output sangat signifikan. Jarak antara waktu input terhadap 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 memproduksi respon yang tepat dalam suatu batasan waktu yang tertentu. Komputer yang responnya melebihi batasan waktu ini akan memberikan performansi yang terdegradasi atau malfunction.Sebuah sistem waktu nyata membaca input dari plant dan mengirim sinyal kontrol ke plant pada waktu-waktu yang ditentukan oleh pertimbangan operasional dari plant bukan oleh sistem computer.
- Menurut Bennet : Sebuah program yang ketepatan operasinya tergantung pada hasil logika komputasi dan waktu suatu hasil diproduksi.Sehingga, secara kasar dapat kita ambil kesimpulan bahwa sistem waktu nyata adalah sebuah sistem yang memiliki deadline / jangka waktu penyelesaian tertentu, namun tetap mengutamakan ketepatan dan performa yang tinggi dalam prosesnya.Sebuah sistem waktu nyata 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.

3.      Istilah-istilah dalam sistem waktu nyata
Deadline-batas waktu, Task adalah kumpulan job yang berkaitan yang menyediakan fungsi-fungsi sistem, Hard Real-Time Sistem Waktu Nyata yang harus memenuhi target waktu pada setiap kesempatan, Soft Real-TimeSistem Waktu Nyata yang tidak harus memenuhi target waktu tetapi harus memenuhi suatu nilai. Event-Based Task Sistem yang beraksi karena respon terhadap suatu kejadian (event).

4.      Contoh-contoh aplikasi 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.


5.      Klasifikasi Sistem Waktu nyata berdasarkan sinkronisasi antar proses ekternal  dengan task internal.

Clock-based Task(bedasarkan waktu)
Sistem Waktu Nyata yang diukur berdasarkan konstanta waktu yaitu waktu yang diambil dari respon suatu plant terhadap perubahan input atau beban.Konstanta waktu bisa diukur dalam satuan jam untuk proses kimia atau detik untuk sistem penerbangan.Semakin kecil konstanta waktu maka sampling rate semakin kecil.
Sinkronisasi diperoleh dengan menambahkan clock pada sistem komputer yang dikenal dengan real-time clock. Sinyal clock ini digunakan untuk menginterrupt operasi komputer pada waktu-waktu yang telah ditetapkan (Clock-interrupt)
Event-Based Task(Berdasarkan Kejadian)
Sistem yang beraksi karena respon terhadap suatu kejadian (event). Contoh menutup katup pada saat permukaan air sudah mengenai batas penuh.Digunakan interrupt untuk memberitahukan komputer aksi yang diperlukan atau bisa juga mempergunakan pooling (komputer menanyakan (polls) pada sensor apakah perlu dilakukan aksi).
Interactive Systems(waktu ditentukan tetapi bekerja bedasarkan inputan user)
Sistem waktu nyata yang terjadi karena adanya suatu kejadian dan waktu rata-rata dari respon kejadian ini tidak boleh melebihi waktu yang ditetapkan. Jadi merupakan gabungan antara clock-based dan event-based hanya bedanya waktu respon setiap kejadian tidak selalu sama.

Misal pengambilan uang di ATM.
6.      Klasifikasi sistem waktu nyata berdasarkan time Constraint
1. Hard Real-Time
Sistem Waktu Nyata yang harus memenuhi target waktu pada setiap Kesempatan
Contoh : Pengontrolan Temperatur blower.
2. Soft Real-Time
Sistem Waktu Nyata yang tidak harus memenuhi target waktu tetapi harus memenuhi suatu nilai ketepatan yang diambil dari nilai rata-rata.
Contoh : Pengambilan uang di ATM .

Firm real-time:
Sistem yang mempunyai deadline ketat, tetapi kegagalan sebagian kecil deadline yang telah ditentukan masih dapat ditoleransi

7.      Kriteria sistem waktu nyata
      Batasan waktu (time Constraint), artinya bahwa aplikasi harus menyelesaikan tugasnya dalam waktu yang telah dibatasi atau ditentukan.Setiap sistem dengan waktu nyata memiliki batasan waktu berupa waktu maksimum proses (akuisisi, transmisi, perekaman, perhitungan) dan standar waktu (waktu yang sama dengan waktu sehari-hari).


·                               Respon waktu dan Saturation Limit
Sistem Waktu nyata jika dipergunakan untuk mengontrol alat perlu mempertimbangkan kecepatan dari respon alat dan batas saturasi dari alat tersebut .
8.      Karateristik sistem waktu nyata

Menurut Morgan [MORG92], terdapat sekurangnya lima karakteristik dari sebuah sistem waktu nyata

      Deterministik, dapat ditebak berapa waktu yang dipergunakan untuk mengeksekusi operasi.
      Responsif, kapan secara pasti eksekusi dimulai serta diakhiri.
      Kendali pengguna, dengan menyediakan pilihan lebih banyak dari pada sistem operasi biasa.
      Kehandalan, sehingga dapat menanggulangi masalah-masalah pengecualian dengan derajat tertentu.
      Penanganan kegagalan, agar sistem tidak langsung crash.

9.      Multitasking

Multitasking adalah istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumberdaya CPU yang sama. Dalam kasus sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang dapat bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif mengolah instruksi untuk satu pekerjaan tersebut.
Multitasking memecahkan masalah ini dengan menjadwalkan pekerjaan mana yang dapat berjalan dalam satu waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat dikerjakan. Kondisi mengalokasikan CPU dari pekerjaan satu ke pekerjaan yang lain disebut context switch.
Ketika context switch terjadi dengan sangat cepat -- kondisi ini cukup untuk memberikan solusi pengolahan-paralel. Bahkan dalam komputer yang memiliki lebih dari satu CPU (disebut multi-prosesor), Multitasking memperbolehkan lebih banyak pekerjaan dijalankan dibanding dengan jumlah CPU yang tersedia.

v Multitasking dalam sistem waktu nyata

Dalam Sistem Real-Time, pada CPU misalnya, pemrograman Multitasking dapat dilakukan menggunakan pemrograman High Level-language, sehingga strategi penjadwalan dapat diatur dengan mempertimbangkan juga fitur-fitur yang terdapat pada CPU tersebut (aplkasi dan hardware).
Multitasking disebut juga Concurrent Processing (pemorsesan berbarengan) dimana multitasking menjalankan proses berbeda dilakukan pada satu unit CPU, sedangkan jika melakukan beberapa proses berbeda menggunakan beberapa CPU disebut pengolahan Paralel.


10.  Loop Multitasking
Real-Time System mungkin hanya menggunakan fungsi loop terus-menerus untuk melaksanakan semua kegiatan yang diperlukan.Namun,kendali sistem Real-Time tidak dikendalikan secara penuh.Selain itu, banyak waktu yang dihabiskan prosesor dalam status-flag yang sia-sia, kadang-kadang disebut 'skip-polling'.
Masalah yang lebih signifikan timbul karena perulangan siklik sederhana prosedur tidak dapat memberikan waktu yang tepat ketika dibutuhkan untuk penjadwalan kegiatan secara berkala.Solusi untuk masalah respons time tersebut adalah mengikat setiap respons critical task langsung ke perangkat berbasis Interrupt,dengan cara menggunakan interrupt-hardware untuk memprioritaskan jadwal pre-emptively sebuah task. 
Penjadwalan yang berbasis hardware dapat bekerja dengan baik untuk aplikasi yang sangat kecil, tetapi agak tidak fleksibel, tidak terintegrasi dengan pengaturan prioritas tugas yang lebih luas, dan akan memunculkan beberapa masalah yang agak sulit.Pada umumnya, tak ada tingkat interrupt yang tepat, aplikasi tersebut terikat pada hardware tertentu, prioritas yang bervariasi pada Interrupt Service Routine (ISR) hampir mustahil, dan debugging aplikasi secara penuh menjadi lebih dan lebih sulit.

11.  Task Timing
Task Terkendali-Event (Reaktif);
bereaksi terhadap event eksternal yang umumnya aperiodik (sporadis).
      Periodik - tasks tiba pada interval yang tetap, disebut periode.berhenti berikut langsung lanjut berikut.
      Aperiodik (Sporadis) - tasks mungkin tiba pada saat setelah interval minimum.tidak diketahui kapan proses berakhir,proses berjalan terus sampai selesai.

Task Terkendali-Waktu; dikendalikan oleh periode waktu; umumnya task periodik.
      Task periodik τi= { Ji,1, Ji,2, ... , Ji,n } adalah deretan job dengan paremeter identik:Periode ( pi atau Ti ) sama dengan panjang minimum waktu antara waktu pelepasan jobs berikutnya,Waktu eksekusi ( ei atau Ci ) sama dengan maksimum waktu eksekusi job dalam tas, dan Fase ( φi ) sama dengan waktu pelepasan dari job pertama dalam τi.




12.  Task Terkendali interupsi
Interupsi perangkat keras, adalah metode yang digunakan oleh perangkat keras untuk memperoleh perhatian dari CPU.
Penjadwal (Scheduler)
Penjadwal mengirim job ke prosesor.
Jadwal adalah pengalokasian seluruh job dalam sistem pada seluruh prosesor yang tersedia (dihasilkan oleh penjadwal).
·         Waktu eksekusi (atau run-time) job adalah banyaknya waktu yang dibutuhkan untuk menyelesaikan eksekusi job setelah job dijadwalkan( ei atau Ci ).
·         Batasan waktu yang disyaratkan pada perilaku waktu job disebut timing constraint.
Penjadwal bekerja dengan benar; misal, hanya menghasilkan jadwal yang berlaku yang memenuhi kondisi sebagai berikut:
·          Setiap prosesor umumnya menangani satu job,
·          Setiap job umumnya ditujukan untuk satu prosesor,
·         Tidak ada job yang dijadwalkan sebelum waktu pelepasannya, dan
·          Dab semua konstrain pendahulu dan penggunaan sumberdayanya terpenuhi.
Jadwal valid adalah jadwal fisibel jika setiap job memenuhi konstrain waktunya; misal, menyelesaikan eksekusi dalam deadline.
Kumpulan job adalah schedulable berdasarkan algoritma penjadwalan jika (ketika)
menggunakan algoritma (penjadwal) selalu menghasilkan penjadwalan fisibel.
Lateness dari job adalah perbedaan antara waktu selesai dan deadlinenya. Jika job selesai lebih awal, latenessnya neatif.
13.  Task swapping
Menambah pekerjaan lebih maksimal
Penjadwalan ulang sehingga tidak terjadi benturan proses

14.  Resource Sharing
Berbagi sumber daya
Sistem real time system menitiberatkan ketepatan waktu dalam memproses setiap respon dari pengguna. Dan setiap proses tersebut pasti memiliki kesamaan sumber daya. Untuk itulah diperlukan sebuah kegiatan berbagi resource bersama yang lebih kenal dengan istilah resource sharing. Dalam resource sharing memungkin dua buah proses atau lebih dapat menggunakan data atau perangkat keras (hardware) secara simultan. Sedangkan, di jaringan memungkinkan dua buah komputer atau lebih dapat menggunakan data atau perangkat keras (hardware) dalam sebuah jaringan kerja komputer. Namun, sistem operasi yang khususnya sistem waktu nyata untuk dapat melakukan resource sharing terdapat beberapa cara. Cara tersebut sebagai berikut
▪ Menonaktifkan Interupsi
Tujuan umum sistem operasi tidak mengizinkan program pengguna untuk mematikan fitur interupsi, karna program pengguna bisa mengontrol CPU selama yang diinginkan oleh program tersebut. CPU moderen sekarang tidak memungkinkan kode mode pengguna untuk mematikan interupt. Kontrol tersebut dianggap sebagai kewenangan dari sistem operasi. Namun, system waktu nyata dan sistem tertanam memungkinkan aplikasi itu sendiri untuk berjalan dalam kernel untuk sistem call. Dan juga memungkinkan aplikasi untuk memiliki kontrol yang lebih besar tanpa memerlukan intervensi system operasi.
• Semaphore Binary
Dalam kehidupan nyata, semafor adalah sistem sinyal yang digunakan untuk berkomunikasi secara visual. Dalam software, semafor adalah sebuah variabel bertipe integer yang selain saat inisialisasi, hanya dapat diakses melalui dua operasi standar, yaitu increment dan decrement. Semafor digunakan untuk menyelesaikan masalah sinkronisasi secara umum. Berdasarkan jenisnya, semafor hanya bisa memiliki nilai 1 atau 0, atau lebih dari sama dengan 0. Konsep semafor pertama kali diajukan idenya oleh Edsger Dijkstra pada tahun 1967. Operasi standar pada semafor (dalam bahasa pemrograman C). Nama asli dari operasi tersebut sebenarnya adalah Proberen (test) dan Verhogen (increment).. Fungsi wait dipanggil ketika thread akan memasuki critical section-nya atau ketika threadakan memakai resource yang tersedia. Jika sem_value kurang dari sama dengan 0, threadtersebut harus menunggu sampai thread lain memanggil fungsi buka.
Fungsi buka dipanggil ketika thread meningggalkan critical section-nya atau ketika melepaskan resource yang telah digunakannya. Tentu saja kedua operasi tersebut harus bersifat atomik karena sem_value dapat diakses oleh beberapa proses (shared resource). Semafor memiliki dua jenis, yaitu:
1. Binary semaphore . Semafor ini hanya memiliki nilai 1 atau 0. Sering juga disebut sebagai semafor primitif
2. Counting semaphore . Semafor ini memiliki nilai 0, 1, serta integer lainnya. Banyak sistem operasi yang tidak secara langsung mengimplementasikan semafor ini, tetapi dengan memanfaatkan binary semaphore.

15.  Contoh+deskripsi sistem waktu nyata

16.  Jaring Petri

Jaringan petri adalah salah satu metoda pemodelan yang dapat diaplikasikan dalam berbagai jenis sistem.Sebagai model grafik jaringan petri dapat dipandang sebagai model visual unggul karena adanya  token yang bergerak yang mengartikan adanya proses dinamik dari suatu sistem dibandingkan dengan model lainnya yang telah tersedia seperti flow chart,diagram blok atau topologi jaringan.

Fly-by-wire

Fly-by-wire (FBW, Indonesia: terbang dengan kabel) adalah sistem yang menggantikan pengendalian penerbangan manual sebuah pesawat dengan antarmuka elektronik. Pergerakan dari pengendalian penerbangan dikonversi ke sinyal-sinyal elektronis dan ditransmisi menggunakan kabel (merujuk pada istilah fly-by-wire), dan komputer pengendali penerbangan memutuskan bagaimana menggerakan aktuator yang ada di setiap permukaan kendali untuk memberi respon yang diinginkan pilot. Sistem terbang-dnegan-kabel juga menyediakan sinyal otomatis yang dikirim dari komputer pesawat untuk melakukan fungsi-fungsi tanpa adanya input dari pilot, yang mana sistem secara otomatis menstabilkan pesawat.


1.      Sejarah dan perkembangan sistem waktu nyata
o   1949:
·         Pembuatan proyek Whirlwind yaitu proyek pembuatan flight simulator untuk U.S. Navy yang termasuk sistem waktu-nyata dan dikembangkan oleh IBM
·         Mulai digunakan bahasa tingkat tinggi untuk aplikasi waktu-nyata yang disebut bahasa “algebraic compiler” yang disusul dengan penggunaan bahasa FORTRAN, CMS-2, dan JOVIAL yang banyak digunakan pada U.S. Army, Navy, dan Air Force
o   1950:
·         Angkatan udara USA mengembangkan sistem pertahanan udara SAGE (Semiautomatic Ground Environment)Brown dan Campbell membuat proposal tentang penggunaan komputer dalam sistem waktu-nyata sebagai bagian dari sistem kendali
o   1954:
·         Komputer digital Digitrac digunakan pada sistem automatic flight dan sistem kendali persenjataan
o   1959:
·         Pembuatan proyek pemesanan tiket pesawat terbang (SABRE) untuk American Airlines
·         Penerapan sistem waktu-nyata pada sistem kendali pesawat ruang angkasa dan telemetri
o   1960:
·         Sistem waktu-nyata mulai diterapkan pada sistem non militer
o   1965:
·         Diperkirakan telah ada lebih dari 350 sistem kendali waktu nyata
o   1960 - 1970:
·         Perkembangan dalam proses integrasi dan semakin cepat waktu pemrosesan mengakibatkan semakin banyak permasalahan sistem waktu-nyata yang dapat dipecahkan.
o   1970:
·         Mulai diinginkan adanya satu bahasa yang dapat digunakan untuk berbagai keperluan sistem waktu-nyata
o   1980 - 1990:
·         Setelah melalui proses pemilihan bahasa, akhirnya disepakati penggunaan bahasa Ada sebagai bahasa sistem waktu-nyata
·         Meskipun bahasa Ada telah banyak digunakan pada sistem waktu-nyata, tetapi bahasa asembly dan FORTRAN masih tetap digunakan
·         Bahasa Pascal, BASIC, Modula-2, dan C banyak digunakan pada sistem waktu-nyata komersial
·         Mulai dilakukan penelitian untuk memperbaiki kehandalan sistem waktu-nyata.
·         Sistem multiprosesing dan arsitektur von Neumann mulai digunakan pada aplikasi sistem waktu-nyata.



2.      Definisi sistem waktu nyata
Sistem waktu nyata dapat di definisikan sebagai sistem yang harus menghasilkan respon yang tepat dalam batas waktu yang telah ditentukan. Jika respon komputer melewati batas waktu tersebut, maka terjadi degradasi performansi atau kegagalan sistem. Beberapa sumber lain mendefinisikan sistem waktu nyata sebagai berikut :
- Menurut definisi Kamus komputer Oxford : Setiap sistem yang waktu terjadinya output sangat signifikan. Jarak antara waktu input terhadap 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 memproduksi respon yang tepat dalam suatu batasan waktu yang tertentu. Komputer yang responnya melebihi batasan waktu ini akan memberikan performansi yang terdegradasi atau malfunction.Sebuah sistem waktu nyata membaca input dari plant dan mengirim sinyal kontrol ke plant pada waktu-waktu yang ditentukan oleh pertimbangan operasional dari plant bukan oleh sistem computer.
- Menurut Bennet : Sebuah program yang ketepatan operasinya tergantung pada hasil logika komputasi dan waktu suatu hasil diproduksi.Sehingga, secara kasar dapat kita ambil kesimpulan bahwa sistem waktu nyata adalah sebuah sistem yang memiliki deadline / jangka waktu penyelesaian tertentu, namun tetap mengutamakan ketepatan dan performa yang tinggi dalam prosesnya.Sebuah sistem waktu nyata 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.

3.      Istilah-istilah dalam sistem waktu nyata
Deadline-batas waktu, Task adalah kumpulan job yang berkaitan yang menyediakan fungsi-fungsi sistem, Hard Real-Time Sistem Waktu Nyata yang harus memenuhi target waktu pada setiap kesempatan, Soft Real-TimeSistem Waktu Nyata yang tidak harus memenuhi target waktu tetapi harus memenuhi suatu nilai. Event-Based Task Sistem yang beraksi karena respon terhadap suatu kejadian (event).

4.      Contoh-contoh aplikasi 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.


5.      Klasifikasi Sistem Waktu nyata berdasarkan sinkronisasi antar proses ekternal  dengan task internal.

Clock-based Task(bedasarkan waktu)
Sistem Waktu Nyata yang diukur berdasarkan konstanta waktu yaitu waktu yang diambil dari respon suatu plant terhadap perubahan input atau beban.Konstanta waktu bisa diukur dalam satuan jam untuk proses kimia atau detik untuk sistem penerbangan.Semakin kecil konstanta waktu maka sampling rate semakin kecil.
Sinkronisasi diperoleh dengan menambahkan clock pada sistem komputer yang dikenal dengan real-time clock. Sinyal clock ini digunakan untuk menginterrupt operasi komputer pada waktu-waktu yang telah ditetapkan (Clock-interrupt)
Event-Based Task(Berdasarkan Kejadian)
Sistem yang beraksi karena respon terhadap suatu kejadian (event). Contoh menutup katup pada saat permukaan air sudah mengenai batas penuh.Digunakan interrupt untuk memberitahukan komputer aksi yang diperlukan atau bisa juga mempergunakan pooling (komputer menanyakan (polls) pada sensor apakah perlu dilakukan aksi).
Interactive Systems(waktu ditentukan tetapi bekerja bedasarkan inputan user)
Sistem waktu nyata yang terjadi karena adanya suatu kejadian dan waktu rata-rata dari respon kejadian ini tidak boleh melebihi waktu yang ditetapkan. Jadi merupakan gabungan antara clock-based dan event-based hanya bedanya waktu respon setiap kejadian tidak selalu sama.

Misal pengambilan uang di ATM.
6.      Klasifikasi sistem waktu nyata berdasarkan time Constraint
1. Hard Real-Time
Sistem Waktu Nyata yang harus memenuhi target waktu pada setiap Kesempatan
Contoh : Pengontrolan Temperatur blower.
2. Soft Real-Time
Sistem Waktu Nyata yang tidak harus memenuhi target waktu tetapi harus memenuhi suatu nilai ketepatan yang diambil dari nilai rata-rata.
Contoh : Pengambilan uang di ATM .

Firm real-time:
Sistem yang mempunyai deadline ketat, tetapi kegagalan sebagian kecil deadline yang telah ditentukan masih dapat ditoleransi

7.      Kriteria sistem waktu nyata
      Batasan waktu (time Constraint), artinya bahwa aplikasi harus menyelesaikan tugasnya dalam waktu yang telah dibatasi atau ditentukan.Setiap sistem dengan waktu nyata memiliki batasan waktu berupa waktu maksimum proses (akuisisi, transmisi, perekaman, perhitungan) dan standar waktu (waktu yang sama dengan waktu sehari-hari).


·                               Respon waktu dan Saturation Limit
Sistem Waktu nyata jika dipergunakan untuk mengontrol alat perlu mempertimbangkan kecepatan dari respon alat dan batas saturasi dari alat tersebut .
8.      Karateristik sistem waktu nyata

Menurut Morgan [MORG92], terdapat sekurangnya lima karakteristik dari sebuah sistem waktu nyata

      Deterministik, dapat ditebak berapa waktu yang dipergunakan untuk mengeksekusi operasi.
      Responsif, kapan secara pasti eksekusi dimulai serta diakhiri.
      Kendali pengguna, dengan menyediakan pilihan lebih banyak dari pada sistem operasi biasa.
      Kehandalan, sehingga dapat menanggulangi masalah-masalah pengecualian dengan derajat tertentu.
      Penanganan kegagalan, agar sistem tidak langsung crash.

9.      Multitasking

Multitasking adalah istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumberdaya CPU yang sama. Dalam kasus sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang dapat bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif mengolah instruksi untuk satu pekerjaan tersebut.
Multitasking memecahkan masalah ini dengan menjadwalkan pekerjaan mana yang dapat berjalan dalam satu waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat dikerjakan. Kondisi mengalokasikan CPU dari pekerjaan satu ke pekerjaan yang lain disebut context switch.
Ketika context switch terjadi dengan sangat cepat -- kondisi ini cukup untuk memberikan solusi pengolahan-paralel. Bahkan dalam komputer yang memiliki lebih dari satu CPU (disebut multi-prosesor), Multitasking memperbolehkan lebih banyak pekerjaan dijalankan dibanding dengan jumlah CPU yang tersedia.

v Multitasking dalam sistem waktu nyata

Dalam Sistem Real-Time, pada CPU misalnya, pemrograman Multitasking dapat dilakukan menggunakan pemrograman High Level-language, sehingga strategi penjadwalan dapat diatur dengan mempertimbangkan juga fitur-fitur yang terdapat pada CPU tersebut (aplkasi dan hardware).
Multitasking disebut juga Concurrent Processing (pemorsesan berbarengan) dimana multitasking menjalankan proses berbeda dilakukan pada satu unit CPU, sedangkan jika melakukan beberapa proses berbeda menggunakan beberapa CPU disebut pengolahan Paralel.


10.  Loop Multitasking
Real-Time System mungkin hanya menggunakan fungsi loop terus-menerus untuk melaksanakan semua kegiatan yang diperlukan.Namun,kendali sistem Real-Time tidak dikendalikan secara penuh.Selain itu, banyak waktu yang dihabiskan prosesor dalam status-flag yang sia-sia, kadang-kadang disebut 'skip-polling'.
Masalah yang lebih signifikan timbul karena perulangan siklik sederhana prosedur tidak dapat memberikan waktu yang tepat ketika dibutuhkan untuk penjadwalan kegiatan secara berkala.Solusi untuk masalah respons time tersebut adalah mengikat setiap respons critical task langsung ke perangkat berbasis Interrupt,dengan cara menggunakan interrupt-hardware untuk memprioritaskan jadwal pre-emptively sebuah task. 
Penjadwalan yang berbasis hardware dapat bekerja dengan baik untuk aplikasi yang sangat kecil, tetapi agak tidak fleksibel, tidak terintegrasi dengan pengaturan prioritas tugas yang lebih luas, dan akan memunculkan beberapa masalah yang agak sulit.Pada umumnya, tak ada tingkat interrupt yang tepat, aplikasi tersebut terikat pada hardware tertentu, prioritas yang bervariasi pada Interrupt Service Routine (ISR) hampir mustahil, dan debugging aplikasi secara penuh menjadi lebih dan lebih sulit.

11.  Task Timing
Task Terkendali-Event (Reaktif);
bereaksi terhadap event eksternal yang umumnya aperiodik (sporadis).
      Periodik - tasks tiba pada interval yang tetap, disebut periode.berhenti berikut langsung lanjut berikut.
      Aperiodik (Sporadis) - tasks mungkin tiba pada saat setelah interval minimum.tidak diketahui kapan proses berakhir,proses berjalan terus sampai selesai.

Task Terkendali-Waktu; dikendalikan oleh periode waktu; umumnya task periodik.
      Task periodik τi= { Ji,1, Ji,2, ... , Ji,n } adalah deretan job dengan paremeter identik:Periode ( pi atau Ti ) sama dengan panjang minimum waktu antara waktu pelepasan jobs berikutnya,Waktu eksekusi ( ei atau Ci ) sama dengan maksimum waktu eksekusi job dalam tas, dan Fase ( φi ) sama dengan waktu pelepasan dari job pertama dalam τi.




12.  Task Terkendali interupsi
Interupsi perangkat keras, adalah metode yang digunakan oleh perangkat keras untuk memperoleh perhatian dari CPU.
Penjadwal (Scheduler)
Penjadwal mengirim job ke prosesor.
Jadwal adalah pengalokasian seluruh job dalam sistem pada seluruh prosesor yang tersedia (dihasilkan oleh penjadwal).
·         Waktu eksekusi (atau run-time) job adalah banyaknya waktu yang dibutuhkan untuk menyelesaikan eksekusi job setelah job dijadwalkan( ei atau Ci ).
·         Batasan waktu yang disyaratkan pada perilaku waktu job disebut timing constraint.
Penjadwal bekerja dengan benar; misal, hanya menghasilkan jadwal yang berlaku yang memenuhi kondisi sebagai berikut:
·          Setiap prosesor umumnya menangani satu job,
·          Setiap job umumnya ditujukan untuk satu prosesor,
·         Tidak ada job yang dijadwalkan sebelum waktu pelepasannya, dan
·          Dab semua konstrain pendahulu dan penggunaan sumberdayanya terpenuhi.
Jadwal valid adalah jadwal fisibel jika setiap job memenuhi konstrain waktunya; misal, menyelesaikan eksekusi dalam deadline.
Kumpulan job adalah schedulable berdasarkan algoritma penjadwalan jika (ketika)
menggunakan algoritma (penjadwal) selalu menghasilkan penjadwalan fisibel.
Lateness dari job adalah perbedaan antara waktu selesai dan deadlinenya. Jika job selesai lebih awal, latenessnya neatif.
13.  Task swapping
Menambah pekerjaan lebih maksimal
Penjadwalan ulang sehingga tidak terjadi benturan proses

14.  Resource Sharing
Berbagi sumber daya
Sistem real time system menitiberatkan ketepatan waktu dalam memproses setiap respon dari pengguna. Dan setiap proses tersebut pasti memiliki kesamaan sumber daya. Untuk itulah diperlukan sebuah kegiatan berbagi resource bersama yang lebih kenal dengan istilah resource sharing. Dalam resource sharing memungkin dua buah proses atau lebih dapat menggunakan data atau perangkat keras (hardware) secara simultan. Sedangkan, di jaringan memungkinkan dua buah komputer atau lebih dapat menggunakan data atau perangkat keras (hardware) dalam sebuah jaringan kerja komputer. Namun, sistem operasi yang khususnya sistem waktu nyata untuk dapat melakukan resource sharing terdapat beberapa cara. Cara tersebut sebagai berikut
▪ Menonaktifkan Interupsi
Tujuan umum sistem operasi tidak mengizinkan program pengguna untuk mematikan fitur interupsi, karna program pengguna bisa mengontrol CPU selama yang diinginkan oleh program tersebut. CPU moderen sekarang tidak memungkinkan kode mode pengguna untuk mematikan interupt. Kontrol tersebut dianggap sebagai kewenangan dari sistem operasi. Namun, system waktu nyata dan sistem tertanam memungkinkan aplikasi itu sendiri untuk berjalan dalam kernel untuk sistem call. Dan juga memungkinkan aplikasi untuk memiliki kontrol yang lebih besar tanpa memerlukan intervensi system operasi.
• Semaphore Binary
Dalam kehidupan nyata, semafor adalah sistem sinyal yang digunakan untuk berkomunikasi secara visual. Dalam software, semafor adalah sebuah variabel bertipe integer yang selain saat inisialisasi, hanya dapat diakses melalui dua operasi standar, yaitu increment dan decrement. Semafor digunakan untuk menyelesaikan masalah sinkronisasi secara umum. Berdasarkan jenisnya, semafor hanya bisa memiliki nilai 1 atau 0, atau lebih dari sama dengan 0. Konsep semafor pertama kali diajukan idenya oleh Edsger Dijkstra pada tahun 1967. Operasi standar pada semafor (dalam bahasa pemrograman C). Nama asli dari operasi tersebut sebenarnya adalah Proberen (test) dan Verhogen (increment).. Fungsi wait dipanggil ketika thread akan memasuki critical section-nya atau ketika threadakan memakai resource yang tersedia. Jika sem_value kurang dari sama dengan 0, threadtersebut harus menunggu sampai thread lain memanggil fungsi buka.
Fungsi buka dipanggil ketika thread meningggalkan critical section-nya atau ketika melepaskan resource yang telah digunakannya. Tentu saja kedua operasi tersebut harus bersifat atomik karena sem_value dapat diakses oleh beberapa proses (shared resource). Semafor memiliki dua jenis, yaitu:
1. Binary semaphore . Semafor ini hanya memiliki nilai 1 atau 0. Sering juga disebut sebagai semafor primitif
2. Counting semaphore . Semafor ini memiliki nilai 0, 1, serta integer lainnya. Banyak sistem operasi yang tidak secara langsung mengimplementasikan semafor ini, tetapi dengan memanfaatkan binary semaphore.

15.  Contoh+deskripsi sistem waktu nyata

16.  Jaring Petri

Jaringan petri adalah salah satu metoda pemodelan yang dapat diaplikasikan dalam berbagai jenis sistem.Sebagai model grafik jaringan petri dapat dipandang sebagai model visual unggul karena adanya  token yang bergerak yang mengartikan adanya proses dinamik dari suatu sistem dibandingkan dengan model lainnya yang telah tersedia seperti flow chart,diagram blok atau topologi jaringan.

Fly-by-wire

Fly-by-wire (FBW, Indonesia: terbang dengan kabel) adalah sistem yang menggantikan pengendalian penerbangan manual sebuah pesawat dengan antarmuka elektronik. Pergerakan dari pengendalian penerbangan dikonversi ke sinyal-sinyal elektronis dan ditransmisi menggunakan kabel (merujuk pada istilah fly-by-wire), dan komputer pengendali penerbangan memutuskan bagaimana menggerakan aktuator yang ada di setiap permukaan kendali untuk memberi respon yang diinginkan pilot. Sistem terbang-dnegan-kabel juga menyediakan sinyal otomatis yang dikirim dari komputer pesawat untuk melakukan fungsi-fungsi tanpa adanya input dari pilot, yang mana sistem secara otomatis menstabilkan pesawat.

1 comment: