Daftar Isi:
- Definisi - Apa yang dimaksud dengan Critical Section Routine (CSR)?
- Techopedia menjelaskan Critical Section Routine (CSR)
Definisi - Apa yang dimaksud dengan Critical Section Routine (CSR)?
Critical section routine (CSR) adalah bagian kode yang prosesnya mendapatkan kunci eksklusif sehingga tidak ada proses lain yang dapat menjalankannya secara bersamaan. Seringkali, satu atau lebih proses dieksekusi secara bersamaan dalam sistem operasi, memaksa proses ini untuk saling bersaing untuk mengakses file dan sumber daya. Hanya satu proses yang harus diizinkan untuk mengakses sumber daya sementara bagian dari kode yang terkait dengan sumber daya dieksekusi.
Untuk memastikan bahwa suatu proses dalam CSR tidak gagal saat proses lain menunggu, batas waktu ditentukan oleh komponen manajemen proses. Dengan demikian, suatu proses dapat memiliki akses ke kunci eksklusif hanya dalam waktu terbatas.
Techopedia menjelaskan Critical Section Routine (CSR)
Persyaratan utama untuk menerapkan CSR adalah:
- Pengecualian Saling: Ketika suatu proses dieksekusi dalam CSR, tidak ada proses lain yang bisa masuk.
- Kondisi Kemajuan: Jika tidak ada proses yang dijalankan dalam CSR dan ada beberapa proses yang ingin memasukinya, mereka dapat melakukannya dalam jumlah waktu yang pasti. Salah satu proses memasuki CSR sementara yang lain menunggu.
- Bounded Waiting: Ketika suatu proses meminta untuk masuk CSR dan sebelum permintaan diberikan, harus ada batas atas jumlah proses yang menunggu untuk masuk CSR selama periode ini untuk memastikan bahwa tidak ada proses yang kelaparan dan setiap proses dalam antrian menunggu mendapat giliran untuk memasuki CSR.
CSR, dalam potongan kode tertentu, dapat diidentifikasi melalui properti berikut:
- Kode ditandai oleh urutan operasi baca-tulis-perbarui.
- Bagian dari kode mengubah variabel dalam kode lain, yang melakukan urutan operasi baca-tulis-perbarui.
- Kehadiran kode yang mengakses struktur data dari beberapa kode lain dengan memodifikasinya, atau kode yang menggunakan struktur data yang dapat dimodifikasi oleh beberapa proses lainnya.
Konsep bagian kritis dapat diterapkan pada perangkat keras yang menggunakan fasilitas interupsi. Setiap kali proses memasuki bagian kritis, semua interupsi pada prosesor harus dinonaktifkan sehingga proses lain tidak dapat meminta kunci pada sumber daya. Demikian pula, ketika suatu proses selesai eksekusi, interupsi diaktifkan lagi. Pendekatan lain adalah dengan menggunakan semaphore, variabel khusus yang bertindak seperti sinyal untuk mengarahkan eksekusi atau penghentian suatu proses.