Sabtu, 23 Agustus 2014

Kenapa perlu melakukan Sinkronisasi Sistem?????



Sinkronisasi Proses
Banyak proses yang mengakses satu data pada saat yang bersamaan Sehingga terjadi ketidakkonsistenan data .Untuk itulah, sinkronisasi proses dipelukan untuk menjaga agar data tersebut tetap konsisten .
Masalah yang seringkali muncul yaitu Masalah Bounded Buffer , Masalah Race Condition .
Apa itu Critical Section ?? Kunci untuk mencegah terjadinya Race Condition adalah dengan mencegah suatu proses melakukan manipulasi data secara bersamaan Suatu code proses terdiri dari beberapa bagian :Proses, Entry section, critical section exit section, remainder section. Critical Section adalah bagian dari code proses yang berisi code-code untuk memanipulasi suatu data. Solusi yang baik harus memenuhi 3 syarat berikut:
¢  Mutual Exclution
            Tidak ada proses yang menjalankan critical section bersamaan
¢  Terjadi Kemajuan ( Progress )
            Proses yang sedang menjalankan Remainder Sectionnya, tidak boleh menjalankan Critival Section berikutnya sebelum proses lain menyelesaikan Critical Sectionnya
¢  Ada Batas Waktu ( Bounded Waiting )
            Ada batas waktu suatu proses dapat menjalankan critical sectionnya
Dua Jenis Solusi Critical Section
Ø  Solusi Perangkat Keras
Ø  Solusi Perangkat Lunak
Solusi sinkronisasi untuk 2 proses :
v  Algoritma Turn
v  Algoritma Flag
v  Algoritma Turn-Flag
Solusi sinkronisasi untuk banyak proses :
¢  Bakery Algorithm ( Algoritma Tukang Roti )
Algoritma Turn  ­­­­­­Hanya proses yang mempunyai ID yang sama dengan ID giliran (Turn) yang boleh masuk ke critical sectionnya

Algoritma Flag - Setiap proses berusaha untuk mengecek state (keadaan) proses yg lain. Jika proses lain sedang berada di critical sectionnya, maka dia akan menunggu sampai proses lain tersebut keluar dari state critical sectionnya.
Algoritma Turn – Flag Merupakan penggabungan antara algoritma Turn dan algoritma Flag.
Solusi perangkat keras Ada 2 metode yang umum digunakan :
ü  Processor Synchronous
ü  Memory Synchronous
Processor Syncronous
¢  Central Processing Unit (CPU) mempunyai suatu mekanisme yang dinamakan interrupt yang digunakan secara intensif.
¢  Sistem time-shared yang sering diimplementasikan dengan algoritma RR (Round Robin), memanfaatkan mekanisme interrupt di CPU
¢  Teknisnya, akan ada suatu interrupt ( yang biasanya adalah timer interrupt ) yang secara berkala akan menginterrupt sistem
¢  Jika kita dapat menon-aktifkan interrupt pada saat sebuah proses berada di dalam critical section maka permasalahan dari sinkronisasi dapat diselesaikan
¢  Contoh program dari prosesor Atmel ARMtm
mainModul:
00 CLI              ' masuk ke Critical Section dengan cara                                ' men-disable interrupt
01 ADD r1,r2   ' Critical Section
02 ....               ' Critical Section
03 SBI              ' pergi dari Critical Section dengan cara
                                                ' meng-enable interrupt
04 ..                             ' Remainder Section
¢  Mekanisme ini sudah cukup mengatasi isu yang ada
¢  Mekanisme ini tidak dapat diterapkan dengan baik di lingkungan multiprocessor
¢  Hal ini disebabkan jika kita menon-aktifkan interrupt, maka yang akan dinon-aktifkan hanyalah satu prosesor saja, sehingga dapat mengakibatkan terjadinya hal-hal yang tidak diinginkan
Sedangkan untuk Memory Synchronous
¢  Mekanisme memory synchronous memakai suatu nilai yang disimpan di dalam memori, dan jika suatu proses berhasil mengubah nilai ini, maka proses tersebut akan meneruskan ke instruksi selanjutnya
¢  jika tidak, maka proses ini akan berusaha terus untuk mengubah nilai tersebut
¢  Keunggulan dari memory synchronous adalah pada lingkungan multiprocessor, semua processor akan terkena dampak ini
¢  Semua proses yang berada di processor, yang ingin mengakses critical section, meskipun berada di processor yang berbeda-beda, akan berusaha untuk mengubah nilai yang dimaksud
¢  Mekanisme ini memiliki suatu syarat yang harus dipenuhi yaitu perlunya perangkat keras mempunyai kemampuan untuk membuat suatu instruksi dijalankan secara atomic
¢  Instruksi atomic adalah satu atau sekelompok instruksi yang tidak dapat diberhentikan sampai instruksi tersebut selesai
Peran Perangkat Keras Dalam Proses Sinkronisasi
Sebelum adanya berbagai macam teknik sinkronisasi seperti saat ini, para programmer cenderung menggunakan fasilitas yang disediakan oleh perangkat keras dari komputer untuk melakukan sinkronisasi . Pendekatan melalui perangkat lunak cenderung sulit dan kompleks diimplementasikan, selain itu dapat menyebabkan turunnya kinerja dari suatu produk yang dibuat .



0 komentar:

luvne.com ayeey.com cicicookies.com mbepp.com kumpulanrumusnya.comnya.com tipscantiknya.com
kesehatan dan kecantikan

Share it