Anda di halaman 1dari 2

biasanya diperoleh dari pengukuran.

Sebagai contoh, waktu eksekusi dari pekerjaan transmisi pesan biasanya diperoleh dengan mengukur waktu transmisi atau panjang dari pesan . Di sisi lain, analisis lebih ditujukan untuk memprediksi waktu eksekusi maksimal program karena waktu teknik analisis menjamin kebenaran prediksi waktu eksekusi maksimum , sementara teknik pengukuran tidak dapat melakukannya. ( Sebuah prediksi adalah benar jika waktu eksekusi aktual tidak pernah kurang dari prediksi waktu eksekusi maksimum . ) Anda dapat menemukan teknik ini digunakan untuk tujuan dalam [ AMWH , HeWh , KiMH , LiMW , LBJR ] . Kumpulan dari jobs yang saling berkaitan disebut task . Jobs dalam task dapat dibatasi dahulu untuk mengeksekusi dalam suatu urutan tertentu . Kadang-kadang jobs dapat dibatasi untuk menyelesaikan dalam waktu tertentu dari yang lainnya ( Contohnya jarak temporal yang dibatasi). Jobs mungkin memiliki data dependensi bahkan ketika tidak ada batasan yang lebih tinggi. Sebuah periodic task Ti adalah pekerjaan yang memiliki urutan dengan parameter yang sama. Selain parameter Jobsnya, periodic task didefinisikan oleh task parameter berikut : Period pi : pi adalah panjang minimum dari interval antara waktu rilis dari jobs yang beruntun (Contohnya, interval interrelease ) . Execution time ei : ei dari Ti adalah waktu eksekusi maksimum dari semua jobs didalam task . Phase i : i adalah waktu rilis dari jobs pertama di Ti . Ketika interval interrelease dari urutan jobs sangat luas dan sedikit berubah-ubah , kita simbolkan interval interrelease sebagai variabel acak. Begitu juga, untuk waktu eksekusi dari jobs kadang-kadang disimbolkan sebagai variabel acak . Sebuah task aperiodik atau task sporadic adalah urutan jobs yang mana waktu interreleasenya identik didistribusikan sesuai dengan distribusi probabilitas A(x) dan yang mana waktu eksekusinya identik didistribusikan sesuai dengan distribusi probabilitas B(x). Deadline pekerjaan dalam task aperiodik dapat berubah, sedangkan deadline jobs dalam task sporadis tidak dapat berubah. Dalam bab-bab berikutnya , kita akan menggunakan graph task untuk mewakili sistem aplikasi ketika ketergantungan antar jobs tersebut tidak dapat dijelaskan dalam kalimat. Terdapat vertex dalam graph untuk setiap jobs dalam sistem . Edge dari graph ini merupakan dependensi diantara jobs. Edge dari vertex mewakili Ji untuk vertex lain yang mewakili Jk dapat merupakan perwakilan dari batasan yang didahulukan dan/atau ketergantungan data antara dua jobs. Parameter dari edge termasuk jenis edge dan volume data dari Ji ke Jk.

3.9.2 Karakterisasi Dari Sistem Yang Mendasar Sumber daya yang tersedia untuk sistem aplikasi adalah prosesor dan sumber daya . Jobs dan task membutuhkan sumberdayanya untuk mengeksekusi. Scheduler memutuskan kapan setiap jobs ( atau task ) memerlukan prosesor dan sumber daya . Kita biasanya menyimbolkan CPU, disk, bus, network links, dan sebagainya yang menghitung, menerima, mentransmisikan, dan sebagainya , sebagai prosesor. Setiap pekerjaan harus memiliki prosesor untuk mengeksekusi. Prosesor dapat digunakan bergantian untuk jenis yang sama , sedangkan

prosesor tidak bias digunakan secara bergantian bila berlainan jenis. Berdasarkan jenisnya , prosesor dikategorikan berdasarkan parameter berikut : Preemptivity : Eksekusi jobs pada prosesor dapat atau tidak dapat preemptable. Context-Switch Time : Parameter ini memberikan biaya dalam waktu pada setiap preemption . Kita menyimbolkan objects data yang disharing, buffer, nomor urut, dan sebagainya, entitas yang disebut sumber daya pasif sebagai resource. Jumlah waktu sebuah job membutuhkan sumber daya yang biasanya biasanya tergantung pada kecepatan prosesor yang mengeksekusi pekerjaan , tidak pada beberapa parameter dari sumber daya. Sumber daya yang digunakan disini adalah dapat digunakan kembali, karena mereka tidak dikonsumsi selama penggunaan. Setiap unit dari setiap sumber daya (jenis) dapat digunakan oleh satu pekerjaan pada saat itu, dan penggunaan setiap sumber daya (unit) adalah nonpreemptable. Sebuah sumber daya bersama yang dapat digunakan secara bersamaan oleh x jobs pada saat yang sama disimbolkan sebagai sumber daya dengan x unit , masing-masing dapat digunakan oleh paling banyak satu pekerjaan pada satu waktu .

3.9.3 Schedulers Scheduler adalah modul yang mengalokasikan prosesor dan sumber daya pada jobs dan task. Pada hamper seluruh buku ini kita menganggap bahwa scheduler sepenuhnya ditentukan oleh bagaimana mengimplementasikan penjadwalan dan algoritma manajemen sumber daya. Satu-satunya pengecualian adalah pada Bab 12 pada sistem operasi. Di sana, kita akan membahas mengapa real life scheduler mungkin berperilaku berbeda dari sesuatu yang ideal dan bagaimana meminimalkan dan menjelaskan perbedaan tersebut . Kecuali jika dinyatakan lain , kita mengasumsikan bahwa scheduler bekerja dengan benar . Ini menghasilkan hanya jadwal yang valid . Menurut jadwal yang valid , tidak ada pekerjaan yang dijadwalkan sebelum watu rilisnya dan menyelesaikan semua predecessor, tidak ada pekerjaan dijadwalkan pada lebih dari satu prosesor pada saat yang sama, tidak ada prosesor yang dijadwalkan untuk menjalankan lebih dari satu pekerjaan pada waktu yang sama, dan jumlah total waktu yang ditugaskan untuk setiap pekerjaan sama dengan waktu eksekusi kecuali jika pekerjaan atau sebagian dari pekerjaan dapat dibuang karena itu adalah opsional . Jadwal yang valid adalah layak jika , sesuai dengan jadwal, setiap pekerjaan selesai sesuai deadline.

Anda mungkin juga menyukai