ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Rpl   013 - perancangan perangkat lunak real time
Pendahuluan
Komputer digunakan untuk mengontrol banyak
sistem yang berkisar dari mesin domestik
sederhana sampai pabrik secara menyeluruh.
Komputer-komputer ini berinteraksi langsung
dengan perangkat keras.

Perangkat    lunak    pada     sistem-sistem ini
merupakan sistem real-time yang menjadi satu
(embedded) yang hares bereaksi terhadap event
yang dibangkitkan oleh perangkat keras dan
mengeluarkan sinyal kontrol sebagai tanggapan
terhadap event-event tersebut.

               RPL | PERANCANGAN PERANGKAT
                                               2
                       LUNAK REAL-TIME
Lanjutan...
Sistem real-time merupakan sistem perangkat
lunak di mana kerja yang benar dari sistem tersebut
bergantung pada hasil yang dikeluarkan oleh sistem
dan waktu di mana hasil ini dibuat.

Sistem real-time 'lunak' merupakan sistem yang
operasinya terdegradasi jika hasil tidak dikeluarkan
menurut persyaratan waktu yang telah ditentukan.

Sistem real time `keras' merupakan sistem yang
operasinya tidak benar jika hasil tidak diberikan
menurut spesifikasi waktu.


                RPL | PERANCANGAN PERANGKAT
                                                   3
                        LUNAK REAL-TIME
Lanjutan...
Stimuli/respon         yang         diterima
sistemterbagi menjadi dua kelas:
• Stimuli periodik. Stimuli ini terjadi pada
  interval waktu yang dapat diramalkan.

• Stimuli aperiodik. Stimuli ini terjadi
  secara ireguler (pada interval waktu
  yang tidak dapat diramalkan).
             RPL | PERANCANGAN PERANGKAT
                                           4
                     LUNAK REAL-TIME
RPL | PERANCANGAN PERANGKAT
                              5
        LUNAK REAL-TIME
Proses perancangan untuk sistem real-time berbeda dari proses perancangan perangkat lunak lain
karena 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 dengan
      setiap kelas stimulus dan respons
4.    Rancang algoritma untuk melakukan komputasi yang diperlukan. Desain algoritma seringkali
      harus dikembangkan relatif di awal proses perancangan untuk memberikan indikasi
      mengenai banyaknya pemrosesan yang dibutuhkan dan waktu yang dibutuhkan untuk
      menyelesaikan pemrosesan ini.
5.    Rancang sistem penjadwalan yang akan menjamin bahwa proses dimulai untuk memenuhi
      batas waktu akhirnya.
6.    Integrasikan sistem dengan kontrol eksekutif real-time.




                              RPL | PERANCANGAN PERANGKAT
                                                                                            6
                                      LUNAK REAL-TIME
• Analisis waktu sistem real-time cukup sulit. Karena sifat yang
  tidak dapat di-ramalkan dari stimuli aperiodik, perancang harus
  membuat asumsi mengenai prob-abilitas terjadinya stimuli ini
  (dan dengan demikian membutuhkan layanan) pada waktu
  kapanpun.

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



                    RPL | PERANCANGAN PERANGKAT
                                                                7
                            LUNAK REAL-TIME
System real time harus menanggapi event yang terjadi
pada interval yang ireguler. Event-event (atau stimuli)
ini seringkali menyebabkan system berpindah ke status
yang berbeda.

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



                 RPL | PERANCANGAN PERANGKAT
                                                      8
                         LUNAK REAL-TIME
Bahasa pemrograman yang digunakan untuk implementasi
system real time juga dapat mempengaruhi desain. Bahasa tingkat
system, seperti C yang memungkinkan dibuatnya kode yang efisien
juga dapat dipakai.

      Bahasa C memungkinkan pengembangan program yang sangat
efisien. Namun, tidak mencakup apapun untuk mendukung
konkurensi. Bahasa ini bergantung pada system operasi atau fasilitas
eksekutif sehingga ada cakupan yang error bertambah untuk
pemrograman. Program juga seringkali lebih sulit dipahami.




                      RPL | PERANCANGAN PERANGKAT
                                                                   9
                              LUNAK REAL-TIME
Eksekutif ini menangani proses dan alokasi sumber
daya pada system real time. Eksekutif ini memulai dan
menghentikan proses yang sesuai sehingga stimuli dapat
ditangani dan mengalokasikan memori dan sumber daya
prosessor.

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


                RPL | PERANCANGAN PERANGKAT
                                                    10
                        LUNAK REAL-TIME
•   Clock real time, memberikan informasi untuk menjadwalkan proses
    secara periodik.

•   Interrupt handler, menangani permintaan apreodik untuk layanan.

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

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

•   Despatcher, bertanggung jawab untuk memulai eksekusi suatu proses




                       RPL | PERANCANGAN PERANGKAT
                                                                        11
                               LUNAK REAL-TIME
Komponen-komponen eksekutif real-time

      RPL | PERANCANGAN PERANGKAT
                                        12
              LUNAK REAL-TIME
• Manajer       konfigurasi,     bertanggung     jawab  terhadap
  rekonfigurasi dinamik dari perangkat keras system. Modul-modul
  perangkat keras bias dikeluarkan dari layanan dan system di
  upgrade dengan menambahkan perangkat keras baru tanpa
  mematikan system.

• Manajer kerusakan, bertanggung jawab mendeteksi
  kerusakan perangkat keras dan lunak dan mengambil tindakan
  yang sesuai untuk memulihkan kerusakan ini.




                    RPL | PERANCANGAN PERANGKAT
                                                              13
                            LUNAK REAL-TIME
• Tingkat interrupt merupakan tingkat
  prioritas tertinggi. Tingkat ini dialokasikan
  untuk proses yang memerlukan respons yang
  cepat. Salah satu proses ini adalah proses clock
  real time.

• Tingkat clock, dialokasikan bagi proses-
  proses periodic.


               RPL | PERANCANGAN PERANGKAT
                                                 14
                       LUNAK REAL-TIME
Manajemen proses pada eksekutif real time berhubungan
dengan penanganan set proses-proses konkuren yang merupakan
bagian dari system real time. Manajer proses harus memilih satu
proses untuk eksekusi, megalokasikan memori dan sumber daya
processor bagi proses tersebut, dan memulai eksekusinya pada
processor.

     Proses-proses periodic adalah proses-proses yang harus
dieksekusi pada interval waktu yang tealh ditentukan sebelumnya
untuk akuisisi data dan control aktuaktor. Eksekutif menggunakan
clock real timenya untuk menentukan kapan suatu proses akan
dieksekusi.



                    RPL | PERANCANGAN PERANGKAT
                                                              15
                            LUNAK REAL-TIME
Aksi eksekutif real-time untuk memulai suatu proses




             RPL | PERANCANGAN PERANGKAT
                                                      16
                     LUNAK REAL-TIME
• Penjadwalan non preempsi. begitu suatu proses telah
  dijadwalkan untuk eksekusi, proses akan berjalan
  sampai selesai atau sampai di blok, untuk suatu alasan
  seperti menunggu input.

• Penjadwalan preempsi. Eksekusi proses yang sedang
  berjalan dapat dihentikan jika proses dengan prioritas
  lebih tinggi membutuhkan layanan.




                  RPL | PERANCANGAN PERANGKAT
                                                      17
                          LUNAK REAL-TIME
System monitoring dan control merupakan kelas
system real time yang penting. System-sistem ini
memeriksa sensor yang memberikan informasi mengenai
lingkungan system dan mengambil tindakan sesuai
dengan hasil pembacaan sensor.

    System control terus mengontrol actuator perangkat
keras dengan bergantung pada nilai sensor yang
bersangkutan.



                 RPL | PERANCANGAN PERANGKAT
                                                    18
                         LUNAK REAL-TIME
• Kegagalan power yang dibangkitkan oleh
  monitor rangkaian. Respon yang dibutuhkan
  adalah pergantian kepower back up dengan
  memebri sinyal piranti pensaklaran power
  elektronik.

• Alarm pencuri merupakan stimulus yang
  dibangkitkan oleh salah satu sensor system.


              RPL | PERANCANGAN PERANGKAT
                                            19
                      LUNAK REAL-TIME
Sistem akuisisi data merupakan sistem yang
mengumpulkan data dari sensor untuk pemrosesan dan
analisis selanjutnya.

    Pada sistem real-team yang melibatkan akuisisi data
dan pemrosesan, kecepatan eksekusi dan periode proses
akuisisi dan proses pemrosesan mungkin berada di luar
jalur. Jika yang perlu dilakukan hanya komputasi
sederhana, pemrosesan bisa lebih cepat dari akuisisi data.



                   RPL | PERANCANGAN PERANGKAT
                                                        20
                           LUNAK REAL-TIME
RPL | PERANCANGAN PERANGKAT
                              21
        LUNAK REAL-TIME

More Related Content

Rpl 013 - perancangan perangkat lunak real time

  • 2. Pendahuluan Komputer digunakan untuk mengontrol banyak sistem yang berkisar dari mesin domestik sederhana sampai pabrik secara menyeluruh. Komputer-komputer ini berinteraksi langsung dengan perangkat keras. Perangkat lunak pada sistem-sistem ini merupakan sistem real-time yang menjadi satu (embedded) yang hares bereaksi terhadap event yang dibangkitkan oleh perangkat keras dan mengeluarkan sinyal kontrol sebagai tanggapan terhadap event-event tersebut. RPL | PERANCANGAN PERANGKAT 2 LUNAK REAL-TIME
  • 3. Lanjutan... Sistem real-time merupakan sistem perangkat lunak di mana kerja yang benar dari sistem tersebut bergantung pada hasil yang dikeluarkan oleh sistem dan waktu di mana hasil ini dibuat. Sistem real-time 'lunak' merupakan sistem yang operasinya terdegradasi jika hasil tidak dikeluarkan menurut persyaratan waktu yang telah ditentukan. Sistem real time `keras' merupakan sistem yang operasinya tidak benar jika hasil tidak diberikan menurut spesifikasi waktu. RPL | PERANCANGAN PERANGKAT 3 LUNAK REAL-TIME
  • 4. Lanjutan... Stimuli/respon yang diterima sistemterbagi menjadi dua kelas: • Stimuli periodik. Stimuli ini terjadi pada interval waktu yang dapat diramalkan. • Stimuli aperiodik. Stimuli ini terjadi secara ireguler (pada interval waktu yang tidak dapat diramalkan). RPL | PERANCANGAN PERANGKAT 4 LUNAK REAL-TIME
  • 5. RPL | PERANCANGAN PERANGKAT 5 LUNAK REAL-TIME
  • 6. Proses perancangan untuk sistem real-time berbeda dari proses perancangan perangkat lunak lain karena 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 dengan setiap kelas stimulus dan respons 4. Rancang algoritma untuk melakukan komputasi yang diperlukan. Desain algoritma seringkali harus dikembangkan relatif di awal proses perancangan untuk memberikan indikasi mengenai banyaknya pemrosesan yang dibutuhkan dan waktu yang dibutuhkan untuk menyelesaikan pemrosesan ini. 5. Rancang sistem penjadwalan yang akan menjamin bahwa proses dimulai untuk memenuhi batas waktu akhirnya. 6. Integrasikan sistem dengan kontrol eksekutif real-time. RPL | PERANCANGAN PERANGKAT 6 LUNAK REAL-TIME
  • 7. • Analisis waktu sistem real-time cukup sulit. Karena sifat yang tidak dapat di-ramalkan dari stimuli aperiodik, perancang harus membuat asumsi mengenai prob-abilitas terjadinya stimuli ini (dan dengan demikian membutuhkan layanan) pada waktu kapanpun. • Proses-proses pada sistem real-time harus dikoordinasikan. Mekanisme koordi-nasi proses menjamin mutual exclusion (sifat saling eksklutif) untuk sumber daya yang dipakai bersama. Ketika satu proses sedang memodifikasi sumber daya yang dipakai bersama, proses-proses lain tidak boleh mengubah sumber daya tersebut. RPL | PERANCANGAN PERANGKAT 7 LUNAK REAL-TIME
  • 8. System real time harus menanggapi event yang terjadi pada interval yang ireguler. Event-event (atau stimuli) ini seringkali menyebabkan system berpindah ke status yang berbeda. Model status system menganggap bahwa pada setiap saat system berada pada salah satu dari sekian banyak status yang mungkin. Ketika suatu stimulus diterima, transisi ke status yang berbeda dapat terjadi. RPL | PERANCANGAN PERANGKAT 8 LUNAK REAL-TIME
  • 9. Bahasa pemrograman yang digunakan untuk implementasi system real time juga dapat mempengaruhi desain. Bahasa tingkat system, seperti C yang memungkinkan dibuatnya kode yang efisien juga dapat dipakai. Bahasa C memungkinkan pengembangan program yang sangat efisien. Namun, tidak mencakup apapun untuk mendukung konkurensi. Bahasa ini bergantung pada system operasi atau fasilitas eksekutif sehingga ada cakupan yang error bertambah untuk pemrograman. Program juga seringkali lebih sulit dipahami. RPL | PERANCANGAN PERANGKAT 9 LUNAK REAL-TIME
  • 10. Eksekutif ini menangani proses dan alokasi sumber daya pada system real time. Eksekutif ini memulai dan menghentikan proses yang sesuai sehingga stimuli dapat ditangani dan mengalokasikan memori dan sumber daya prosessor. Walaupun ada beberapa produk eksekutif real time yang tersedia, persyaratan yang khusus dari banyak system real time seringkali menuntut bahwa eksekutif harus dirancang sebagai bagian dari system. RPL | PERANCANGAN PERANGKAT 10 LUNAK REAL-TIME
  • 11. • Clock real time, memberikan informasi untuk menjadwalkan proses secara periodik. • Interrupt handler, menangani permintaan apreodik untuk layanan. • Penjadwal, bertanggung jawab terhadap pemeriksaan proses yang dapat dijalankan dan memilih salah satunya untuk eksekusi. • Manajer sumber daya, mengalokasikan memori yang sesuai dan sumber-sumber daya processor. • Despatcher, bertanggung jawab untuk memulai eksekusi suatu proses RPL | PERANCANGAN PERANGKAT 11 LUNAK REAL-TIME
  • 12. Komponen-komponen eksekutif real-time RPL | PERANCANGAN PERANGKAT 12 LUNAK REAL-TIME
  • 13. • Manajer konfigurasi, bertanggung jawab terhadap rekonfigurasi dinamik dari perangkat keras system. Modul-modul perangkat keras bias dikeluarkan dari layanan dan system di upgrade dengan menambahkan perangkat keras baru tanpa mematikan system. • Manajer kerusakan, bertanggung jawab mendeteksi kerusakan perangkat keras dan lunak dan mengambil tindakan yang sesuai untuk memulihkan kerusakan ini. RPL | PERANCANGAN PERANGKAT 13 LUNAK REAL-TIME
  • 14. • Tingkat interrupt merupakan tingkat prioritas tertinggi. Tingkat ini dialokasikan untuk proses yang memerlukan respons yang cepat. Salah satu proses ini adalah proses clock real time. • Tingkat clock, dialokasikan bagi proses- proses periodic. RPL | PERANCANGAN PERANGKAT 14 LUNAK REAL-TIME
  • 15. Manajemen proses pada eksekutif real time berhubungan dengan penanganan set proses-proses konkuren yang merupakan bagian dari system real time. Manajer proses harus memilih satu proses untuk eksekusi, megalokasikan memori dan sumber daya processor bagi proses tersebut, dan memulai eksekusinya pada processor. Proses-proses periodic adalah proses-proses yang harus dieksekusi pada interval waktu yang tealh ditentukan sebelumnya untuk akuisisi data dan control aktuaktor. Eksekutif menggunakan clock real timenya untuk menentukan kapan suatu proses akan dieksekusi. RPL | PERANCANGAN PERANGKAT 15 LUNAK REAL-TIME
  • 16. Aksi eksekutif real-time untuk memulai suatu proses RPL | PERANCANGAN PERANGKAT 16 LUNAK REAL-TIME
  • 17. • Penjadwalan non preempsi. begitu suatu proses telah dijadwalkan untuk eksekusi, proses akan berjalan sampai selesai atau sampai di blok, untuk suatu alasan seperti menunggu input. • Penjadwalan preempsi. Eksekusi proses yang sedang berjalan dapat dihentikan jika proses dengan prioritas lebih tinggi membutuhkan layanan. RPL | PERANCANGAN PERANGKAT 17 LUNAK REAL-TIME
  • 18. System monitoring dan control merupakan kelas system real time yang penting. System-sistem ini memeriksa sensor yang memberikan informasi mengenai lingkungan system dan mengambil tindakan sesuai dengan hasil pembacaan sensor. System control terus mengontrol actuator perangkat keras dengan bergantung pada nilai sensor yang bersangkutan. RPL | PERANCANGAN PERANGKAT 18 LUNAK REAL-TIME
  • 19. • Kegagalan power yang dibangkitkan oleh monitor rangkaian. Respon yang dibutuhkan adalah pergantian kepower back up dengan memebri sinyal piranti pensaklaran power elektronik. • Alarm pencuri merupakan stimulus yang dibangkitkan oleh salah satu sensor system. RPL | PERANCANGAN PERANGKAT 19 LUNAK REAL-TIME
  • 20. Sistem akuisisi data merupakan sistem yang mengumpulkan data dari sensor untuk pemrosesan dan analisis selanjutnya. Pada sistem real-team yang melibatkan akuisisi data dan pemrosesan, kecepatan eksekusi dan periode proses akuisisi dan proses pemrosesan mungkin berada di luar jalur. Jika yang perlu dilakukan hanya komputasi sederhana, pemrosesan bisa lebih cepat dari akuisisi data. RPL | PERANCANGAN PERANGKAT 20 LUNAK REAL-TIME
  • 21. RPL | PERANCANGAN PERANGKAT 21 LUNAK REAL-TIME