Anda di halaman 1dari 4

Jurnal Ilmu-ilmu Informatika dan Manajemen STMIK Desember 2017

Proses Sinkronisasi Pada Sistem Operasi

Doni Haristyadi*, Faisal Muhamad Gupron**, Fernando Tanudjaya***


A2.1600055*, A2.1600062**, A2.1600067
Program Studi Teknik Informatika
STMIK Sumedang, Jl. Angkrek Situ No. 19, Sumedang, 45323 Indonesia
email : A2.1600055@mhs.stmik-sumedang.ac.id* , A2.1600062@mhs.stmik-sumedang.ac.id** ,
A2.1600077@mhs.stmik-sumedang.ac.id***.

ABSTRACT
Pada zaman modern seperti saat ini, kemajuan teknologi menyebabkan kebutuhan manusia
semakin bertambah, terdapat keterkaitan antara kemajuan teknologi dengan bertambahnya
kebutuhan manusia, yaitu kebutuhan manusia menjadi lebih mudah untuk dipenuhi.Secara tidak
langsung manfaat dari berkembangnya teknologi adalah membantu manusia dalam memenuhi
kebutuhan hidupnya. Seperti penggunaan system operasi atau dalam bahasa inggris: operating
system atau OS adalah perangkat lunak system yang bertugas untuk melakukan kontrol dan
manajemen peragkat keras serta operasi - operasi dasar sistem, termasuk menjalankan software
aplikasi. Sinkornisasi di perlukan untuk menghindari terjadinya ketidak konsistenan data akibat
adanya akses secara konkuren. Proses-Proses tersebut disebut konkuren jika Proses itu ada dan
berjalan pada waktu yang bersamaan. Istilah Sinkronisasi sering terdengar ketika kita
menggunakan alat elektronik. Sinkronisasi sendiri berasal dari bagian sistem operasi.

Kata Kunci : Race condition, critical section.


Never give up in doing something. Believe Allah will help you.

1. Introduction
Sistem operasi Komputer adalah perangkat lunak komputer atau software yang bertugas untuk
melakukan kontrol dan manajemen perangkat keras dan juga operasi-operasi dasar sistem, termasuk
menjalankan software aplikasi seperti program-program pengolah data yang bisa digunakan untuk
mempermudah kegiatan manusia. Sistem Operasi dalam bahasa Inggrisnya disebut Operating System,
atau biasa di singkat dengan OS.
Sinkronisasi itu sendiri merupakan suatu proses dimana proses tersebut saling bersamaan dan saling
berbagi data bersama yang mengakibatkan race condition atau yang lebih dikenal dengan inkonsistensi
data. Proses-proses yang konkuren adalah proses-proses (lebih dari satu) berada pada saat yang sama.
Proses-proses ini dapat sepenuhnya tak bergantung dengan yang lainnya, tapi dapat juga saling
berinteraksi. Proses-proses yang berinteraksi memerlukan sinkronisasi agar terkendali dengan baik.
Proses-proses yang melakukan akses secara konkuren pada data yang digunakan bersama-sama
menyebabkan data tidak konsisten (inconsistence). Agar data konsisten dibutuhkan mekanisme untuk
menjamin eksekusi yang berurutan pada prosesproses yang bekerja sama. Pada model shared memory
untuk penyelesaian permasalahan bounded-buffer paling banyak menyimpan n – 1 item pada buffer
pada saat yang bersamaan. Untuk mendapatkan solusi dimana semua N buffer digunakan bukan
masalah yang sederhana. Tujuan dari sinkronisasi itu sendiri ialah untuk menghindari terjadinya
inkonsitensi data karena pengaksesan oleh beberapa proses yang berbeda serta untuk mengatur urutan
jalannya proses-proses sehingga dapat berjalan dengan baik dan sesuai apa yang di harapkan.

1
Jurnal Ilmu-ilmu Informatika dan Manajemen STMIK Desember 2017

2. Research Method
Dari pendahuluan diatas dapat di rumuskan permasalahan, tujuan dan manfaat, diantaranya :
1. Apa masalah yang terjadi di sinkronisasi?
2. Bagaimana cara menyelasaikan maslah sinkronisasi?
3. Mengetahui masalah sinkronisasi dan solusinya.

Untuk mencapai tujuan dan manfaat yang dipaparkan sebelumnya, maka diperlukan metode yang
tepat untuk mendapatkan suatu proses yang yang teratur dan terarah dalam suatu penelitian sehingga
penelitian dapat berjalan dengan baik di perlukan metode pendekatan atau penyelesaian suatu
penelitian, diantaranya
1. Pengumpulan bahan, pengembang bersama sama mengidentifikasi apa saja perangkat yang
dibutuhkan untuk menyelesaikan masalah sinkronisasi.
2. Melakukan uji coba dan analisis pada sebuah laptop.

3. Result and Analysis


Proses sinkronisasi merupakan suatu proses dimana proses tersebut saling bersamaan dan
saling berbagi data bersama yang mengakibatkan race condition atau yang lebih dikenal dengan
inkonsistensi data. Proses-proses yang konkuren adalah proses-proses (lebih dari satu) berada pada
saat yang sama. Proses-proses ini dapat sepenuhnya tak bergantung dengan yang lainnya, tapi
dapat juga saling berinteraksi. Proses-proses yang berinteraksi memerlukan sinkronisasi agar
terkendali dengan baik. Di dalam sinkronisasi ada maslah yang terjadi yaitu sebagai berikut.
Masalah pada Sistem Operasi Sinkronisasi
1. Race Condition
Race Condition adalah situasi di mana beberapa proses mengakses dan memanipulasi data
bersama pada saat besamaan. nilai akhir dari data bersama tersebut tergantung pada proses yang
terakhir selesai. Untuk mencegah race condition, proses- proses yang berjalan besamaan harus
di disinkronisasi.
2. Critical Section
critical section adalah dengan mendesain sebuah protokol di mana proses-proses dapat
menggunakannya secara bersama-sama. Setiap proses harus 'meminta izin' untuk memasuki
critical section-nya. Bagian dari kode yang mengimplementasikan izin ini disebut entry
section. Akhir dari critical section itu disebut exit section. Bagian kode selanjutnya disebut
remainder section.
Arti dari masalah Critical Section adalah sebuah segmen kode di mana sebuah proses yang
mana sumber daya bersama diakses.
Critical Section mempunyai beberapa kode :
Entry Section : Kode yang digunakan untuk masuk ke dalam critical section.
Critical Section : Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu
waktu.
Exit Section : Akhir dari critical section, mengizinkan proses lain.
Remainder Section : Kode istirahat setelah masuk ke critical section.
Solusi untuk mengatasi masalah Critical Section, yaitu:
 Mutual exclution , Jika proses pi sedang mengeksekusi critical section-nya maka tidak
ada proses lain yang dapat mengeksekusi dalam critical section mereka.

2
Jurnal Ilmu-ilmu Informatika dan Manajemen STMIK Desember 2017

 Progress : Jika tidak ada proses yang sedang dieksekusi dalam critical section dan ada
beberapa proses yang ingin masuk ke critical section mereka, maka pemilihan proses
yang akan masuk ke critical section berikutnya tidak bias ditunda.
 Bounded Waiting :Suatu keterikatan harus ada pada sejumlah proses yang diijinkan
masuk ke critical section mereka, setelah adanya proses yang meminta masuk ke critical
section dan sebelum permintaan itu diterima.
Solusi untuk mencegah kesalahan pada critical section
Kunci untuk mencegah masalah ini dan di situasi yang lain yang melibatkan shared
memori, shared berkas, and shared sumber daya yang lain adalah menemukan beberapa jalan
untuk mencegah lebih dari satu proses untuk melakukan proses writing dan reading kepada
shared data pada saat yang sama. Dengan kata lain kita membutuhkan mutual exclusion,
sebuah jalan yang menjamin jika sebuah proses sedang menggunakan shared berkas, proses
lain dikeluarkan dari pekerjaan yang sama. Kesulitan yang terjadi karena proses 2 mulai
menggunakan variabel bersama sebelum proses 1 menyelesaikan tugasnya.
Masalah menghindari race conditions dapat juga diformulasikan secara abstrak. Bagian
dari waktu, sebuah proses sedang sibuk melakukan perhitungan internal dan hal lain yang tidak
menggiring ke kondisi race conditions.
Bagaimana pun setiap kali sebuah proses mengakses shared memory atau shared
berkas atau melakukan sesuatu yang kritis akan menggiring kepada race conditions. Bagian
dari program dimana shaed memory diakses disebut Critical Section atau Critical Region.
Walau pun dapat mencegah race conditions, tapi tidak cukup untuk melakukan kerja
sama antar proses secara pararel dengan baik dan efisien dalam menggunakan shared data.
Kita butuh 4 kondisi agar menghasilkan solusi yang baik yaitu:
· Tidak ada dua proses secara bersamaan masuk ke dalam citical section.
· Tidak ada asumsi mengenai kecepatan atau jumlah cpu.
· Tidak ada proses yang berjalan di luar critical secion yang dapat mengeblok proses lain.
· Tidak ada proses yang menunggu selamamya untuk masuk critical section.

1. Conclusion
Sinkronisasi diperlukan untuk menghindari terjadinya ketidakkonsistenan data akibat adanya
akses data secara konkuren. Akses-akses yang dilakukan secara bersama-sama ke data yang sama,
itu dapat menyebabkan data menjadi tidak konsisten. Konsisten disini artinya data yang sebenarnya
tidak berubah walaupun melalui beberapa proses. Contoh masalah klasik dari proses sinkronisasi,
yaitu: Bounded buffer, Readers/Writers, Dining Philosophers.

References
[1]http://www.academia.edu/28438938/Makalah_sinkronisasi
[2]http://ari-swaratunggadewi-fst13.web.unair.ac.id/artikel_detail-103377-
Tugas%20SO%20Teori%20Kelompok-Masalah%20Klasik%20Sinkronisasi.html
[3]http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/2003/49/produk/Sist
emOperasi/c45.html

3
Jurnal Ilmu-ilmu Informatika dan Manajemen STMIK Desember 2017

Anda mungkin juga menyukai