Rabu, 14 Desember 2011

hyperthreading dan dispatching algoritm

Definisi Teknologi Hyperthreading yaitu bentuk revolusi teknologi yang lebih maju yang memiliki teknologi simultaneous multithreading (SMT) yang telah di terapkan kepada beberapa varian seperti pentium 4, dual core, core to 2, dan prosesor yang diatasnya lagi.
Teknologi dispatching algorithm memiliki kegunaan dengan Teknologi ini mendukung beberapa prosesor di antaranya sebagai Windows NT, Windows 2000, Windows XP Professional, Windows Vista, dan GNU/Linux dua buah prosesor, namun dalam kenyataannya hanya satu prosesor. sehingga dengan cara ini proses sistem operasinya lebih cepat dan efisien, karena meskipun sistem operasi tersebut bersifat multitasking, sistem operasi tersebut melakukan eksekusi terhadap proses secara berurutan.
Beberapa sistem operasi yang menggunakan teknologi hyperthreading :
  • Windows NT/XP/2000, linux, solaris 9 dan later termasuk juga kedalam kelompok multhreading dengan model one-to-one.
  • IRIX, HP-UX, tru64, UNIX, solaris 8 and earlier termasuk kekelompok model multhreading dengan model many-to-one.
  • Windows NT/2000, IRIX, digital UNIX dan Solarispun termasuk kedalam model multhreading model many-to-many.

Minggu, 11 Desember 2011

deadlock

Deadlock dalam arti sebenarnya adalah kebuntuan. Dalam konteks sistem operasi kebuntuan ini adalah kebuntuan proses. Hal ini terjadi disaat proses yang satu menunggu sumber daya yang masih dipegang oleh proses lain yang menunggu sumber daya tersebut. Cara yang paling mudah untuk mengilustrasikan deadlock adalah dengan kemacetan kendaraan diperempatan/4 persimpangan jalan dimana tiap kendaraan dari arah tiap arah saling menerobos tanpa ada yang mau mengalah.
Ilustrasi Deadlock
 Contoh lain, pada proses yang sebenarnya terdiri dari 3 tahap yaitu ; meminta,memakai,melepaskan.
Contoh program deadlock :
public class Proses {
          public  synchronized void getA () {
             //proses untuk mendapatkan sumber daya A
          }
          public synchronized void getB () {
            //proses untuk mendapatkan sumber daya B
          }
          public releaseA () {
            //proses melepaskan sumber daya A
          }
          public releaseB () {
           //proses melepaskan sumber daya B
          }
}
public class Coba () {
          public statis void main (String [] args ) {
              Proses P = new Proses;
              Proses Q = new Proses;
              P.getA ();
              Q.getB ();
              P.getB ();
              Q.getA ();
          }
}
Dari kode program diatas kedua proses (P dan Q) saling mendapatkan sumber daya (A dan B) tanpa ada proses melepaskan (release) sumber daya yang dijalankan. Maka terjadilah deadlock.
         

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Host