rpl 013 - perancangan perangkat lunak real time

21

Upload: febriyani-syafri

Post on 18-Dec-2014

1.080 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Rpl   013 - perancangan perangkat lunak real time
Page 2: Rpl   013 - perancangan perangkat lunak real time

Pendahuluan

Komputer digunakan untuk mengontrol banyaksistem yang berkisar dari mesin domestiksederhana sampai pabrik secara menyeluruh.Komputer-komputer ini berinteraksi langsungdengan perangkat keras.

Perangkat lunak pada sistem­sistem inimerupakan sistem real-time yang menjadi satu(embedded) yang hares bereaksi terhadap eventyang dibangkitkan oleh perangkat keras danmengeluarkan sinyal kontrol sebagai tanggapanterhadap event-event tersebut.

2RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 3: Rpl   013 - perancangan perangkat lunak real time

Lanjutan...

Sistem real-time merupakan sistem perangkatlunak di mana kerja yang benar dari sistem tersebutbergantung pada hasil yang dikeluarkan oleh sistemdan waktu di mana hasil ini dibuat.

Sistem real-time 'lunak' merupakan sistem yangoperasinya terdegradasi jika hasil tidak dikeluarkanmenurut persyaratan waktu yang telah ditentukan.

Sistem real time `keras' merupakan sistem yangoperasinya tidak benar jika hasil tidak diberikanmenurut spesifikasi waktu.

3RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 4: Rpl   013 - perancangan perangkat lunak real time

Lanjutan...

Stimuli/respon yang diterimasistemterbagi menjadi dua kelas:

• Stimuli periodik. Stimuli ini terjadi padainterval waktu yang dapat diramalkan.

• Stimuli aperiodik. Stimuli ini terjadisecara ireguler (pada interval waktuyang tidak dapat diramalkan).

4RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 5: Rpl   013 - perancangan perangkat lunak real time

5RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 6: Rpl   013 - perancangan perangkat lunak real time

Proses perancangan untuk sistem real-time berbeda dari proses perancangan perangkat lunak lainkarena waktu tanggap sistem harus diperhitungkan di awal proses. Tahapannya:

1. Identifikasi stimuli yang harus diproses sistem dan respons yang sesuai.

2. Identifikasi batasan waktu yang berlaku untuk stimulus dan pemrosesan respons.

3. Gabungkan penirosesan stimulus dan respons menjadi sejumlah proses yang konkuren.Model umum yang baik untuk arsitektur sistem adalah mengasosiasi­kan,proses dengansetiap kelas stimulus dan respons

4. Rancang algoritma untuk melakukan komputasi yang diperlukan. Desain algoritma seringkaliharus dikembangkan relatif di awal proses perancangan untuk memberikan indikasimengenai banyaknya pemrosesan yang dibutuhkan dan waktu yang dibutuhkan untukmenyelesaikan pemrosesan ini.

5. Rancang sistem penjadwalan yang akan menjamin bahwa proses dimulai untuk memenuhibatas waktu akhirnya.

6. Integrasikan sistem dengan kontrol eksekutif real-time.

6RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 7: Rpl   013 - perancangan perangkat lunak real time

• Analisis waktu sistem real-time cukup sulit. Karena sifat yangtidak dapat di­ramalkan dari stimuli aperiodik, perancang harusmembuat asumsi mengenai prob­abilitas terjadinya stimuli ini(dan dengan demikian membutuhkan layanan) pada waktukapanpun.

• Proses-proses pada sistem real-time harus dikoordinasikan.Mekanisme koordi­nasi proses menjamin mutual exclusion (sifatsaling eksklutif) untuk sumber daya yang dipakai bersama.Ketika satu proses sedang memodifikasi sumber daya yangdipakai bersama, proses-proses lain tidak boleh mengubahsumber daya tersebut.

7RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 8: Rpl   013 - perancangan perangkat lunak real time

System real time harus menanggapi event yang terjadipada interval yang ireguler. Event-event (atau stimuli)ini seringkali menyebabkan system berpindah ke statusyang berbeda.

Model status system menganggap bahwa pada setiap saatsystem berada pada salah satu dari sekian banyak statusyang mungkin. Ketika suatu stimulus diterima, transisike status yang berbeda dapat terjadi.

8RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 9: Rpl   013 - perancangan perangkat lunak real time

Bahasa pemrograman yang digunakan untuk implementasisystem real time juga dapat mempengaruhi desain. Bahasa tingkatsystem, seperti C yang memungkinkan dibuatnya kode yang efisienjuga dapat dipakai.

Bahasa C memungkinkan pengembangan program yang sangatefisien. Namun, tidak mencakup apapun untuk mendukungkonkurensi. Bahasa ini bergantung pada system operasi atau fasilitaseksekutif sehingga ada cakupan yang error bertambah untukpemrograman. Program juga seringkali lebih sulit dipahami.

9RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 10: Rpl   013 - perancangan perangkat lunak real time

Eksekutif ini menangani proses dan alokasi sumberdaya pada system real time. Eksekutif ini memulai danmenghentikan proses yang sesuai sehingga stimuli dapatditangani dan mengalokasikan memori dan sumber dayaprosessor.

Walaupun ada beberapa produk eksekutif real timeyang tersedia, persyaratan yang khusus dari banyaksystem real time seringkali menuntut bahwa eksekutifharus dirancang sebagai bagian dari system.

10RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 11: Rpl   013 - perancangan perangkat lunak real time

• Clock real time, memberikan informasi untuk menjadwalkan prosessecara periodik.

• Interrupt handler, menangani permintaan apreodik untuk layanan.

• Penjadwal, bertanggung jawab terhadap pemeriksaan proses yangdapat dijalankan dan memilih salah satunya untuk eksekusi.

• Manajer sumber daya, mengalokasikan memori yang sesuai dansumber-sumber daya processor.

• Despatcher, bertanggung jawab untuk memulai eksekusi suatu proses

11RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 12: Rpl   013 - perancangan perangkat lunak real time

Komponen-komponen eksekutif real-time

12RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 13: Rpl   013 - perancangan perangkat lunak real time

• Manajer konfigurasi, bertanggung jawab terhadaprekonfigurasi dinamik dari perangkat keras system. Modul-modulperangkat keras bias dikeluarkan dari layanan dan system diupgrade dengan menambahkan perangkat keras baru tanpamematikan system.

• Manajer kerusakan, bertanggung jawab mendeteksikerusakan perangkat keras dan lunak dan mengambil tindakanyang sesuai untuk memulihkan kerusakan ini.

13RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 14: Rpl   013 - perancangan perangkat lunak real time

• Tingkat interrupt merupakan tingkatprioritas tertinggi. Tingkat ini dialokasikanuntuk proses yang memerlukan respons yangcepat. Salah satu proses ini adalah proses clockreal time.

• Tingkat clock, dialokasikan bagi proses-proses periodic.

14RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 15: Rpl   013 - perancangan perangkat lunak real time

Manajemen proses pada eksekutif real time berhubungandengan penanganan set proses-proses konkuren yang merupakanbagian dari system real time. Manajer proses harus memilih satuproses untuk eksekusi, megalokasikan memori dan sumber dayaprocessor bagi proses tersebut, dan memulai eksekusinya padaprocessor.

Proses-proses periodic adalah proses-proses yang harusdieksekusi pada interval waktu yang tealh ditentukan sebelumnyauntuk akuisisi data dan control aktuaktor. Eksekutif menggunakanclock real timenya untuk menentukan kapan suatu proses akandieksekusi.

15RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 16: Rpl   013 - perancangan perangkat lunak real time

Aksi eksekutif real-time untuk memulai suatu proses

16RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 17: Rpl   013 - perancangan perangkat lunak real time

• Penjadwalan non preempsi. begitu suatu proses telahdijadwalkan untuk eksekusi, proses akan berjalansampai selesai atau sampai di blok, untuk suatu alasanseperti menunggu input.

• Penjadwalan preempsi. Eksekusi proses yang sedangberjalan dapat dihentikan jika proses dengan prioritaslebih tinggi membutuhkan layanan.

17RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 18: Rpl   013 - perancangan perangkat lunak real time

System monitoring dan control merupakan kelassystem real time yang penting. System-sistem inimemeriksa sensor yang memberikan informasi mengenailingkungan system dan mengambil tindakan sesuaidengan hasil pembacaan sensor.

System control terus mengontrol actuator perangkatkeras dengan bergantung pada nilai sensor yangbersangkutan.

18RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 19: Rpl   013 - perancangan perangkat lunak real time

• Kegagalan power yang dibangkitkan olehmonitor rangkaian. Respon yang dibutuhkanadalah pergantian kepower back up denganmemebri sinyal piranti pensaklaran powerelektronik.

• Alarm pencuri merupakan stimulus yangdibangkitkan oleh salah satu sensor system.

19RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 20: Rpl   013 - perancangan perangkat lunak real time

Sistem akuisisi data merupakan sistem yangmengumpulkan data dari sensor untuk pemrosesan dananalisis selanjutnya.

Pada sistem real-team yang melibatkan akuisisi datadan pemrosesan, kecepatan eksekusi dan periode prosesakuisisi dan proses pemrosesan mungkin berada di luarjalur. Jika yang perlu dilakukan hanya komputasisederhana, pemrosesan bisa lebih cepat dari akuisisi data.

20RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME

Page 21: Rpl   013 - perancangan perangkat lunak real time

21RPL | PERANCANGAN PERANGKAT

LUNAK REAL-TIME