Anda di halaman 1dari 20

MODUL I

Penggunaaan komersial dari komputer yakni telah lebih dari lima puluh tahun lalu. Periode singkat ini dapat dibagi menjadi era mainframe, era PC, dan era komputasi pasca PC. Era mainframe ditandai dengan mahalnya komputer yang tidak mampu dibeli per individu dan tiap komputer melayani user yang sangat banyak. Era PC dapat dilihat dengan munculnya desktops yang dapat dibeli (lebih murah) dan digunakan oleh user individu. Sedangkan era pasca PC dilihat dari munculnya komputer yang kecil dan portable serta ditanamkan dalam aplikasi sehari-hari, sehingga seseorang berinteraksi dengan beberapa computer setiap harinya. Real-time (sistem waktu nyata) dan aplikasi-aplikasi komputasi yang ditanamkan dalam 2 era pertama termasuk jarang dan terbatas kepada hanya sedikit aplikasi, seperti pertahanan dan luar angkasa. Pada era pasca PC, penggunaan komputer dengan sistem berdasarkan waktu nyata teknologi yang ditanamkan telah menyentuh semua aspek kehidupan kita dan masih akan berkembang dengan kecepatan yang belum pernah kita lihat sebelumnya. Selagi proses yang ditanamkan dan perangkat yang bisa terhubung dengan internet mampu menampung imajinasi semua orang, itu bahkan hanya sebagian kecil dari aplikasi yang dijadikan mungkin oleh sistem waktu nyata. Sekarang, komputer yang digunakan dalam aplikasi waktu nyata mengalahkan jumlah komputer yang digunakan pada aplikasi konvensional. Menurut sebuah perhitungan, 70% dari semua prosesor yang diproduksi dunia telah ditanamkan aplikasi sistem waktu nyata. Selain itu, yang harus kita tandai yakni tren peningkatan yang stabil dari segi prosesor yang diproduksi dunia mencari jalannya menuju aplikasi waktu nyata. Beberapa alasan dari fenomena tersebut adalah pengurangan ukuran dan harga komputer, dikalikan dengan peningkatan performanya. Aplikasi yang dulunya dianggap sangat mahal untuk dapat di automatiskan, sekarang tidak lagi. Peningkatan yang cepat dari teknologi aplikasi waktu nyata diimbangi evolusi pertumbuhan yang mendukungnya. 1. Apa itu Real-Time? Real-Time yang dimaksudkan adalah gagasan waktu yang kuantitatif. Real-Time diukur menggunakan jam yang sebenarnya. Contohnya kita dapat mengamati pendeskripsian pabrik kimia yang terotomatisasi. Ketika ruang reaksi kimia mencapai suhu yang ditentukan, misalnya 250 derajat Celcius, sistem akan dengan otomatis mematikan pemanas dalam interval waktu yang telah ditentukan, misalnya 30 milidetik. Pada deskripsi di atas, nilai waktu mengacu pada pembacaan dari beberapa jam fisik dalam sistem otomatisasi pabrik. Jadi, suatu sistem dikatakan Real time apabila kita memerlukan ekspresi waktu yang kuantitatif untuk menjelaskan sifat dari sistem.

2.

Aplikasi dari SIstem Waktu Nyata Sistem Waktu Nyata memiliki aplikasi terbaru pada area yang luas. Di bawah akan diberi beberapa area penggunaan yang mencolok dan setiap kasus akan diberi contoh aplikasinya.

Industrial Applications Hampir semua aplikasi industri menggunakan sistem waktu nyata. Beberapa contoh : sistem kontrol proses, sistem otomatisasi industri, aplikasi SCADA, peralatan ukur dan testing serta peralatan robotik.

3. Sebuah Model Dasar Sistem Real-Time Kita telah pointer bahwa buku ini batas-batas itu sendiri dengan masalah perangkat lunak secara real-time sistem. Namun, dalam rangka untuk dapat melihat masalah perangkat lunak dalam perspektif yang tepat, kita perlu memiliki pemahaman konseptual dasar yang mendasari perangkat keras. Oleh karena itu kita dalam bagian ini mencoba untuk mengembangkan pemahaman yang luas tentang isu-isu tingkat tinggi dari perangkat keras yang mendasari dalam sistem real-time. Dalam sistem real-time di sisi lain, keamanan dan kehandalan yang digabungkan bersama-sama. Sebelum menganalisis mengapa keamanan dan kehandalan tidak lagi issuses independen di realtime sistem, pertama kita perlu memahami apa sebenarnya Jika Anda diminta oleh organisasi Anda untuk mengembangkan perangkat lunak yang harus sangat handal, bagaimana Anda melanjutkan untuk mencapai itu? Perangkat lunak yang sangat handal dapat dikembangkan dengan mengadopsi semua teknik tiga penting berikut: Error avoidance. Untuk mencapai keandalan yang tinggi, setiap kemungkinan terjadinya kesalahan harus diminimalkan selama pengembangan produk sebanyak mungkin. Hal ini dapat dicapai dengan mengadopsi berbagai cara: menggunakan praktek-praktek rekayasa perangkat lunak beralasan, menggunakan metodologi desain suara, mengadopsi alat kasus yang cocok, dan seterusnya. Error detection and removal. Terlepas dari menggunakan yang terbaik dari teknik menghindari kesalahan yang tersedia, masih banyak kesalahan berhasil merayap ke dalam kode. Kesalahan ini harus dideteksi dan dihapus. Hal ini dapat dicapai untuk sebagian besar dengan melakukan tinjauan menyeluruh dan pengujian. Setelah kesalahan yang terdeteksi, mereka dapat dengan mudah diperbaiki. Fault-tolerance. Tidak peduli seberapa cermat menghindari kesalahan dan teknik deteksi error digunakan, maka hampir tidak mungkin untuk membuat sistem perangkat lunak yang praktis seluruhnya bebas dari kesalahan. Beberapa kesalahan masih bertahan bahkan setelah melakukan tinjauan menyeluruh dan pengujian. Kesalahan menyebabkan kegagalan. Artinya, kegagalan adalah manifestasi dari kesalahan laten dalam sistem. Oleh karena itu untuk mencapai keandalan yang tinggi, bahkan dalam situasi di mana kesalahan yang hadir, sistem harus mampu mentolerir kesalahan dan menghitung hasil yang benar. Ini disebut fault-tolerance. Toleransi kesalahan dapat dicapai dengan hati-hati memasukkan redundansi.

Hal ini relatif sederhana untuk merancang peralatan perangkat keras yang akan kesalahan-toleran. Berikut ini adalah dua metode yang populer digunakan untuk hardware mencapai toleransi kesalahan: Built in self test(BIST) : di BIST, sistem secara berkala melakukan tes diri komponennya. Setelah deteksi kegagalan, sistem secara otomatis reconfigures itu sendiri dengan beralih keluar komponen yang rusak dan switching di salah satu komponen yang baik berlebihan. Triple modular redundancy (TMR) : pada TMR, seperti namanya, tiga salinan berlebihan dari semua komponen penting yang dibuat untuk dijalankan secara bersamaan (lihat gambar. 11). Perhatikan bahwa pada gambar. 11, C1, C2 dan C3 adalah salinan berlebihan dari komponen kritis yang sama. Sistem ini melakukan pemungutan suara dari hasil yang dihasilkan oleh komponen berlebihan untuk memilih hasil mayoritas. TMR dapat membantu mentolerir terjadinya kegagalan tunggal hanya setiap saat. (bisa Anda menjawab mengapa skema TMR efektif dapat mentolerir kegagalan komponen tunggal hanya?) sebagai asumsi yang tersirat dalam teknik TMR adalah bahwa pada setiap saat hanya satu dari tiga komponen berlebihan dapat menghasilkan hasil yang salah. Hasil pemungutan suara mayoritas setelah akan keliru jika dua atau lebih komponen dapat gagal secara bersamaan (lebih tepatnya, sebelum perbaikan dapat dilakukan). Dalam situasi di mana dua atau lebih komponen yang cenderung gagal (atau menghasilkan hasil yang salah), maka jumlah yang lebih besar akan diperlukan pengulangan untuk dimasukkan. Sebuah pemikiran kecil dapat menunjukkan bahwa setidaknya 2n +1 komponen berlebihan yang diperlukan untuk mentolerir kegagalan simultan komponen n.

Dibandingkan dengan perangkat keras, perangkat lunak toleransi kesalahan jauh lebih sulit untuk dicapai. Untuk menyelidiki alasan di balik ini, mari kita membahas teknik saat ini sedang digunakan untuk mencapai toleransi kesalahan perangkat lunak. Kami melakukan hal ini dalam subbagian berikut. 7. Kendala Waktu Kita telah melihat bahwa kebenaran real-time tugas tergantung baik pada kebenaran logis dari hasil seperti pada satisfcation kendala waktu yang sesuai. Batasan waktu sebagaimana akan kita lihat dalam hal inibagian, pada kenyataannya berlaku untuk peristiwa-peristiwa tertentu dalam suatu sistem. Peristiwa ini dapat dihasilkan oleh tugas-tugas mereka diri dari environtment sistem.

Sebuah contoh dari peristiwa adalah peristiwa aktivasi motor. Ingat bahwa hasil dapat dihasilkan pada waktu yang berbeda dan tidak mungkin dalam bentuk tunggal pada waktu hasilnya. Pertama kita harus benar mencirikan kejadian dalam sistem, untuk memahami perilaku waktu real-time sistem. 7.2 Klasifikasi Kendala Waktu Sebuah klasifikasi dari berbagai jenis kendala waktu adalah penting. Tidak hanya akan memberi kita wawasan tentang berbagai jenis kendala waktu yang bisa eksis dari pemeriksaan kasual masalah. Hal ini, selain untuk memahami lebih baik tentang perilaku dari suatu sistem, juga dapat membiarkan kita bekerja di luar spesifikasi sistem real-time secara akurat. Kendala waktu yang berbeda terkait dengan sistem real-time secara luas dapat diklasifikasikan ke dalam kinerja dan perilaku kendala. Kendala kinerja adalah kendala yang dikenakan pada respon sistem. Kendala perilaku yang contraints yang dikenakan pada rangsangan yang dihasilkan oleh environtment. Kendala perilaku memastikan bahwa environtment sistem adalah berperilaku baik, sedangkan kendala kinerja memastikan bahwa sistem komputer melakukan memuaskan. Masing-masing kinerja dan kendala perilaku lebih lanjut dapat diklasifikasikan ke dalam tiga jenis sebagai berikut: - kendala keterlambatan - Batas Waktu kendala - durasi kendala Kendala Durasi (Durational Constraint) : Dalam kasus kendala durasi, peristiwa terjadi diperlukan untuk durasi tertentu. Contoh dari kendala durational yang kami pertimbangkan dalam Sec. 1.7.3 adalah sebagai berikut: Jika Anda menekan tombol handset kurang dari 15 detik terhubung ke operator lokal. Jika Anda menekan tombol untuk setiap durasi antara 15 sampai 30 detik, menghubungkan ke operator internasional. Jika Anda terus menekan tombol selama lebih dari 30 detik, kemudian melepaskannya akan menghasilkan nada panggil. Suatu sistem dikatakan real-time ketika ekspresi kuantitatif dari waktu yang diperlukan menggambarkan perilaku sistem. Real-time task salah satunya yang berhubungan dengan beberapa kendala waktu. Real-time task diklasifikasikan menjadi baik hard atau soft real-time tergantung pada jenis konsekuensi dari tugas gagal untuk memenuhi kendala waktunya. Sistem Safety-critical adalah salah satu yang tidak memiliki sebuah keadaan gagal-aman dan kegagalan sistem dapat menyebabkan kerusakan parah. Banyak hard real-time sistem adalah safety-critical di alam. Fitur karakteristik khas dari sistem real-time yang sulit termasuk tertanam, umpan balik dan struktur didistribusikan, dan keselamatan-kritis. Hal ini mungkin meskipun bahwa beberapa sistem real-time mungkin tidak memiliki fitur ini. Ada dua kategori utama kendala waktu dalam tertanam sistem hard real-time : kinerja kendala dan kendala perilaku. Kendala kinerja kendala dikenakan pada waktu respon dari sistem

komputer mengendalikan, sedangkan kendala perilaku yang waktu kendala dikenakan pada perilaku lingkungan. Kendala kinerja tidak bisa dijamin jika kendala perilaku yang tidak puas. Kami membahas bagaimana model kinerja dan jenis perilaku kendala menggunakan Extended Finite State Machine (EFSM) yang memperluas FSM tradisional dengan konsep pengaturan timer dan generasi yang sesuai dari acara alarm timer. Seperti model di samping untuk melayani sebagai teknik spesifikasi, juga dapat membantu dalam verifikasi dan generasi kode otomatis.

MODUL II REAL TIME TASK SCHEDULING

1.

Beberapa konsep penting Pada sesi ini diperkenalkan beberapa konsep penting dan terminologynya. Task instance : Setiap kali sebuah event terjadi, memicu tugas untuk dijalankan. Dengan kata lain, tugas dihasilkan ketika beberapa peristiwa tertentu terjadi. Tugas real time karena biasanya sejumlah besar terjadi pada instants waktu yang berbeda tergantung pada waktu kejadian. Setiap kali tugas berulang, yang disebut instance task. Pertama kali tugas terjadi, yang disebut task instance pertama. Instance task Ti(j) akan dinotasikan sebagai Ti (j). setiap contoh realtime tugas-tugas yang terkait dengan tenggat waktu yang perlu untuk diselesaikan dan menghasilkan hasil.

Relative deadline versus abslolute deadline: Absolute deadline adalah nilai waktu mutlak dimana hasil yang diharapkan dari tugas. Dengan demikian, absolute deadline adalah sama dengan interval waktu antara waktu 0 dan instan yang sebenarnya di mana batas waktu terjadi yang diukur oleh beberapa physical clock. Relative deadline adalah interval waktu antara kedatangan tugas dan deadline yang sesuai. Perbedaannya dapat dilihat pada gambar 1. Relative deadline dari task1 adalah d, dan absolute deadline adalah +d.

Respone time :

Waktu respone adalah durasi waktu memproses tugas untuk menghasilkan hasil. Untuk hard real time task, selama tenggat waktu terpenuhi semua, tidak ada keuntungan khusus dari menyelesaikan tugas awal. Namun, pada soft real time tasks, waktu rata-rata tugas metrik penting untuk mengukur kinerja scheduler. Sebuah scheduler untuk soft real task harus mencoba untuk menjalankan tugas-tugas dalam urutan yang meminimalkan waktu respon time rata-rata dari task.

Task precedence. Suatu tugas dikatakan mendahului tugas lain, jika tugas pertama harus selesai sebelum tugas kedua dapat dimulai. Ketika tugas T1 mendahului tugas Tj, maka setiap instance dari Ti mendahului contoh yang sesuai Tj. Artinya, jika T1 mendahului T2, maka T1 (1) mendahului T2 (1), T1 (2) mendahului T2 (2) dan seterusnya.

Data sharing: Tugas sering kali perlu untuk berbagi hasil antara satu sama lain, ketika satu tugas perlu berbagi hasil yang dihasilkan oleh tugas-tugas lainnya. Tugas kedua harus mendahului tugas pertama. Bahkan, hubungan diutamakan antara dua tugas kadang-kadang menyiratkan berbagi data antara dua tugas. Namun, hal ini tidak selalu benar. Suatu tugas mungkin diperlukan untuk mendahului yang lain bahkan ketika tidak ada berbagi data. 2. Tipe real time task dan karakteristiknya Tiga kategori dari real time task dan karakteristiknya : Periodic task: Yaitu set job yang dieksekusi berulang pada interval waktu regular. Periodic task Ti dapat direpresentasikan dengan 4 simbol( yang mana pi adalah task periodic, ei adalah waktu eksekusi dan di adalah deadline relative dari task. Tiap task periodik Ti adalah deretan job Ji,1, Ji,2, , Ji,n. Fase task Ti adalah release time ri,1 dari job pertama Ji,1 dalam task. Dinyatakan oleh i (phi). Periode task pi dari task Ti adalah panjang minimum interval waktu antara release time dari job. Waktu eksekusi ei dari task Ti adalah waktu eksekusi maksimum semua job dalam task periodik . Periode dan waktu eksekusi setiap task periodic dalam system diketahui dengan tingkat akurasi yang selalu dapat diterima.

Sebagian besar tugas hadir dalam sistem real-time yang khas periodik. Alasan untuk ini adalah bahwa banyak kegiatan yang dilakukan oleh real-time sistem yang periodik di alam, misalnya pemantauan kondisi tertentu, informasi pemungutan suara dari sensor secara berkala untuk melaksanakan tindakan tertentu secara berkala (seperti drive beberapa aktuator). Kita akan mempertimbangkan contoh-contoh tugas seperti yang ditemukan di sebuah pabrik kimia yang khas. Dalam sebuah pabrik kimia beberapa memonitor suhu, dan konsentrasi bahan kimia sampel secara berkala memantau temperatur saat ini, tekanan, konsentrasi bahan kimia dan nilai-nilai yang kemudian dikomunikasikan ke controller tanaman. Contoh dari suhu, tekanan, dan kimia konsentrasi tugas pemantauan biasanya menghasilkan melalui interupsi yang diterima dari timer periodik. Masukan-masukan ini digunakan untuk menghitung tindakan korektif yang diperlukan untuk mempertahankan reaksi kimia pada tugas pemantauan biasanya menghasilkan melalui interupsi yang diterima dari timer periodik.Masukan-masukan ini digunakan untuk menghitung tindakan korektif yang diperlukan untuk mempertahankan reaksi kimia pada tingkat tertentu. Tindakan korektif kemudian dilakukan melalui aktuator. Tugas periodik pada contoh di atas ada dari waktu inisialisasi sistem. Namun, tugas periodik juga dapat datang ke dalam keberadaan dinamis. Perhitungan yang terjadi di monitor lalu

lintas pulau kecil, sekali penerbangan yang terdeteksi oleh radar ada zona sinyal radar merupakan contoh tugas periodik yang dibuat secara dinamis. Sporadis tugas. Sebuah tugas sporadis adalah salah satu yang berulang di instants acak. Sebuah tugas sporadis Ti dapat diwakili oleh tiga tupel: Ti = (ei, di, gi) dimana ei adalah kasus terburuk waktu eksekusi sebuah instance dari tugas, gi menunjukkan pemisahan minimum antara dua contoh berturut-turut dari tugas, di adalah tenggat waktu relatif. Pemisahan minimum (gi) antara dua contoh berturut-turut tugas menyiratkan bahwa sekali sebuah instance dari sebuah tugas yang sporadis terjadi, contoh berikutnya tidak dapat terjadi sebelum gi unit waktu telah berlalu. Itulah gi membatasi tingkat di mana tugas dapat muncul secara sporadis. Seperti yang dilakukan untuk tugas periodik, kita akan gunakan untuk konvensi bahwa contoh pertama dari tugas Ti sporadis dinotasikan dengan Ti (1) dan contoh berturut-turut oleh Ti (2), Ti (3), dll Banyak tugas-tugas sporadis seperti kedatangan pesan darurat sangat penting di alam. Sebagai contoh, dalam robot tugas yang akan dihasilkan untuk menangani kendala yang tiba-tiba muncul adalah tugas sporadis. Di pabrik, tugas yang menangani kondisi kebakaran adalah tugas yang sporadis. Waktu terjadinya tugas-tugas ini tidak bisa untuk diprediksi. Kekritisan tugas sporadis bervariasi dari sangat kritis sampai sedang kritis. Sebagai contoh, sebuah I / O device mengganggu, atau mengganggu DMA adalah cukup penting. Namun, tugas penanganan pelaporan kondisi api sangat penting. Aperiodik tugas. Tugas aperiodik dalam banyak hal mirip dengan tugas sporadis.Tugas aperiodik dapat timbul pada instants acak. Namun, dalam kasus tugas aperiodik, yang gi jarak minimum antara dua contoh berturut-turut dapat 0. Artinya, dua atau lebih instances dari tugas aperiodik mungkin terjadi pada saat waktu yang sama.Juga, batas waktu untuk sebuah tugas aperiodik dinyatakan sebagai nilai rata-rata baik atau dinyatakan statistik. Tugas aperiodik umumnya lunak real-time tugas. Sangat mudah untuk menyadari tugas kenapa aperiodic harus lembut tugas real-time.Tugas aperiodik dapat kambuh secara berurutan. Oleh karena itu menjadi sangat sulit untuk memenuhi tenggat waktu dari semua contoh tugas aperiodik. Ketika beberapa tugas aperiodik kambuh dalam suksesi cepat, ada bunching dari contoh tugas dan mungkin menyebabkan melewatkan tenggat waktu beberapa. Seperti telah dibahas, soft real-time tugas dapat mentolerir beberapa tenggat meleset. Contoh dari tugas aperiodik adalah sistem terdistribusi. Tugas penebangan dapat dimulai dengan tugas yang berbeda berjalan pada node yang berbeda. Permintaan penebangan dari tugas yang berbeda mungkin tiba di logger hampir pada saat yang sama, atau mungkin permintaan spasi keluar pada waktunya. Contoh lain tugas aperiodik mencakup permintaan operator, menekan keyboard, gerakan mouse, dll Bahkan, semua perintah interaktif yang dikeluarkan oleh pengguna ditangani oleh tugas aperiodik. Bentuk klasifikasi dari penjadualan sistem waktu nyata yang lainnya, dibagi dalam dua kategori yaitu : a. Planning based b. Best effort

Dalam planning based, ketika perintah datang maka scheduller akan mencari waktu deadlinenya, jika perintah tersebut akan di eksekusi. Dalam best effort scheduler, tidak ada penerimaan yang dijalankan. Semua perintah yang datang akan dijadualkan dan upaya yang paling bagus yang akan dihubungkan dengan deadlinenya. Salah satu dari tiga klasifikasi dari algoritma penjadualan sistem waktu nyata adalah berdasarkan jenis target atas perintah yang akan dijalankan, perbedaan algoritma penjadualannya ada pada bentuknnya yaitu : a. Uniprocessor b. Multiprocessor c. Terdistribusi Algoritma penjadualan Uniprocessor merupakan algoritma yang paling mudah diantara ketiga algoritma diatas. Perbedaan yang utama pada ketiga algoritma diatas ada pada masalah pembagian prosesor dengan perintah-perintah mana yang akan dijalankan. Algoritma penjadualan uniprocessor terpusat pada satu prosesornya itu saja, sedangkan pada multiprocessor dan terdistribusi harus dikomunikasikan setiap prosesor agar dapat dijadualkan untuk masing-masing prosesor. Untuk itu, kita akan membahas pada chapter 4 tentang algoritma penjadualan multiprosesor dan terdistribusi. 4.3 Sebuah Generalized Task Scheduler Kami telah menyatakan bahwa scheduler siklik sangat populer dalam murah aplikasi real-time. Namun, pembahasan kita pada scheduler siklik sejauh terbatas pada real-time penjadwalan tugas periodik. Di sisi lain, aplikasi praktis biasanya terdiri dari campuran tugas periodik, aperiodik, dan sporadis sedikit. Pada bagian ini, kita membahas bagaimana tugas aperiodik dan sporadis dapat diakomodasi oleh scheduler siklik. Ingatlah bahwa waktu kedatangan dari tugas aperiodik dan sporadis dinyatakan statistik. Tidak ada cara untuk menetapkan tugas untuk fit aperiodik dan sporadis tanpa menurunkan jauh menggunakan layak dalam seluruh sistem. Dalam perencana umum, awalnya jadwal (tugas dari frame tugas) hanya untuk tugas-tugas periodik disiapkan. Para sporadis bahwa tugas aperiodik dijadwalkan dalam waktu kendur mungkin tersedia dalam frame. Dalam waktu slack adalah waktu di sebelah kiri setelah tugas periodik yang dialokasikan ke bagian keluar. Tidak ada waktu nol slack dalam bingkai hanya bisa ada ketika waktu eksekusi tugas itu lebih kecil daripada ukuran frame. Sebuah penjadwalan tugas sporadis diambil hanya jika tersedia cukup waktu untuk tugas sporadis lunak untuk menyelesaikan sebelum datang jatuh tempo. Oleh karena itu, tugas sporadis pada saat kedatangan tunduk pada tes penerimaan. Penerimaan memeriksa apakah tugas mungkin akan selesai dalam waktu ketika dijalankan di jam sibuk yang tersedia. Jika tidak mungkin untuk memenuhi dalam tugas, maka perencana menolak dan menjalankan rutinitas pemulihan yang sesuai dengan tugas kembali. Karena tugas periodik tidak memiliki tenggat waktu yang ketat, mereka dapat diambil untuk penjadwalan tanpa penerimaan dan usaha yang terbaik di zona lunak mereka dalam waktu yang tersedia. Meskipun tugas aperiodik untuk setiap pengujian penerimaan dilakukan, namun tidak ada jaminan diberikan untuk perputaran tugas dan usaha yang terbaik adalah dibuat untuk melakukan tugas sesegera mungkin.

Implementasi yang efisien dari rencana ini adalah bahwa waktu tunda disimpan dalam sebuah tabel dan untuk pengujian penerimaan tabel ini digunakan untuk memeriksa schedulability tugas yang akan datang. Alternatif lain yang populer adalah bahwa tugas aperiodik dan sporadis diterima tanpa bukti penerimaan, dan upaya terbaik untuk memenuhi tenggat waktu masing-masing. 5. Schedulers Hybrid Kita telah melihat bahwa untuk jam-driven scheduler, yang menunjuk interupsi penjadwalan didefinisikan melalui hari dan dalam kasus-event scheduler didefinisikan oleh acara-acara seperti kedatangan dan tugas complition. Dalam hy Brid scheduler, poin penjadwalan didefinisikan baik interupsi trought acara jam dan kejadian. Inthe berikut, kita bahas kali-iris round-robin penjadwalan populer hy Brid penjadwal. Waktu-iris round-robin penjadwalan, waktu-iris round-robin scheduler yang sangat umum digunakan dalam sistem operasi tradisional. Dan jika profesuly disccused dalam kitab sistem operasi standar dan di avaliablle sastra. Oleh karena itu, kami terus yime disccusion kami diiris round-robin penjadwalan untuk minimum. The-iris penjadwalan round robin adalah metode penjadwalan preemptive. Dalam penjadwalan round robin. Siap tugas diadakan di tugas queqe.The melingkar diambil satu. setelah Setelah suatu tugas selesai, berlangsung selama interval waktu tetap tertentu yang disebut irisan waktu nya. Jika tugas tidak selesai dalam irisan waktu yang dialokasikan,maka dimasukkan kembali ke dalam antrian melingkar. Sebuah waktu-iris roundrobinscheduler kurang mahir dari meja-driven atau siklik scheduler untuk penjadwalan tugas realtime. Hal ini lebih mudah untuk dilihat mengapa demikian. Sebuah waktu-iris round robin scheduler tugas memperlakukan semua sama dan tugas semua ditugaskan irisan waktu yang sama terlepas dari prioritas mereka, kekritisan, atau kedekatan tenggat waktu. Jadi tugas dengan tenggat waktu yang pendek mungkin gagal untuk menyelesaikan tepat waktu. 9. Beberapa masalah yang berhubungan dengan RMA Pada bagian ini, kita membahas beberapa isu yang terkait dengan berbagai tugas pemrograman RMA. Pertama kita menganalisis kerugian keuntungan dari menggunakan RMA untuk perencanaan tugas-tugas real-time. Kemudian menganalisis mengapa RMA tidak lagi optimal ketika tenggat waktu tugas berbeda dari periode yang sesuai tugas. 9.1 Keuntungan dan RMA Disadavantages Bagian pertama kita membahas keuntungan penting dari RMA pada Fed. Berikut adalah beberapa kelemahan menggunakan RMA. Seperti kita catat sebelumnya, paling sering RMA digunakan untuk program tugas real-time dalam aplikasi praktis. Dukungan dasar tersedia secara real-time sistem operasi, hampir semua bisnis untuk mengembangkan aplikasi menggunakan RMA. RMA sederhana dan efisien. RMA juga merupakan tugas prioritas algoritma penjadwalan yang optimal statis. Berbeda dengan Fed, yang memerlukan beberapa struktur data yang khusus. Real-time sistem operasi mendukung tingkat yang lebih komersial prioritas (statis) tugas-tugas real-time. Tugas-tugas yang telah antrian prioritas yang lebih tinggi waktu nyata diatur dalam multi-suara (lihat Gambar 15). Di antara tugas dalam satu tingkat, ini operasi real-time sistem bisnis umumnya memberikan pilihan pembagian waktu dan perencanaan penjadwalan round robin atau FIFO. Kami juga dibahas dalam bab selanjutnya mengapa pilihan ini rekan pemrograman

Overload sementara penanganan RMA: RMA memiliki kapasitas overload penanganan yang baik sementara. Overload kapasitas manajemen yang baik transien dasarnya berarti bahwa ketika tugas prioritas yang lebih rendah tidak selesai dalam waktu penyelesaian yang dijadwalkan, tidak dapat melakukan apapun tugas prioritas lebih tinggi untuk membuang waktu mereka. Sekarang mari kita memeriksa bagaimana overload sementara mempengaruhi satu set tugas yang dijadwalkan di RMA. Akan mempengaruhi keterlambatan dalam penyelesaian tugas prioritas rendah untuk tugas prioritas lebih tinggi? Ada beberapa skema untuk menugaskan nilai prioritas ketika nomor tugas waktu nyata dijadwalkan jelas melebihi tingkat prioritas waktu nyata yang didukung oleh dasar sistem operasi. Beberapa skema penting digunakan sebagai berikut : 1. Skema bentuk umum Skema aritmatik Skema geometri Skema logaritma

Skema Bentuk Umum

Pada skema ini, semua tugas dalam aplikasi secara umum dibagi atas tingkat prioritas yang ada. Bagian bentuk umum tugas diantara tingkat prioritas yang ada dapat dengan mudah dicapai ketika nomor tingkat prioritas dengan jelas membagi nomor tugas untuk penjadwalan. Jika bagian bentuk umum tidak mungkin kemudian tugas dibuat untuk membagi tingkat prioritas lebih rendah (misal nilai prioritas lebih tinggi dibagi oleh nomor tugas lebih rendah) untuk penjadwalan lebih baik. Jadi, jika N tugas dan n tingkat prioritas maka (N/n) tugas dilaksanakan untuk sejumlah level dan sisa tugas dibagi atas tingkat prioritas lebih rendah. 2. Skema aritmatika: Dalam skema ini, jumlah tugas yang diberikan kepada tingkat prioritas yang berbeda membentuk suatu barisan aritmetika. Salah satu kemungkinan adalah bahwa tugas dari "r" untuk memiliki periode lebih pendek diberi tingkat prioritas tertinggi, tugas-tugas yang ditugaskan 2r tingkat prioritas tertinggi berikutnya dan seterusnya. Misalkan n adalah jumlah total tugas. Maka N = r + 2r + 3r + 4r + ... nr, di mana n adalah jumlah tingkat prioritas. 3. Pola geometris: dalam skema ini, jumlah tugas yang diberikan kepada tingkat prioritas yang berbeda membentuk suatu barisan geometri. Ini berarti bahwa jika r tugas memiliki periode lebih pendek diberi prioritas tertinggi, maka tugas berikutnya diberikan prioritas KR2 terendah berikutnya dan seterusnya. Oleh karena itu, jika n adalah jumlah tugas dan n adalah jumlah tingkat prioritas maka N = r + + KR2 KR3 KR4 + + ... krn. 4. Diagram Logaritmik: Skema logaritmik juga dikenal sebagai skema alokasi jaringan logaritmik. Ide dasar dibalik algoritma pemetaan jaringan skema adalah bahwa tugas periode (prioritas) harus diberikan prioritas yang berbeda tingkat lebih pendek sebanyak mungkin. Tugas prioritas yang lebih rendah Banyak di sisi lain, dapat dipukuli bersama-sama pada tingkat yang sama prioritas tanpa menyebabkan masalah untuk tugas prioritas tinggi direncanakan. Untuk mencapai alokasi kotak logaritmik, tugas yang pertama disusun dalam rangka meningkatkan periode mereka. Untuk tugas prioritas, rentang periode tugas yang dibagi menjadi urutan interval logaritma. Tugas dapat diberikan tingkat prioritas maka interval adalah logaritmik. Dalam skema ini, jika Pmax adalah periode maksimum antara tugas dan pmin adalah periode minimum antara

tugas-tugas, maka r adalah dihitung sebagai r = ((Pmax) / pmin) 1 / n, dimana n adalah jumlah tingkat prioritas. Tugas dengan periode sampai dengan r ditugaskan untuk prioritas tertinggi, tugastugas dengan periode dalam rentang ra r2 ditugaskan untuk tingkat prioritas tertinggi berikutnya (dengan asumsi k = 1 untuk kesederhanaan), tugas-tugas dengan periode di kisaran r3 r2 ditugaskan ke tingkat lebih tinggi berikutnya dan seterusnya. Percobaan simulasi telah menunjukkan bahwa prioritas logaritmik bekerja sangat baik untuk masalah praktis. Perhatikan bahwa tugas logaritmik bekerja dengan baik hanya ketika periode tugas yang merata dalam interval. Namun, jika sebagian besar periode tugas ini terkelompok di bagian kecil dari interval, dan tugas lainnya yang jarang didistribusikan di interval, maka skema logaritmik dapat menghasilkan hasil yang buruk. Penjadwalan tugas-tugas secara real time pada prosesor tunggal merupakan daerah penelitian intensif di 70 dan teori yang mendasarinya kini berkembang dengan baik. Uniprocessor tugas dalam algoritma penjadwalan waktu tugas nyata dapat sebagian besar didorong callsefied pada jam, acara algoritma didorong dan hibrida. Dalam program jam-driven, pemrograman poimts didefinisikan oleh interrupt dihasilkan oleh jam sistem. Penting jam diatur oleh programmer didasarkan pada tabel dan siklis. Program sebagian besar adalah siklus menggunakan aplikasi embedded kecil karena kesederhanaan dan overhead yang rendah waktu. Di antara sejumlah besar hasil yang tersedia pada tugas-tugas penjadwalan pada uniprocessor real-time-event, dua algoritma yang lebih signifikan: EDF (Terlama dealin Pertama): Ini adalah prioritas algoritma penjadwalan yang optimal dinamis. RMA (Analisis irama monoton): ini adalah prioritas algoritma penjadwalan yang optimal statis. Thugh EDF adalah tugas real-time algoritma penjadwalan yang optimal pada uniprocessor, itu menderita dari kekurangan-sedikit. Ini tidak dapat menjamin bahwa tugas-tugas penting memenuhi tenggat waktu masing-masing di bawah overload sementara. Selain itu, impelementation berbagi sumber daya antara tugas-tugas real-time sangat sulit. Oleh karena itu, EDF berbasis algoritma jarang digunakan dalam praktek dan RMA berbasis algoritma penjadwalan telah menjadi populer.

MODUL III

Kami ingin menekankan lagi bahwa inversi prioritas terbatas muncul ketika teknik tradisional untuk membagi sumber daya secara non-preemptable seperti Semaphore atau monitor ditempatkan secara aplikasi waktu nyata. Mungkin cara paling sederhana untuk menghindari inversi prioritas adalah untuk mencegah preemption (dari penggunaan CPU) dari tugas prioritas rendah memegang sumber daya yang penting dengan tugas-tugas prioritas menengah. Hal ini dapat dicapai dengan meningkatkan tingkat prioritas tugas prioritas rendah untuk menjadi sama dengan menunggu dari tugas prioritas tinggi. Dengan kata lain, tugas prioritas rendah dibuat untuk mewarisi prioritas menunggu tugas prioritas tinggi. Mekanisme dasar dari tugas prioritas rendah mewarisi prioritas tugas prioritas tinggi yang berbentuk gagasan utama di balik protokol warisan prioritas (PIP). Protokol sederhana ini berfungsi sebagai mekanisme real-time berbagi sumber daya dasar, berdasarkan protokol yang lebih canggih telah dirancang. Pada bagian berikut kita bahas warisan protokol prioritas dasar (PIP) dalam beberapa detail. Selanjutnya, kita membahas loker tertinggi protokol (HLP) dan prioritas plafon protokol (PCP) yang telah dikembangkan dengan memperluas ide prioritas pewarisan sederhana lebih lanjut. Prioritas warisan protokol (PIP) Dasar warisan protokol prioritas (PIP) adalah teknik sederhana untuk berbagi sumber daya kritis di antara tugas-tugas tanpa menimbulkan inversi prioritas terbatas. Ternyata, desainer operasi real-time sistem tidak merasa sangat sulit untuk mendukung mekanisme prioritas warisan dasar. Bahkan, seperti yang kita bahas dalam bab 5, sebagian besar waktu-nyata sistem operasi yang tersedia secara komersial saat ini melakukan dukungan protokol ini. PIP dasar diusulkan oleh Sha dan Rajkumar. Inti dari protokol ini adalah bahwa setiap kali tugas menderita inversi prioritas, tugas prioritas yang lebih rendah memegang sumber daya yang dibangkitkan melalui mekanisme warisan prioritas. Hal ini memungkinkan untuk menyelesaikan penggunaan atas sumber daya penting sedini mungkin tanpa harus menderita preemptions dari tugas-tugas prioritas menengah. Ketika banyak tugas yang menunggu untuk sumber daya, tugas dipegang sumber daya yang mewarisi prioritas tertinggi dari semua tugas menunggu untuk sumber daya (jika prioritas ini lebih besar dari prioritas sendiri). Karena tugas prioritas rendah memegang sumber daya dinaikkan untuk sama dengan prioritas tertinggi dari semua tugas menunggu untuk sumber daya yang diselenggarakan olehnya, tugas prioritas menengah tidak dapat mendahului dan inversi prioritas terbatas dihindari. Begitu tugas yang telah mewarisi prioritas dari sebuah tugas prioritas tinggi (karena memegang sumber daya), melepaskan sumber daya itu akan kembali nilai prioritas aslinya jika tidak ada sumber daya penting lainnya yang dipegang. Dalam hal ini yang memegang sumber daya penting lainnya, itu akan mewarisi prioritas tugas prioritas tertinggi menunggu sumber daya yang dipegang olehnya. Prioritas berubah ketika tugas memegang sumber daya telah digambarkan melalui contoh seperti yang ditunjukkan pada gambar. 3 dan 4. Dalam gambar. 3 empat skenario berturut-turut dalam eksekusi suatu sistem penggelaran PIP ditampilkan. Dalam masing-masing skenario, tugas melaksanakan ditampilkan gelap, dan tugas diblokir ditampilkan terang. Prioritas berubah ketika dua tugas Ti dan Tj menjalani dalam perjalanan eksekusi karena pewarisan prioritas ditampilkan. Ti adalah tugas prioritas rendah dengan prioritas 5 dan Tj adalah tugas prioritas yang lebih tinggi

dengan prioritas 10. Dalam skenario 1, Ti melaksanakan dan telah memperoleh sumber daya CR kritis. Dalam skenario 2, Tj telah siap dan menjadi prioritas tinggi adalah mengeksekusi. Dalam skenario 3, Tj memblokir setelah meminta untuk sumber daya R dan Ti Tj mewarisi prioritas itu. Dalam skenario 4, telah membuka sumber daya dan telah kembali prioritas aslinya dan Tj yang mengeksekusi dengan sumber daya. Dalam gambar. 4 perubahan prioritas tugas ditangkap pada garis waktu. Tugas T3 awalnya kunci CR sumber daya. Setelah beberapa waktu itu mendahului T2. Tugas T2 meminta sumber daya CR di t2. Sejak, T3 sudah memegang sumber daya, blok T2 dan T3 mewarisi prioritas dari T2. Ini telah ditunjukkan oleh gambar T2 dan T3 pada tingkat prioritas yang sama. Sebelum T3 bisa menyelesaikan penggunaan sumber daya CR, ia telah mendahului dengan prioritas yang lebih tinggi tugas T1. Permintaan T1 untuk CR1 pada waktu blok t3 dan T1 sebagai CR1 yang masih ditahan oleh T3. Jadi, pada titik ini ada dua tugas (T2 dan T1) menunggu sumber daya. T3 mewarisi prioritas tugas prioritas tertinggi menunggu (yaitu, T1). T3 penggunaannya melengkapi sumber daya di t4 dan segera setelah rilis sumber daya, hal itu akan kembali prioritas aslinya. Perlu dicatat bahwa tugas prioritas yang lebih rendah mempertahankan prioritas warisan, sampai memegang sumber daya yang diperlukan oleh tugas prioritas yang lebih tinggi. Setiap kali lebih dari satu tugas prioritas yang lebih tinggi sedang menunggu sumber daya yang sama, tugas memegang sumber daya maksimum mewarisi prioritas dari semua tugas prioritas tinggi. Hal ini jelas bahwa PIP dapat membiarkan tugas-tugas real-time berbagi sumber daya kritis tanpa membiarkan mereka dikenakan inversi prioritas terbatas. Namun, itu menderita dari dua masalah penting:

PIP lebih rentan terkena chain blocking dan tidak dapat mencegah terjadinya deadlock

Highest Locker Protocol(HIP) HLP ialah sebuah tambahan dari PIP dan ini digunakan untuk mengatasi beberapa kekurangan PIP.Pada HLP,semua resource penting dilengkapi dengan hasil prioritas yang di tahan.Prioritas yang ditahan pada CR secara tidak langsung maksimun prioritas dari semua

pekerjaan yg dapat mengakes resource tersebut.Dalam HLP,setelah task menerima sebuah resource,maka prioritasnya akan diatur agar sama dengan prioritas yang ditahan.Jika sebuah task memegang banyak resource,maka dia akan menerima prioritas tertinggi yang ditahan oleh resource itu.kita asumsi kan bahwa semua resource menghendaki agar semua task di ketahui sebelum di compile. Walaupun kita secara tak langung mendefenisikan bahwa prioritas tertahan ialah maksimun prioritas dari semua pekerjaan yang dapat menggunakan resource tersebut,aturan komputansi untuk prioritas yang ditahan sangat berbeda untuk penjadwalan FCFS .di FCFS,sebuah pekerjaan dikerjaan ketika yang lain menunggu. 5. Priority Ceiling Protocol (PCP) Prioritas Ceiling Protokol (PCP) memperluas ide-ide dari PIP dan HLP untuk memecahkan masalah inversi prioritas terbatas, chain block dan deadlocks, sementara inversi berdasarkan warisan minimazing waktu yang sama. Perbedaan fundamental antara menyenangkan-PIP dan PCP adalah bahwa yang pertama adalah pendekatan berlebihan sedangkan yang terakhir tidak. Dalam PIP setiap kali permintaan sumber daya dibuat, sumber daya akan dialokasikan untuk tugas apakah bebas atau tidak. Namun, di PCP sumber daya tidak dapat meminta tugas bahkan jika sumber daya bebas. Seperti halnya HLP, PCP menggabungkan nilai maksimal Ceil(CRi) untuk setiap sumber daya CRi, yang merupakan nilai prioritas maksimum untuk semua tugas yang bisa menggunakan CRi. Sebuah sistem operasi variabel yang disebut CSC (Current System Ceiling) digunakan untuk melacak nilai maksimum dari semua sumber daya yang digunakan pada setiap waktu. Jadi, setiap saat, CSC = max ({Ceil(CRi)/CRi saat ini digunakan}). Saat system mulai, CSC diinisialisasi ke 0 (prioritas lebih rendah daripada prioritas terendah dalam sistem) Berbagi sumber daya antara tugas-tugas di bawah PCP diatur oleh dua aturan untuk menangani aplikasi sumber daya: alokasi sumber daya dan pelepasan sumber daya. Kami menjelaskan dua aturan sebagai berikut: Sumber Daya aturan hibah terdiri dari dua klausa. Kedua klausa diterapkan ketika permintaan tugas untuk mengunci sumber daya. 1. Sumber Daya permintaan klausa: a. Jika T1 tugas memegang sumber daya yang sama dengan prioritas plafon CSC, maka tugas yang diberikan akses ke sumber daya. b. Jika tidak, T1 tidak akan diberikan CR3, kecuali prioritas yang lebih besar dari CSC (mis. Pri (T3)> CSC). Dalam kedua (a) dan (b) di atas, jika T1 diberikan akses ke sumber daya CR3 dan jika CSC <ceil (CR3), maka CSC diatur ke ceil (CR3) 2. Warisan klausa: Ketika tugas dicegah dari penguncian sumber daya dengan gagal memenuhi klausul hibah sumber daya, blok dan tugas memegang sumber daya mewarisi prioritas tugas diblokir jika prioritas tugas memegang sumber daya yang lebih rendah dari tugas diblokir.

Sumber Daya rilis aturan: Jika tugas melepaskan sumber daya yang penting itu memegang dan jika prioritas plafon sumber ini sama dengan CSC, maka CSC dibuat sama dengan nilai maksimum plafon dari semua sumber daya lain yang digunakan; lain CSC tetap tidak berubah. Tugas melepaskan sumber daya baik akan kembali prioritas aslinya atau prioritas tertinggi dari semua tugas menunggu untuk setiap sumber yang mungkin masih memegang, mana yang lebih tinggi. PCP sangat mirip dengan HLP kecuali bahwa dalam PCP tugas ketika diberikan sumber daya tidak ada segera mendapatkan prioritas plafon sumber daya. Bahkan, di bawah PCP prioritas tugas tidak berubah setelah mendapatkan sumber daya hanya nilai dari variabel sistem CSC perubahan. Prioritas perubahan tugas oleh klausa warisan PCP hanya ketika satu atau lebih tugas menunggu untuk sumber daya itu adalah memegang. Tugas meminta blok sumber daya yang hampir identik di bawah situasi PCP dan HLP. Satu-satunya perbedaan adalah bahwa dengan PCP T1 tugas juga dapat diblokir dari memasuki bagian kritis, jika ada sumber daya yang ada saat ini dipegang oleh beberapa tugas lain yang prioritas plafon geater atau sama dengan yang dari T1. Sebuah pikiran kecil akan menunjukkan bahwa pengaturan ini mencegah blockings warisan yang tidak perlu disebabkan karena prioritas tugas mendapatkan sumber daya yang mengangkat nilainilai yang sangat tinggi (prioritas langit-langit) pada saat ia memperoleh sumber daya. Dalam PCP, dinaikkan ke nilai langit-langit. Dengan membandingkan nilai dari CSC terhadap prioritas tugas meminta sumber daya, kemungkinan kebuntuan dihindari. Jika tidak ada perbandingan dengan CSC, dunia telah dibuat (seperti dalam PIP), tugas prioritas yang lebih tinggi kemudian dapat mengunci beberapa sumber daya yang diperlukan oleh tugas yang mengarah ke situasi kebuntuan potensial di mana setiap tugas memegang bagian dari sumber daya yang dibutuhkan oleh tugas lainnya. 6. Berbagai Jenis Prioritas Dalam Inversi PCP Tugas berbagi seperangkat sumber daya menggunakan PCP dapat menjalani ada jenis penting dari invertions prioritas inversi langsung, inversi warisan terkait, dan inversi menghindar. Dalam berikut, kita akan membahas ada jenis inversi bahwa tugas mungkin mengalami PCP di. 1. Inversi Langsung: inversi langsung terjadi ketika sebuah tugas prioritas tinggi menunggu untuk suatu tugas prioritas yang lebih rendah untuk melepaskan sumber daya yang dibutuhkannya. 2. Warisan-Terkait Inversi: Pertimbangkan situasi di mana tugas prioritas yang lebih rendah memegang sumber daya dan tugas prioritas yang lebih tinggi sedang menunggu untuk itu. Kemudian, prioritas dari tugas prioritas yang lebih rendah dinaikkan dengan yang tugas prioritas tinggi menunggu oleh klausa warisan PCP. Akibatnya, tugas-tugas prioritas antara tak perlu menjalani inversi sumber daya warisan terkait. 3. Penghindaran-Terkait Inversi: Dalam PCP, ketika permintaan tugas sumber daya prioritas adalah diperiksa terhadap CSC. Tugas meminta diberikan penggunaan sumber daya hanya bila prioritasnya lebih besar dari CSC. Oleh karena itu, bahkan ketika sumber daya yang tugas meminta idle, tugas meminta dapat ditolak akses ke sumber daya jika prioritas tugas meminta adalah kurang dari CSC. Sebuah tugas yang prioritas yang lebih besar dari tugas yang sedang dijalankan, tetapi lebih besar dari CSC dan kebutuhan sumber daya yang saat ini tidak digunakan, dikatakan untuk menjalani inversi menghindari terkait.

7. peranan penting fitur dari PCP Dalam bagian ini, kita dioskusikan peranan penting dari fitur PCP, pertama kita membuktikan bahwa tugas yang memblokir rekening tunggal pada penggunaan sumber daya.

PentingFiturPCP Dalam bagian ini, kami mendiskusikanbeberapa fitur penting PCP. Pertama-tama kita membuktikan bahwa tugas yang memblokir account yang terinstal di penggunaan sumber daya. bukti: Pertimbangkan bahwa tugas Ti membutuhkan seperangkat sumber daya. SR = { Ri }. jelas, langit-langit dari masing-masing Ri sumber daya di SR harus lebih besar atau sama dari pri (Ti). Sekarang asumsikan bahwa ketika mengakuisisi beberapa Ti Ri sumber daya, tugas Tj lain sudah memegang sumber daya Rj, dan Ri itu, Rj E SR, seperti situasion akan mengakibatkan Ti untuk memblokir setelah memperoleh sumber daya. tetapi, ketika Tj terkunci Rj CSC seharusnya ditetapkan untuk setidaknya pri (Ti) dengan klausa hibah sumber daya PCP dan Ti tidak bisa diberikan Ri. ini bertentangan dengan premis. Oleh karena itu, ketika Ti memperoleh satu sumber daya yang dibutuhkan oleh semua sumber daya itu harus bebas.

Dalam cara yang serupakita dapat menunjukkan bahwa tugas Ti memperoleh sumber daya, tidak dapat menjalani segala inversi pewarisan terkait. Mengasumsikan bahwa prioritas yang lebih rendah tugas Tk memegang beberapa Rz sumber dayadan tugas prioritas yang lebih tinggi Thadalah menunggu sumber daya.namun, hal ini tidak mungkin sebagai pelapis (R2) setidaknya harus sebanyak pri(Th). Karena itu CSC harus telah diatur ke nilai yang setidaknya sebanyak pri(Th) dan Ti akan dicegah mengakses Ri sumber daya di tempat pertama. Ini bertentangan dengan premisawal kami. Oleh karena itu, tidak mungkin bahwa suatu tugas yang berhubungan dengan warisan mengalami inversi setelah memperoleh sumber daya. Menggunakan penalaran yang sama, kita dapat menunjukkan bahwa tugas yang tidakdapat menderita menghindari inversi setelah memperoleh sumber daya. Dengan demikian, sekali tugas memperoleh sumber daya tidak dapat menjalani inversi apapun. Karena itu jelas bahwa tugas di bawah PCP yang memblokir tunggal konsekuensi logis berikut mudah berikut dari Teorema 3.2 konsekuensi 1. Bawah PCP dapat menjalani tugas paling banyak satu invesion selama pelaksanaannya. prioritas plafon protokol bebas dari kebuntuan, inversi prioritas terbatas, dan blockingsrantai. diberikut, kita membahas fitur PCP. Bagaimana kebuntuan dihindari dalam PCP? Kebuntuan accur hanya ketikaberbeda (lebih dari satu) tugas memegang bagian dari sumber daya yang dibutuhkan masing-masing pada waktu yang sama, dan kemudian mereka meminta untuk sumber daya yang diselenggarakan oleh satu sama lain. tetapi di bawah PCP, ketika salah satu tugas mengeksekusi dengan beberapa sumber daya, setiap tugas lain tidak dapat memegang sumber daya yang mungkin pernah dibutuhkan oleh tugas ini dengan teorema3.2. yaitu,

ketika tugas diberikan satu sumber daya, semua sumber daya yang dibutuhkan harus bebas. ini mencegah kemungkinan kebuntuan apapun. Bagaimana keterbatas inversi prioritas dihindari? Tugas prioritas yang lebih tinggi menderita inversi prioritas terbatas, ketika menunggu rilis tugas prioritas yang lebih rendah beberapa sumber daya yang dibutuhkan oleh itu, dan dalam mean sementara antara tugas prioritas mendahului tugas prioritas rendah dari penggunaan CPU. Tapi situasi seperti ini tidak pernah dapat terjadi di sejak kapan PCP tugas prioritas tinggi menunggu untuk beberapa sumber daya yang saat ini sedang digunakan oleh tugas prioritas rendah, maka tugas prioritas yang lebih rendah mengeksekusi dibuat untuk mewarisi prioritas tugas prioritas tinggi (dengan teorema 3.2). demikian, tugas-tugas prioritas antara tak dapat mendahului tugas prioritas yang lebih rendah dari penggunaan CPU. Oleh karena itu, inversi prioritas terbatas tidak dapat terjadi di bawah PCP. Bagaimana rantai pemblokir dihindari? oleh teorema 3,2 berbagi sumber daya antara tugas di bawah PCP memblokir tunggal. Meskipun menghindari kebuntuan PCP, inversi terikat prioritas, dan memblokir rantai, tugas di bawah PCP masih menderita dari beberapa jenis inversi. diberikut ini, kita membahas berbagai jenis inversi bahwa tugas dapat mengalami saat berbagi sumber daya antara mereka adalah dikelola dengan menggunakan PCP.

8 Beberapa masalah saya menggunakan protokol berbagi sumber daya Pada bagian ini kami mendiskusikan beberapa masalah yang mungkin muncul sewaktu menggunakan protokol berbagi sumber daya untuk mengembangkan aplikasi real-time memerlukan tugas-tugas untuk berbagi sumber daya non-preemptable. Edisi pertama yang kita bahas adalah bagaimana menggunakan PCP dalam sistem prioritas yang dinamis. Selanjutnya, kita membahas situasi ons dimana protokol berbagi sumber dayayang berbeda kita telah membahasakan berguna. 8.1 Menggunakan Sistem PCP pada prioritas yang dinamis Sejauh ini dalam semua disucussions kami mengenai penggunaan PCP, kami telah secara implisit diasumsikan bahwa prioritas tugas yang statis. yaitu, prioritas tugas tidak berubah untuk waktu hidup seluruh dari waktu ke waktu tiba selesai. dalam sistem prioritas yang dinamis, prioritas tugas mungkin berubah dengan waktu. sebagai akibatnya, plafon prioritas setiap sumber daya harus tepat menghitung ulang setiap kali perubahan prioritas tugas tersebut. Di samping itu, nilai CSC dan nilai-nilai prioritas mewarisi tugas memegang sumber daya juga perlu diubah. Ini merupakan runtime overhead yang tinggi. Overhead jangkawaktu tinggi membuat PCP digunakan dalam sistem prioritas yang dinamis tidak menarik. 8.2 perbandingan protokol berbagi sumber daya Kita sejauh dibahas tiga protokol berbagi sumber daya penting bagi relativitas waktu tugas: Prioritas protokol warisan (PIP), tertinggi loker protokol (HLP) dan protokol prioritas plafon(PCP). kekurangan dan keuntungan dari protokol ini dibahas di bawah ini.

Prioritas warisan Protocol (PIP): ini adalah protokol sederhana dan efektif mengatasi masalah inversi prioritas unbouned teknik berbagi sumber daya tradisional. protokol ini membutuhkan dukunga nminimal dari sistem operasi antara semua protokol berbagi sumber daya kita bahas. Namun, di bawah tugas PIP dapat menderita membloki rrantai dan PIP juga tidak mencegah kebuntuan Tertinggi Locker Protokol (HLP): HLP hanya membutuhkan dukungan moderat dari sistem operasi. Memecahkan rantai memblokir dan masalah kebuntuan PIP. Namun, HLP dapat membuat tugas prioritas antara menjalani besar warisan yang berhubungan dengan inversi dan untuk itu dapat menyebabkan kehilangan tenggat waktu tugas mereka. Prioritas plafon protokol (PCP): PCP mengatasi kelemahan PIP dasar serta protokol HLP. PCP protokol bebas dari kebuntuan dan memblokir rantai. Di PCP prioritas tugas tidak berubah sampai permintaan tugas prioritas yang lebih tinggi sumber daya. Karena itu jauh lebih rendah menderita pewarisan terkait inversi dari HLP Dari diskusi di atas kita dapat menyimpulkan PCP yang cocok untuk digunakan dalam applicatios memiliki sejumlah besar tugas dan sumber daya kritis, sementara PIP menjadi protokol yang sangat sederhana ini cocok untuk digunakan dalam aplikasi kecil. 9. Penanganan tugas Dependensi Sebuah asumsi yang tersirat dalam semua algoritma penjadwalan kita bahas dalam bab 2 adalah bahwa tugas-tugas dalam sebuah aplikasi independen. yaitu, tidak ada kendala pada urutan tugas yang berbeda dapat diambil untuk eksekusi. Namun, ini masih jauh dari benar dalam situasions praktis, di mana satu tugas mau membutuhkan hasil dari tugas lain, atau tugas yang mungkin harus dilakukan dalam urutan tertentu untuk berfungsinya sistem. ketika ketergantungan tersebut antara tugas ada, teknik penjadwalan disucussed dalam bab 2 berubah menjadi cukup dan perlu dimodifikasi sesuai. Pertama kita membahas bagaimana mengembangkan jadwal yang memuaskan untuk satu set tugas daripada yang bisa digunakan dalam tabel-didorong penjadwalan. Sekarang kita menggambarkan penggunaan dari algoritma di atas untuk menghitung kemungkinan jadwal untuk satu set tugas dengan dependensi. Dalam aplikasi nyata banyak, tugas-tugas real-time yang dibutuhkan untuk berbagi sumber daya antara mereka sendiri tidak preemptable. Jika teknik sederhana berbagi sumber daya seperti Semaphore diterapakn dalam situasi ini, inversi prioritas terbatas dapat terjadi menyebabkan tugas-tugas real-time untuk melewatkan tenggat waktunya. Step1: Arrangement of tasks in ascending order: T1 T3 T2 T5 T4

Step2: Schedule tasks as late as possible without violating precedence constraints : Step3: Move tasks as early as possible without altering the schedule Protokol transmisi prioritas (PIP) adalah protokol sederhana mungkin untuk berbagi sumber daya kritis antara set tugas secara real time. Memerlukan dukungan minimal dari sistem operasi yang mendasari real-time Protokol untuk berbagi sumber daya kritis didukung oleh hampir semua sistem operasi secara real time. Mekanisme pewarisan prioritas mencegah inversi prioritas terbatas. Namun, itu menjadi tanggung jawab programmer untuk mengatasi kebuntuan dan sederet masalah pemblokiran melalui pemrograman saluran yang harus dengan kehatihatian. PCP termasuk aturan tambahan dalam PIP database dan mengatasi kebuntuan, inversi prioritas dan sederet masalah pemblokiran terbatas pada PIP. Namun, di bawah tugas CFP bisa menangani bahkan inversi moderat. PCP telah diterima secara luas sebagai protokol berbagi sumber daya populer dan biasanya digunakan untuk mengembangkan aplikasi real-time untuk menengah dan besar. CFP didukung oleh banyak komersial real-time sistem operasi modern. Tugas dependensi dapat dikelola melalui perubahan kecil pada algoritma penjadwalan tugas dasar. Namun, kemungkinan penggunaan Schedulers drop ketika tugas-tugas yang tidak independen.

Anda mungkin juga menyukai