Pages

Subscribe:

Ads 468x60px

.

Minggu, 09 Oktober 2011

PENJADWALAN PROSES PADA MAC OS X



Scheduling Histori MACINTOSH OS
MAC OS History
Preemptive
Algorithm
Mac OS Pre-9
none
Cooperative Scheduler
Mac OS 9
Some
Preemptive for MP tasks, Cooperative Scheduler for processes and threads
Mac OS X
Yes
Multilevel feedback queue
Mac OS 9 cooperative scheduling untuk beberapa threads dimana satu proses mengontrol multiple cooperative threads dan juga menyediakan penjadwalan preemptive untuk tugas-tugas MP. Jadwal kernel MP tugas menggunakan algoritma penjadwalan preemptive. Semua proses Proses Manager yang menjalankan tugas MP  disebut "blue task" . Proses-proses tersebut dijadwalkan secara kooperatif, menggunakan algoritma round-robin scheduling yaitu sebuah proses kontrol menghasilkan prosesor untuk proses lain dengan secara eksplisit memanggil fungsi pemblokiran seperti WaitNextEvent . Setiap proses memiliki salinan sendiri dari Manajer Thread bahwa jadwal tersebut dijalankan secara kooperative .suatu  kontrol thread prosesor untuk thread lain disebut YieldToAnyThread atau YieldToThread . 
Mac OS X menggunakan multilevel feedback queue, , dengan empat band prioritas untuk threads - normal, sistem prioritas tinggi, hanya modus kernel, dan real-time. Selain  Thread dijadwalkan preemptively; Mac OS X juga mendukung kooperative system thread dalam  Manager Thread in Karbon (Karbon adalah salah satu dari antarmuka pemrograman aplikasi (API) milik Apple Inc 's  untuk Macintosh sistem operasi . karbon menyediakan bahasa pemrograman C untuk akses ke layanan Macintosh sistem).
a)      Preemptive multitasking
Dalam komputasi, preemption (kadang pre-emption) adalah tindakan sementara mengganggu tugas yang sedang dilakukan oleh sistem komputer, tanpa memerlukan kerjasama, dan dengan maksud melanjutkan tugas di lain waktu.Perubahan seperti ini dikenal sebagai context switch. Hal ini biasanya dilakukan oleh tugas istimewa atau bagian dari sistem yang dikenal sebagai preemptive scheduler, yang memiliki kekuatan untuk mendahului, atau mengganggu, dan kemudian melanjutkan, tugas-tugas lain dalam sistem.

Istilah preemptive multitasking digunakan untuk membedakan sistem operasi multitasking, yang memungkinkan preemption tugas, dari sistem multitasking koperasi dimana proses atau tugas harus secara eksplisit diprogram untuk menghasilkan ketika mereka tidak membutuhkan sumber daya sistem. Dalam hal sederhana: Preemptive multitasking melibatkan penggunaan mekanisme interupsi yang menunda proses yang sedang dijalankan dan memanggil scheduler untuk menentukan proses harus melaksanakan berikutnya. Oleh karena itu semua proses akan mendapatkan beberapa jumlah waktu CPU pada suatu waktu tertentu.

Pada preemptive multitasking, kernel sistem operasi juga dapat memulai konteks sebuah saklar untuk memenuhi kendala prioritas kebijakan penjadwalan, dengan demikian preempting tugas aktif.Secara umum, preemption berarti "penyitaan sebelumnya". Ketika tugas prioritas tinggi pada contoh yang merebut tugas yang sedang berjalan, ini dikenal sebagai penjadwalan preemptive. Istilah "preemptive multitasking" kadang-kadang keliru digunakan ketika arti yang diinginkan lebih spesifik, mengacu
bukan untuk kelas yang dikenal sebagai kebijakan penjadwalan penjadwalan waktu bersama, atau time-sharing.

Preemptive multitasking memungkinkan sistem komputer untuk lebih andal menjamin setiap proses "slice" biasa waktu operasi.Hal ini juga memungkinkan sistem untuk cepat menangani peristiwa eksternal penting seperti data yang masuk, yang mungkin memerlukan perhatian segera dari satu atau proses lain.

Pada setiap waktu tertentu, proses dapat dikelompokkan menjadi dua kategori: yang sedang menunggu untuk input atau output (disebut "I / O terikat"), dan mereka yang sepenuhnya menggunakan CPU ("CPU terikat"). Dalam sistem awal, proses sering akan "jajak pendapat", atau "busywait" sambil menunggu input diminta (seperti disk, keyboard atau input
jaringan).Selama ini, proses tersebut tidak melakukan pekerjaan yang berguna, namun masih terjaga kontrol dari CPU. Dengan munculnya interrupt dan preemptive multitasking, ini I / O proses terikat bisa "diblokir", atau ditunda, sambil menunggu kedatangan data yang diperlukan, yang memungkinkan proses-proses lain untuk menggunakan CPU. Sebagai
kedatangan data yang diminta akan menghasilkan interrupt, diblokir proses dapat jaminan kembali tepat waktu untuk eksekusi.


MAC OS X DISPATCHER
Grand Central Dispatch (GCD) adalah teknologi yang dikembangkan oleh Apple Inc untuk mengoptimalkan aplikasi pendukung untuk sistem dengan multi-core prosesor dan lain multiprocessing simetris sistem. Ini adalah implementasi dari paralelisme tugas berdasarkan pola kolam thread . Ini pertama kali dirilis dengan Mac OS X 10,6 , dan juga tersedia dengan IOS 4. Nama "Grand Central Dispatch" adalah referensi ke Grand Central Terminal

ALGORITMA PENJADWALAN Pada Mac OS X
Dalam ilmu komputer , multilevel feedback queue adalah  suatu penjadwalan algoritma. Hal ini dimaksudkan untuk memenuhi persyaratan desain untuk sistem multimode, dimana :
  1. Memberikan preferensi pekerjaan pendek.
  2. Berikan pilihan pada proses I / O terikat.
  3. Cepat membentuk sifat proses dan jadwal proses yang sesuai.
Beberapa FIFO antrian yang digunakan dan operasi adalah sebagai berikut:
  1. Sebuah proses baru diposisikan pada akhir tingkat atas FIFO antrian.
  2. Pada tahap beberapa proses mencapai kepala antrian dan ditugaskan CPU .
  3. Jika proses selesai ia meninggalkan sistem.
  4. Jika process voluntarily relinquishes control meninggalkan jaringan antrian, dan ketika proses menjadi siap lagi itu memasuki sistem pada tingkat antrian yang sama.
  5. Jika proses menggunakan semua waktu kuantum, itu adalah pra-empted dan diposisikan pada akhir antrian tingkat berikutnya yang lebih rendah.
  6. Ini akan berlanjut sampai proses selesai atau mencapai antrian tingkat dasar.
·         Pada tingkat dasar antrian proses beredar di round robin mode sampai mereka menyelesaikan dan meninggalkan sistem.
·         Opsional, jika proses blok untuk I / O, itu adalah 'dipromosikan' satu tingkat, dan ditempatkan pada akhir dari antrian berikutnya yang lebih tinggi. Hal ini memungkinkan I / O proses pasti akan disukai oleh scheduler dan memungkinkan proses untuk 'melarikan diri' antrian tingkat dasar.
Dalam multilevel feedback queue, suatu proses diberikan hanya satu kesempatan untuk menyelesaikan pada tingkat antrian yang diberikan sebelum dipaksa turun ke antrian tingkat yang lebih rendah.
Algoritma ini mirip sekali dengan algoritma multilevel queue. Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Hal ini menguntungkan proses interaksi karena proses ini hanya memakai waktu CPU yang sedikit. Demikian pula dengan proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya. Biasanya prioritas tertinggi diberikan kepada proses dengan CPU burst terkecil, dengan begitu CPU akan terutilisasi penuh dan M/K dapat terus sibuk. Semakin rendah tingkatannya, panjang CPU burst proses juga semakin besar.

4 komentar:

Anonim mengatakan...

makasih gan..ini sangat membantu saya..
matur thank you..

yahsofi mengatakan...

sangkyuu~ bermanfaat buat bikin makalah XD

Unknown mengatakan...

I was looking for this. Thanks berat gan (y)

Unknown mengatakan...

waawaa makasih gan (y)

Posting Komentar