Skip to main content

Critical Section

Hasil gambar untuk apa itu critical section

Sebuah proses memiliki bagian dimana bagian ini akan melakukan akses dan manipulasi data. Bagian ini disebut dengan critical section. Ketika sebuah proses sedang dijalankan dalam critical section nya, tidak ada proses lain yang boleh dijalankan dalam critical section nya. Karena hal ini dapat memungkinkan terjadinya akses ke resources yang sama dalam waktu yang sama. Keadaan seperti ini disebut proses tersebut mutually exclusive. Oleh karena itu, diperlukan suatu mekanisme atau aturan agar proses sifat mutually exclusive dapat terpenuhi.

Dengan mengontrol variabel mana yang diubah baik didalam maupun diluar critical section, concurrent access dapat dicegah. Critical section biasanya digunakan saat program multithreading, dimana program tersebut terdiri dari banyak thread, akan mengubah nilai dari variabel. Dalam hal ini critical section diperlukan untuk melindungi variabel dari concurrent access yang dapat membuat nilai dari variabel tersebut menjadi tidak konsisten.

Lalu bagaimana critical section tersebut diimplementasikan didalam sistem operasi. Metode yang paling sederhana adalah dengan mencegah adanya thread lain yang mengubah variabel yang sedang digunakan dalam critical section. Selain itu, system call yang dapat menyebabkan context switch juga dihindari. Jika scheduler meng- interrupt proses yang sedang mengakses critical section nya, maka scheduler akan membiarkan proses tersebut menyelesaikan critical section nya atau menghentikannya sementara untuk memberi kesempatan bagi proses lain untuk menjalankan critical section nya. Proses yang sedang berada dalam critical section nya dijalankan secara mutually exclusive.

Ada dua jenis solusi untuk memecahkan masalah critical section, yaitu.


  1. Solusi Perangkat Lunak. Solusi ini menggunakan algoritma-algoritma untuk mengatasi masalah critical section.
  2. Solusi Perangkat Keras. Solusi ini tergantung pada beberapa instruksi mesin tertentu, misalnya dengan me-non-aktifkan interupsi, mengunci suatu variabel tertentu atau menggunakan instruksi level mesin seperti tes dan set.
sumber :

Comments

Popular posts from this blog

DOS

credit:  https://jogjaweb.co.id DOS kepanjangan dari Disk Operating System merupakan sistem operasi yang digunakan di komputer pribadi, dengan media penyimpanan berupa disk (sebelum adanya hardisk) atau dikenal dengan nama disket. Sistem operasi DOS menggunakan CUI (Character User Interface) atau antarmuka dengan pengguna berbasis text dan saat ini telah tergantikan/diperbaharui dengan adanya windows versi 9x, Me, 2000, XP, dan sebagainya yang berbasiskan GUI (Grapical User Interface). Sistem operasi ini juga bersifat single-tasking (hanya dapat menjalankan satu program pada satu waktu saja), menjalankan prosesor pada modus real (real mode), dan hanya dapat mendukung satu pengguna dalam satu waktu (single user). Sejarah Perkembangan DOS DOS 1.0 PC-DOS 1.0 merupakan versi DOS pertama kali yang dibuat oleh Microsoft Corp. yang hak ciptanya dibeli oleh IBM Corp. Dimana kumunculan DOS ini dihubungkan dengan permintaan IBM atas pembuatan komputer PC pertama yang bernama IB...

iOS

Apa itu iOS? credit:  http://community.lightspeedsystems.com/apple-ios/ iPhone OS atau yang disingkat dengan iOS merupakan sebuah sistem operasi mobile yang diciptakan dan dikembangkan oleh Apple inc. iOS memang dibuat ekslusif hanya untuk perangkat milik Apple, seperti iPhone, iPad dan iPod Touch. Sejak iOS pertama hingga versi terakhir, Apple selalu merilis versi terbaru setiap setahun sekali. Dimana saat ini, Apple telah merilis iOS 11 pada tanggal 11 Oktober 2017 lalu dan menjadi versi teranyar. Dalam iOS 11, Apple menambahkan banyak fitur baru dan melakukan perubahan interface. Dan iOS 11 versi terakhir yang dirilis adalah update iOS 11.0.3 yang membawa sejumlah perbaikan bug. Berdasarkan data per bulan Desember 2017 dari App Store, paltform yang paling banyak digunakan adalah iOS 11 dengan pangsa pasar 59%, disusul iOS 10 (dengan 33% dan iOS 9 serta dibawahnya dengan pangsa 8%, Itu artinya, banyak pengguna iPhone, iPad dan iPod Touch yang sudah meng-update perangkat me...

Distributed Processing

credit:  https://docs.oracle.com/cd/A84870_01/doc/server.816/a76965/c29dstpr.htm Distributed Processing adalah kemampuan mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah maka prosesor yang lain akan mengambil alih tugasnya. sumber:  http://seno-if.blogspot.com/2012/09/multiprogramming-multitasking.html