Clock

Minggu, 18 November 2012

Keuntungan dan kekurangan komunikasi simetrik dan asimetrik, automatic dan explicit buffering, send by copy dan send by reference, fixed size dan variable sized messages


Komunikasi Simetrik dan Asimetrik
Keuntungan :
Untuk tingkat programmer pada proses tidak harus memblock pelaksanaaannya yang bisa menghasilkan kinerja yang lebih baik
Kekurangan :
Pada komunikasi asimetris lebih sulit untuk sebuah program karena programmer harus bisa menjamin jika pesan tiba di receiver ketika diperlukan. pada sistem,asimetris rumit karena diperlukan kernel tingkat

Automatic dan explicit buffering
Keuntungan :
Automstic dan explicit buffering untuk programmer lebih mudah
Kekurangan :
Automatic dan explicit buffering untuk sistem akan sulit untuk dibanguun

Send by copy dan send by reference
Keuntungan : untuk generalisasi dan masalah sinkronisasi jaringan lebih baik, lebih efisien untuk struktur data yang besar
Kekurangan :
Sulit karena implikasi memori yang bersamaan

Fixed size dan variable sized messages
Keuntungan :
pada fixed size membuat prograammer lebih mudah
Kekurangan :
Untuk sistem variable sized messages sulit untuk dibangun

Di sistem UNIX terdapat banyak status proses yang dapat timbul (transisi) akibat event (eksternal) OS dan proses tersebut itu sendiri. Transisi state apa sajakah yang dapat ditimbulkan oleh proses itu sendiri


Di sistem UNIX terdapat banyak status proses yang dapat timbul (transisi) akibat event
(eksternal) OS dan proses tersebut itu sendiri. Transisi state apa sajakah yang dapat
ditimbulkan oleh proses itu sendiri, antara lain adalah :

  • Running adalah suatu proses yang sedang mengeksekusi instruksi prosess
  • Ready adalah proses siap untuk dieksekusi akan tetapi tidak tersedia eksekusii prosess ini
  • Blocked adalah suatu proses menunggu kejadian untuk melengkapi tugasnya

contohnya :

  • selesainya operasi perangkat I/O
  • terdapatnya memory
  • datangnya pesan jawaban

Sabtu, 17 November 2012

Tindakan yang diambil oleh sebuah kernel ketika alih konteks antar proses


Kernel akan menyimpan konteks dari sebuah proses lama ke dalam PCB, lalu mengisi konteks yang sudah disimpan dari proses yang baru dan telah ter schedule utk berjalan pada saat konteks beralih terjadi pada saat prosess sedang berjalan. dikarenakan sistem ini melaksanakan pekerjaan yang tidak perlu, maka dariitu pergantian waktu konteks adalah murni overhead. kecepatan pengalihan dari tiap mesin bervariasi, bergantung pada kecepatan memory, jumlah register yang dicopy, dan keberadaan instruksi khusu. pada umunya tingkat kecepatan pengalihan antara 1 samapai 1000 mikro/detik

Definisi dan perbedaan Penjadwalan short term, medium term dan long term


  • Definisi :
Penjadwalan short term:
dalam sebuah short term digunakan untuk memilih proses-proses yang akan dieksekusi dan dialokasikan ke CPU satu diantara proses tersebut biasa digunakan untuk sebuah CPU, proses akan dieksekusi cuma dengan bberapa milidetik sebelum menunggu "I/O"

Medium term :
Pada penjadwalan ini, beberapa dari OS seperti timesharing diperlukan penjadwalan dengan menggunakan level tambahn

Long term :
Pada longterm ini tidak selalu mengeksekusi dan jika proses meninggalkan sistem maka baru digunakan

  • Perbedaan :
short term
jangka scheduler yang pendek (CPU scheduler)
memilih proses yang sudah siap dieksekusi lalu mengalokasikan dgn CPU
dalam perpindahan antar proses akan melibatkan penyimpanan proses berikut dan sebelumnya

medium term 
mengontrol suatu derajat multiprogram
pada timesharing harus membutuhkan scheduler dengan level tambahan

long term
memilih suatu proses & beban kedalam sebuah memory untuk meng eksekusi

5 Aktivitas sistem operasi yang merupakan contoh dari manajemen proses



  • Pembuatan dan penghapusan proses pengguna dan sistem operasi

Tugas sistem operasi adalah memberikan sumberdaya yang dibutuhkan oleh sebuah prosess, yang kemudian sistem operasi teresbut mengambil sumberdaya itu kembali sesudah prosess selesai sehingga bisa dipergunakan untuk proses yang lain.


  • Melanjutkan atau menunda proses

Suatu sistem operasi mengatur prioritas dari proses yang akan dijalankan, jika terjadi lebih dari dua proses yang meng antri, sistem operasi akan mengutamakan proses yang mempunyai prioritas paliing besar.


  • Menyediakan mekanisme untuk proses sinkronisasi

Suatu sistem operasi mengatur jalan nya sebuah proses yang akan di eksekusi bersama
sehingga tidak akan terjadi in-konsistensi data dikarenakan pengaksessan data yang serupa/sama, dan untuk melancarkan jalanya sebuah proses

  • Menyediakan mekanisme untuk proses komunikasi

Suatu sistem operasi akan menyediakan mekanisme agar proses dapat saling berinteraksi dan
ber komunikasi yang satu dengan yang lainnya. dan tidak mengakibatkan proses lain
terganggu

  • Menyediakan mekanisme untuk penanganan deadlock

Pengertian deadlock adalah keadaan dimana sistem sempat berhenti. dikarenakan sumberdaya yang terdapat pada sistem tidak bisa dibagi, dan suatu proses harus menunggu untuk mendapatkan sumber daya tersebut. suatu sistem operasi harus bisa mendeteksi sebuah deadlock, apabila terjadi maka sistem operasi harus dapat menanggulanginya.



Program sederhana menggunakan thread

contoh program sederhana menggunakan thread pada program java,
ada dua cara untuk membuat thread di java adalah :
  • extends kelas thread
class thread secara implisit juga meng-implements interface runnable, makadari itu setiap kelas yang diturunkan dari class thread harus mengartikan method run (). berikut contoh programnnya :
        class CobaThread1 extends Thread
       {

                                          public void run()
                                         {
                                                for (int ii = 0; ii<4; ii++){
                                                System.out.println("Ini CobaThread1");
                                                Test.istirohat(11);
                                                }
                                          }
        }

  • implements interface runnable
lebih umum digunakan karena kita dapat mengimplements dari banyakkelas sekaligus
contoh programnya:

class CobaThread2 implements Runnable
{
             public void run()
             {
                         for(int ii = 0; ii<4; ii++){
                         System.out.println("Ini CobaThread2");
                        Test.istirohat(7);
             }
}

public class Test
{
              public static void main (String[] args)
             {
                        Thread t1 = new CobaThread1();
                        Thread t2 = new Thread (new 
                        CobaThread2());
                        t1.start();
                        t2.start();
                        for (int ii = 0; ii<8; ii++){
                        System.out.println("Thread 
                        UTAMA");
                        istirohat(5);
              }
}

public static void istirohat(int 
tunda)
{
              try{
                        Thread.sleep(tunda*100);
                      } catch(InterruptedException e) {}
}

10 Sistem operasi yang mendukung Hyperthreading

10 Sistem operasi yang mendukung Hyperthreading dan kelompokan termasuk kedalam model , multithreading yang mana, berikut penjelasannya :



  1. Windows NT
  2. Windows XP
  3. Windows 2000
  4. Linux
  5. Solaris 9
  6. IRIX
  7. Digital UNIX and Solaris
  8. HP-UX
  9. Tru64 UNIX
  10. Solaris 8

Kelompok Multithreading model one-to-one
  • Windows NT
  • Windows XP
  • Windows 2000
Kelompok Multithreading model many-to-many
  • Linux
  • Solaris 9
  • IRIX
  • Digital UNIX and Solaris
Kelompok Multithreading model two-level
  • HP-UX
  • Tru64 UNIX
  • Solaris 8