Rabu, 19 Desember 2012

Definisi Dispatching Algorithm

Prosesor dengan teknologi ini akan terlihat kemampuannya, pada sistem operasi yang mendukung banyak prosesor seperti Windows NT, Windows Xp Profesional, Windows Vista, Windows 2000, dan GNU/Linux sebagai dua prosesor. meskipun terlihat secara fisik hanya terlihat satu prosesor

Dispatching algorithm adalah algoritma antrian yang bisa mengeksekusi proses secara berurutan dalam dua buah prosesor, jadi algoritma antrian bisa mengeksekusi setiap thread secara efisien meskipun sistem-sistem operasi tersebut bersifat multitasking.

Prosesor dengan teknologi ini akan dilihat oleh sistem operasi yang mendukung banyak prosesor seperti Windows NT, Windows 2000, Windows XP Professional, Windows Vista, dan GNU/Linux sebagai dua buah prosesor, meski secara fisik hanya tersedia satu prosesor. Dengan dua buah prosesor dikenali oleh sistem operasi, maka kerja sistem dalam melakukan eksekusi setiap thread pun akan lebih efisien, karena meskipun sistem-sistem operasi tersebut bersifat multitasking, sistem-sistem operasi tersebut melakukan eksekusi terhadap proses secara sekuensial (berurutan), dengan sebuah algoritma antrean yang disebut dengan dispatching algorithm.

10 Sistem Operasi yang mendukung teknologi hyperthreading

kelompok model multithreading yang on-to-one model.
  • Windows NT/Xp/2000,
  • linux,
  • solaris 9 and later

kelompok model multithreading many-to-many model.
  • Windows NT/2000,
  •  IRIX,
  •  digital UNIX dan solaris

kelompok model multithreading two-level model.
  •  IRIX,
  • HP-UX,
  •  tru64 UNIX solaris 8 and earlier

kelompok model multithreading many-to-one model.
  • GNU

Karakteristik Thread

Karakteristik Thread
Proses merupakan lingkungan eksekusi bagi thread-thread yang dimilikinya. Thread-thread di satu proses memakai bersama sumber daya yang dimiliki proses, yaitu :
· Ruang alamat.
· Himpunan berkas yang dibuka.
· Proses-proses anak.
· Timer-timer.
· Snyal-sinyal.
· Sumber daya-sumber daya lain milik proses.
Tiap thread mempunyai property independen berikut seperti :
· Keadaan (state) eksekusi thread (running, ready dan sebagainya).
· Konteks pemroses. Thread dapat dipandang sebagai satu PC (program counter) tersendiri independen di satu proses.
· Beberapa penyimpan static per-thread untuk variable-variabel local.

Struktur Sistem Operasi Multiprocessor

System operasi serupa multiprogrammed uniprocessor. System operasi multiprocessor lebih kompleks karena terdapat banyak pemroses yang mengeksekusi task-task secara kongkuren. System operasi multiprocessor harus dapat mendukung eksekusi banyak task dan mengeksploitasi banyak pemroses untuk meningkatkan kinerja.
Struktur system operasi multiprocessing, antara lain :
1. Separate supervisor
Semua pemroses mempunyai kopian kernel, supervisor dan struktur data sendiri, menanggapi interupsi-interupsi pemakai yang berjalan di pemroses itu. Terdapat struktur data bersama untuk interaksi di antara pemroses-pemroses. Pengaksesan diproteksi menggunakan mekanisme sinkronisasi :
· Tiap pemroses mempunyai perangkat I/O dan system file sendiri.
· Terdapat sedikit coupling diantara pemroses-pemroses.
· Tiap pemroses bertindak sebagai system otonom dan independen.
> Keunggulan :
· Dapat degradasi secara perlahan dalam menghadapi kegagalan pemroses karena hanya terdapat sedikit coupling diantara pemroses-pemroses.
> Kelemahan :
· System sulit melakukan eksekusi pararel satu task tunggal (yang dipecah menjadi subtask-subtask dan menjadwalkan subtask-subtask di banyak pemroses secra kongkuren).
· Tidak efisien karena supervisor, kernel dan struktur data direplikasi di tiap pemroses.
2. Master-slave
Satu pemroses disebut master, bertugas memonitor status dan memberikan kerja ke pemroses-pemroses lain, slave. Slave-slave dipandang sebagai pool sumber daya yang dijadwalkan master. Pemroses-pemrose slave mengeksekusi program-program aplikasi.
> Keungulan :
· Efisien.
· Implementasi (sinkronisasi pengaksesan variable, dan sebagainya) mudah karena system operasi dieksekusi di satu pemroses tunggal.
> Kelemahan :
· Sangat bergantung pada pemroses master.
· Master dapat mengalami botlencek dan berkonsekuensi tidak menggunakan pemroses-pemroses slave secara penuh.
3. Symmetric
Semua proses otonom dan dipandang identik. Terdapt satu kopian supervisor atau kernel yang dapat dieksekusi semua pemroses secara kongkuren.
> Masalah :
· Pengaksesan kongkuren struktur data bersama perlu dikendalikan agar terjaga intergritasnya.
> Solusi :
· Cara paling sederhana adalah memandang seluruh system operasi sebagai satu critical section dan hanya memungkinkan satu pemroses mengeksekusi system operasi di satu waktu. Metode ini disebut floating master karena dapat dipandang sebagai konfigurasi master-slave dimana master di-apungkan/diangkat dari satu pemroses ke pemroses lain.
> Keunggulan :
· Paling fleksibel dan berdaya tahan tinggi.
· Memungkinkan eksekusi satu task tunggal secara pararel.
· Dapat mendegradasi secara perlahan dalam menghadapi kegagalan.
· Penggunaan sumberdaya sangat efisien.
> Kelemahan :
· Perancangan dan implementasi paling sulit.