7
 1. Sejarah dan perkembangan sistem waktu nyata o 1949:  Pembuatan proyek Whirlwind yaitu pro yek 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 For ce o 1950:  Angkatan udara USA mengembangkan sistem pertahanan udara SAGE (Semiautomatic Ground Environme nt)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 pe sawat 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 meng akibatkan semakin banyak perma salahan 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 bah asa 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 k omersial  Mulai dilakukan penelitian untuk memperbaiki kehandalan sistem waktu-nyata. Sistem multiprosesing dan arsitektur von Neumann mulai digunakan pada aplikasi sistem waktu -nyata.

Bahan MID Sistem Waktui Nyata

Embed Size (px)

Citation preview

5/17/2018 Bahan MID Sistem Waktui Nyata - slidepdf.com

http://slidepdf.com/reader/full/bahan-mid-sistem-waktui-nyata 1/7

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 disusuldengan penggunaan bahasa FORTRAN, CMS-2, dan JOVIALyang 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 automaticflight 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 telemetrio  1960:

  Sistem waktu-nyata mulai diterapkan pada sistem non militer

o  1965:

  Diperkirakan telah ada lebih dari 350 sistem kendali waktu

nyatao  1960 - 1970:

  Perkembangan dalam proses integrasi dan semakin cepat waktu

pemrosesan mengakibatkan semakin banyak permasalahansistem waktu-nyata yang dapat dipecahkan.

o  1970:

  Mulai diinginkan adanya satu bahasa yang dapat digunakanuntuk 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 masihtetap digunakan

 

Bahasa Pascal, BASIC, Modula-2, dan C banyak digunakanpada 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.

5/17/2018 Bahan MID Sistem Waktui Nyata - slidepdf.com

http://slidepdf.com/reader/full/bahan-mid-sistem-waktui-nyata 2/7

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 terjadinyaoutput 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 nyataDeadline-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/17/2018 Bahan MID Sistem Waktui Nyata - slidepdf.com

http://slidepdf.com/reader/full/bahan-mid-sistem-waktui-nyata 3/7

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 waktubisa diukur dalam satuan jam untuk proses kimia atau detik untuk sistempenerbangan.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 merupakangabungan 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 menyelesaikantugasnya 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 perlumempertimbangkan kecepatan dari respon alat dan batas saturasi dari alat tersebut .

5/17/2018 Bahan MID Sistem Waktui Nyata - slidepdf.com

http://slidepdf.com/reader/full/bahan-mid-sistem-waktui-nyata 4/7

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.

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

5/17/2018 Bahan MID Sistem Waktui Nyata - slidepdf.com

http://slidepdf.com/reader/full/bahan-mid-sistem-waktui-nyata 5/7

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

Task Terkendali-Waktu; dikendalikan oleh periode waktu; umumnya task periodik.

• Task periodik τi= { Ji,1, Ji,2, ... , Ji,n } adalah deretan job dengan paremeteridentik: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. 

5/17/2018 Bahan MID Sistem Waktui Nyata - slidepdf.com

http://slidepdf.com/reader/full/bahan-mid-sistem-waktui-nyata 6/7

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 yangtersedia (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 setiaprespon dari pengguna. Dan setiap proses tersebut pasti memiliki kesamaan sumber

daya. Untuk itulah diperlukan sebuah kegiatan berbagi resource bersama yang lebihkenal dengan istilah resource sharing. Dalam resource sharing memungkin dua buah

proses atau lebih dapat menggunakan data atau perangkat keras (hardware) secarasimultan. Sedangkan, di jaringan memungkinkan dua buah komputer atau lebih dapat

menggunakan data atau perangkat keras (hardware) dalam sebuah jaringan kerjakomputer. 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

5/17/2018 Bahan MID Sistem Waktui Nyata - slidepdf.com

http://slidepdf.com/reader/full/bahan-mid-sistem-waktui-nyata 7/7

 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 masalahsinkronisasi secara umum. Berdasarkan jenisnya, semafor hanya bisa memiliki nilai 1

atau 0, atau lebih dari sama dengan 0. Konsep semafor pertama kali diajukan idenyaoleh 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 modelvisual unggul karena adanya token yang bergerak yang mengartikan adanya proses dinamik 

dari suatu sistem dibandingkan dengan model lainnya yang telah tersedia seperti flowchart,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 diinginkanpilot. Sistem terbang-dnegan-kabel juga menyediakan sinyal otomatis yang dikirim dari komputerpesawat untuk melakukan fungsi-fungsi tanpa adanya input dari pilot, yang mana sistem secara

otomatis menstabilkan pesawat.