Tuesday, September 27, 2016

Komunikasi Antar Proses

Hallo kawan Tekno. Pada postingan kali ini, mari kita bahas mengenai Komunikasi Antar Proses pada sistem operasi.
Hal ini dibagi menjadi 2, yaitu:
  1. Sistem Sekuential
  2. Sistem Konkurensi
Sistem Sekuential
  •  Awalnya, proses-proses dijalankan secara sekuential atau berurutan. 
  • Suatu proses dieksekusi sampai selesai, baru kemudian pindah ke proses yang lain
  • Utilitas prosesor-> sangat rendah
Sistem KonkurensiSistem yang memiliki sejumlah aktifitas yang sedang berjalan secara “bersamaan”.


Konsekuensi dari multitasking
  • Proses tidak saling mempengaruhi. contoh: Ms Word & Winamp
  • Proses saling mempengaruhi secara tidak langsung. contoh: Ms Word & notepad mengakses file bersama-sama
  • Proses saling mempengaruhi secara langsung. contoh: Internet browser & web server harus bersama-sama menyediakan pages bagi user
Masalah-masalah yang timbul akibat perebutan sumber daya pada suatu proses:
  • RACE CONDITION
  • CRITICAL SECTION
  • MUTUAL EXCLUSION DG BUSY WAITING
  • MUTUAL EXCLUSION DG SLEEP & WAKEUP
  • MUTUAL EXCLUSION DG SEMAPHORE
  • EVENT COUNTER
  • MUTUAL EXCLUSION DG MONITOR
  • KOMUNIKASI ANTAR PROSES DG METODE MESSAGE PASSING
RACE CONDITION
  • Sebagian besar Sistem Operasi, sering memakai bersama memori (share memory), dimana setiap proses dapat membaca dan menulis. 
  • Share memory dapat terjadi dalam memori utama atau berupa share file. Lokasi share memory tidak merubah sifat dasar komunikasi.
Contoh :

Pada contoh diatas hasilnya yang diharapkan adalah 15 tetapi hasil yg didapat adalah 5. Kondisi diatas disebut RACE CONDITION.
RACE CONDITION adalah Kondisi tidak menentu yg diakibatkan oleh pengaksesan data yg sama oleh dua proses atau lebih.

CRITICAL SECTION
  • Bagian dari suatu program dimana terjadi pengaksesan terhadap share memory atau share file yg dapat mengakibatkan terjadinya race condition.
  • Cara yg dapat dilakukan untuk menghindari terjadi race condition :
    • Mencegah situasi seperti contoh diatas dan mencegah situasi-situasi lain yg melibatkan share memory, share file, dan share resource lainnya.
    • Melarang lebih dari satu proses melakukan pembacaan dan penulisan data pada lokasi yg sama secara bersamaan.
    • Jika ada satu proses sedang menggunakan share variabel atau share file, maka proses yg lain dilarang masuk ke pekerjaan yg sama.
  • Ditawarkan suatu solusi untuk menghindari terjadinya race condition yg lebih dikenal sebagai mutual excluion.
  • Kriteria Mutual Exclusion :
    • Tidak boleh ada 2 proses atau lebih yg berada dalam satu critical section
    • Jangan berasumsi dengan kecepatan running CPU dan jumlah CPU
    • Tidak boleh ada proses diluar critical section yg memblok atau menghalangi proses lain masuk ke critical section
    • Tidak boleh ada proses yg menunggu terus, untuk masuk ke critical section

 

Lifecycle of Process

Pengelolaan lifecycle Process
  • Penciptaan proses
    1. SO akan menerbitkan suatu nomor ID untuk proses yang diciptakan.
    2. SO akan membuat data record dengan ID tersebut, kemudian menyisipkan pada struktur data di memori utama yang disebut process table
    3. SO akan mengalokasi ruang memori utama untuk menyimpan image proses.
    4. Inisialisasi PCB
    5. Masuk ke antrian ready. Status-> ready
     
  • Penghentian Proses
    1. Mengembalikan hasil output ke parent process (proses yang menciptakannya)
    2. Menghapus rekaman proses di semua antrian dan tabel proses.
    3. SO akan menghapus PCB dan image process. Semua recources dikembalikan ke SO
Setelah selesai, SO akan melakukan penjadwalan (scheduling) untuk memilih proses lain untuk dieksekusi.

Nah itu dia sedikit pembahasan mengenai komunikasi anter proses yang terjadi di dalam sistem operasi. Dan Jangan lupa bookmark blog ini biar tetep update dan makin tahu.
Terimakasih... 

0 comments:

Post a Comment