Kamis, 24 Oktober 2024

Konkurensi

 Konkurensi


Sinkronisasi Proses

Sinkronisasi Proses adalah koordinasi pelaksanaan beberapa proses dalam sistem multiproses untuk memastikan bahwa proses-proses tersebut mengakses sumber daya bersama dengan cara yang terkendali dan dapat diprediksi. Tujuannya adalah untuk mengatasi masalah kondisi persaingan dan masalah sinkronisasi lainnya dalam sistem yang berjalan bersamaan.

Tujuan utama sinkronisasi proses adalah untuk memastikan bahwa beberapa proses mengakses sumber daya bersama tanpa mengganggu satu sama lain dan untuk mencegah kemungkinan data yang tidak konsisten karena akses bersamaan. Untuk mencapai hal ini, berbagai teknik sinkronisasi seperti semaphore, monitor, dan critical section digunakan.

Dalam sistem multiproses, sinkronisasi diperlukan untuk memastikan konsistensi dan integritas data, serta untuk menghindari risiko kebuntuan dan masalah sinkronisasi lainnya. Sinkronisasi proses merupakan aspek penting dari sistem operasi modern, dan memainkan peran krusial dalam memastikan fungsi sistem multiproses yang benar dan efisien.

Apa itu Proses?

Proses adalah program yang sedang berjalan atau program yang sedang dieksekusi disebut proses. Proses mencakup kode program dan semua aktivitas yang dibutuhkan untuk menjalankan tugasnya, seperti menggunakan CPU, memori, dan sumber daya lainnya. Anggaplah proses sebagai tugas yang sedang dikerjakan komputer, seperti membuka peramban web atau memutar video.

Jenis Proses

Berdasarkan sinkronisasi, proses dikategorikan menjadi salah satu dari dua jenis berikut:

  • Proses Independen : Eksekusi satu proses tidak memengaruhi eksekusi proses lainnya.
  • Proses Kooperatif : Suatu proses yang dapat mempengaruhi atau dipengaruhi oleh proses lain yang dijalankan dalam sistem.
Masalah sinkronisasi proses muncul dalam kasus proses Kooperatif juga karena sumber daya dibagi dalam proses Kooperatif.

Konkurensi

Dalam ilmu komputer, konkurensi adalah kemampuan dari unit-unit program (algoritma atau masalah) yang berbeda untuk dieksekusi tanpa mempedulikan urutan, namun tidak memengaruhi hasil akhir dari program tersebut. Sehingga ini memungkinkan untuk melakukan eksekusi pararel dari sebuah unit konkurensi/program, yang mana bisa secara signifikan meningkatkan kecepatan dari pengeksekusian unit di dalam sistem dengan banyak prosesor atau core. Dalam istilah yang lebih teknis, konkurensi ini merujuk pada pemisahan properti dari sebuah program, algoritma, atau masalah ke dalam urutan-urutannya komponent atau unit itu sendiri.

Mutual Exclusion

Mutual Exclusion merupakan properti sinkronisasi proses yang menyatakan bahwa “ tidak ada dua proses yang dapat berada di bagian kritis pada titik waktu tertentu ”. Istilah ini pertama kali dicetuskan oleh Dijkstra . Setiap teknik sinkronisasi proses yang digunakan harus memenuhi properti mutual exclusion, yang tanpanya tidak mungkin untuk menghilangkan kondisi race. 

Kebutuhan untuk saling mengecualikan muncul bersamaan dengan konkurensi. Ada beberapa jenis eksekusi konkurensi:

Penanganan interupsi
  • Proses/utas yang disisipkan dan dijadwalkan terlebih dahulu
  • Cluster multiprosesor, dengan memori bersama
  • Sistem terdistribusi
  • Metode pengecualian bersama digunakan dalam pemrograman bersamaan untuk menghindari penggunaan sumber daya umum secara bersamaan, seperti variabel global, oleh bagian kode komputer yang disebut bagian kritis.
Persyaratan pengecualian bersama adalah bahwa ketika proses P1 mengakses sumber daya bersama R1, proses lain tidak boleh dapat mengakses sumber daya R1 hingga proses P1 menyelesaikan operasinya dengan sumber daya R1.

Deadlock Startvation

Deadlock terjadi ketika setiap proses memegang satu sumber daya dan menunggu sumber daya lain yang dipegang oleh proses lain. Kondisi yang diperlukan agar deadlock terjadi adalah Mutual Exclusion, Hold and Wait, No Preemption, dan Circular Wait. Dalam hal ini, tidak ada proses yang memegang satu sumber daya dan menunggu sumber daya lain yang dieksekusi. Misalnya, dalam diagram di bawah ini, Proses 1 memegang Sumber Daya 1 dan menunggu Sumber Daya 2 yang diperoleh oleh Proses 2, dan Proses 2 menunggu Sumber Daya 1. Oleh karena itu, baik proses 1 maupun proses 2 berada dalam deadlock.

Dengan kata lain, “Deadlock adalah situasi di mana dua atau lebih proses membutuhkan sumber daya untuk menyelesaikan eksekusinya, tetapi sumber daya tersebut dipegang oleh proses lain. Akibatnya, eksekusi proses tersebut tidak selesai.”

Misalnya, ada dua orang teman yang sama-sama ingin bermain gim komputer, sehingga mereka bertengkar. Yang satu memiliki kendali jarak jauh, dan yang satu lagi memiliki CD gim.

Ada Empat Kondisi Yang Mungkin Terjadi Pada Deadlock
  1. Mutual Exclusion: Menyatakan bahwa satu proses hanya dapat mengakses sebuah sumber daya pada satu titik waktu saja.
  2. Tahan dan Tunggu: Satu atau beberapa proses sedang menunggu proses lainnya, yang pada gilirannya menahan sumber daya yang ditunggu oleh proses tersebut.
  3. Tidak Ada Pendahuluan: Seseorang tidak dapat memaksa sumber daya untuk dihapus dari proses yang memilikinya.
  4. Penantian Melingkar: Terdapat suatu rantai proses yang bersifat siklus, dan setiap proses memegang paling sedikit satu sumber daya dan menunggu suatu proses yang memegang sumber daya yang dibutuhkan oleh proses berikutnya yang langsung berurutan.
Starvation adalah masalah yang terjadi ketika proses berprioritas tinggi terus berjalan dan proses berprioritas rendah terblokir untuk waktu yang tidak terbatas. Dalam sistem komputer yang sangat terbebani, aliran proses berprioritas tinggi yang stabil dapat mencegah proses berprioritas rendah untuk mendapatkan CPU . Dalam starvation, sumber daya terus digunakan oleh proses berprioritas tinggi. Masalah starvation dapat diatasi dengan menggunakan Aging. Dalam Aging, prioritas proses yang menunggu lama secara bertahap ditingkatkan.







Disusun Oleh : Delvira Nayla Hardiana
NIM                : 2023240055

Tidak ada komentar:

Posting Komentar

Manajemen File dan Direktory

  Manajemen File dan Direktory Manajemen file dan direktori adalah metode dan struktur data yang digunakan sistem operasi untuk mengatur dan...