Concurrency: Mutual Exclusion & Synchronization

Proses

Proses adalah urutan pelaksanaan atau kejadian yang terjadi secara alami atau didesain, mungkin menggunakan , ruang, keahlian atau sumber daya lainnya, yang menghasilkan suatu hasil.

Thread

Thread adalah Sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem).

Mutual Exclusion

Mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada satu interval waktu tertentu.

Race condition

Race condition adalah suatu kondisi dimana dua atau lebih proses mengakses shared memory/sumber daya pada saat yang bersamaan dan hasil akhir dari data tersebut tergantung dari proses mana yang terakhir selesai dieksekusi sehingga hasil akhirnya terkadang tidak sesuai dengan yang dikehendaki.

Sinkronisasi

Sinkronisasi dua arah adalah suatu mekanisme dimana suatu thread dapat mengendalikan sinkronisasi thread lain, begitu pula sebaliknya

Deadlock

Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu.

Starvation

Starvation adalah keadaan dimana satu atau beberapa proses ‘kelaparan’ karena terus dan terus menunggu kebutuhan sumber dayanya dipenuhi. Namun, karena sumber daya tersebut tidak tersedia atau dialokasikan untuk proses lain, akhirnya proses yang membutuhkan tidak bisa memilikinya. Kondisi seperti ini merupakan akibat dari keadaan menunggu yang berkepanjangan.

Monitor

Monitor adalah suatu tipe data abstrak yang dapat mengatur aktivitas serta penggunaan resource oleh beberapa thread.

Semaphore

Semaphore adalah sebuah struktur data komputer yang digunakan untuk sinkronisasi proses, yaitu untuk memecahkan masalah di mana lebih dari satu proses atau thread dijalankan secara bersamaan dan harus diatur urutan kerjanya.

Tinggalkan Balasan