Cari Blog

Senin, 30 Maret 2015

MAKALAH KONKURENSI

 

2015

 

SISTEM OPERASI  
       [ KONKURENSI ]
     

 DI
S
U
S
U
N
OLEH :
NAMA KELOMPOK :
Ø  Ali Umar
Ø  Lindung Azilsta
Ø  Vivi Sriandrita
 
 
 
JurusanTeknik Informatika
Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim Riau
2015






KATA PENGANTAR

Assalamu’alaikum Wr. Wb.
Puji syukur kami ucapkan kehadirat Allah SWT yang telah melimpahkan rahmat dan hidayah-nya dan tidak lupa pula sholawat serta salam kami ucapkan kepada Nabi besar Muhammad SAW yang telah membawa umatnya dari zaman kegelapan menuju zaman yang penuh dengan Teknologi seperti saat ini.
Kami juga mengucapkan terima kasih kepada dosen mata kuliah Sistem Operasi serta teman-teman yang telah membantu kami dalam pembuatan makalah ini, sehingga kami dapat menyelesaikan makalah ini yang berjudul “ Konkurensi”. Adapun makalah ini disusun untuk memenuhi tugas mata kuliah Sistem Operasi. Dalam makalah ini terkandung definisi serta semua pembahasan tentang Konkurensi. Makalah ini di susun juga agar supaya para pembaca bisa mengerti dan memahami tentang apa itu Konkurensi.
Kami menyadari bahwa masih terdapat kekurangan dalam makalah ini, sehingga kami senantiasa terbuka untuk menerima saran dan keritik dari pembaca demi penyempurnaan makalah berikutnya. Semoga makalah ini dapat bermanfaat bagi kita semua.
Wassalamu’alaikum Wr. Wb.


Pekanbaru, 29 Maret 2015


                                                                                                             Penyusun







DAFTAR ISI


KATA PENGANTAR ii
DAFTAR ISI iii
BAB I PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 1
1.3 Tujuan Penulisan 1

BAB II PEMBAHASAN
    2.1 Pengertian Konkurensi 3
    2.2 Masalah Yang Terdapat Di Dalam Konkurensi 3
2.3   Prinsip-Prinsip Yang Terdapat Di Dalam Konkurensi7
2.4  Kesulitan Yang Ditimbulkan Oleh Konkurensi 8
2.5  Interaksi Antarproses Di Dalam Konkurensi 9
2.6  Kerjasama Diantara Proses-Proses Dengan
Pemakaian Bersama & Dengan Komunikasi 10
2.7  Pokok Penyelesaian Masalah Dengan Kongkurensi 11


BAB III PENUTUP
    3.1 Kesimpulan
12

Daftar Pustaka13






BAB I
PENDAHULUAN

1.1  Latar Belakang
Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan  komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami sistem operasi maka sebaiknya perlu diketahui terlebih dahulu beberapa konsep dasar mengenai sistem operasi itu sendiri.
Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer.
1.2  Rumusan Masalah
Berdasarkan latar belakang masalah diatas, masalah-masalah yang akan dibahas dapat dirumuskan sebagai berikut :
1.       Apakah yang dimaksud dengan Konkurensi ?
2.       Apa sajakah masalah yang terdapat di dalam Konkurensi ?
3.       Apa sajakah prinsip-prinsip yang terdapat di dalam Konkurensi ?
4.       Apa sajakah kesulitan yang ditimbulkan oleh Konkurensi ?
5.       Bagaimanakah interaksi antarproses di dalam Konkurensi ?
6.       Bagaimanakah kerja sama di antara proses-proses dengan pemakaian bersama dan dengan komunikasi ?
7.       Bagaimanakah pokok penyelesaian masalah dengan kongkurensi ?

1.3 Tujuan Penulisan
1.      Mengetahui yang dimaksud dengan Konkurensi.
2.      Mengetahui masalah yang terdapat di dalam Konkurensi.
3.      Mengetahui prinsip-prinsip yang terdapat di dalam Konkurensi.
4.      Mengetahui kesulitan yang ditimbulkan oleh Konkurensi.
5.      Mengetahui interaksi antarproses di dalam Konkurensi.
6.      Mengetahui kerja sama di antara proses-proses dengan pemakaian bersama dan dengan komunikasi.
7.      Mengetahui pokok penyelesaian masalah dengan kongkurensi.
  







BAB II
PEMBAHASAN

2.1 Pengertian Konkurensi
Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama. Dikatakan sebagai landasan umum perancangan sistem operasi karena dalam menciptakan suatu sistem operasi, sistem operasi tersebut umumnya harus bisa menjalankan beberapa proses (lebih dari satu proses) pada saat yang bersamaan.
Konkurensi menjadi penting karena pada saat ini hampir seluruh sistem adalah multiprograming ataupun multithereading, serta menuju pemerosesan tersebar yang mengharuskan adanya proses-proses konkuren.

2.2 Masalah Yang Terdapat Di Dalam Konkurensi
            Pada proses-proses yang konkuren atau berada pada saat yang bersamaan, terdapat beberapa masalah yang harus diselesaikan yaitu:
1.      Mutual exclusion
2.      Sinkronisasi
3.      Deadlock
4.      Starvation
Dengan kata lain, masalah-masalah diatas akan timbul apabila sistem operasi menjalankan beberapa proses pada saat yang bersamaan.
1.      Mutual Exclusion
    Mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada satu interval waktu tertentu. Sumber daya yang tidak dapat dipakai bersama pada saat bersamaan.
                Fasilitas atau kemampuan menyediakan dukungan mutual exclusion harus memenuhi kriteria sbb:
·         Mutual exclusion harus dijamin, bahwa tidak ada proses lain, kecuali dirinya sendiri. Di sini terjadi proses tunggal.
·         Proses yang berada di noncritical section, dilarang mem-blocked proses-proses lain yang ingin masuk critical section. Hal ini bisa terjadi startvation.
·         Harus dijamin bahwa proses yang ingin masuk critical section tidak menunggu selama waktu yang tak terhingga. Ini bisa mengakibatkan masalah deadlock dan antrian proses bertambah panjang.
·         Ketika tidak ada proses pada critical section, maka proses yang ingin masuk critical section harus ijinkan masuk tanpa waktu tunda.
·         Tidak ada asumsi mengenai kecepatan relatif proses atau jumlah proses yang ada.
·         Proses hanya tinggal pada critical section selama satu waktu yang tidak terhingga.

2.      Deadlock
            Deadlock adalah suatu kondisi dimana dua proses atau lebih tidak dapat meneruskan eksekusinya oleh pemroses. Pada umumnya deadlock terjadi karena proses mengalami startvation, yaitu suatu job yang sedang dieksekusi dan eksekusi job tersebut tidak ada hentinya, tidak diketahui kapan berhentinya proses tersebut atau bahkan job yang antri bisa dikatakan mempunyai status mati, padahal proses-proses lain sedang menunggu sumber daya proses.
Kondisi Deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semuanya tidak dapat mengakhiri prosesnya secara benar.
Metode Mengendalikan Deadlock
1.      Menggunakan suatu protokol untuk meyakinkan bahwa sistem tidak pernah mengalami deadlock.
2.      Mengijinkan sistem mengalami deadlock, namun kemudian harus segera dapat memperbaikinya.
3.      Mengabaikan semua masalah dan menganggap deadlock tidak akan pernah terjadi lagi di dalam sistem.
Strategi untuk menghadapi deadlock dapat dibagi menjadi tiga pendekatan, yaitu:
1.     Mengabaikan adanya  deadlock.
2.      Memastikan bahwa  deadlock tidak akan pernah  ada, baik  dengan metode Pencegahan, dengan mencegah empat kondisi  deadlock agar tidak akan  pernah terjadi.
3.      Membiarkan deadlock  untuk terjadi, pendekatan ini membutuhkan dua metode yang  saling mendukung, yaitu:
- Pendeteksian deadlock, untuk mengidentifikasi ketika deadlock terjadi.
-Pemulihan deadlock, mengembalikan kembali sumber daya yang dibutuhkan pada proses yang memintanya.
Pencegahan Deadlock
1.      Meniadakan Mutual exclusion.
Harus tetap menjaga resource-resource yang bersifat non-shareable. Yaitu, proses menahan sebuah resource, proses lain yang meminta resource tsb harus menunggu sampai proses melepaskannya. Jika terjadi pada perangkat I/O dan berkas, maka sulit untuk menghindari mutual exclusion pada sumber daya non shareable.
2.      Meniadakan Syarat Hold & Wait.
Apabila suatu proses minta ijin untuk mengakses suatu resource, maka proses tersebut tidak boleh membawa resource yang lainnya. Sebleum proses meminta resource, maka harus melepas semua resource yang dibawa.
3.      Meniadakan Non Preemption.
Jika suatu proses minta ijin mengakses resource, sementara resource tersebut tidak dapat dipenuhi secepatnya, maka proses tersebut harus membebaskan semua resourcenya terlebih dahulu.
4.      Meniadakan Circular Wait.
Memberi nomor pada setiap resource yang ada, dan setiap resource hanya boleh mengakses resource secara berurutan.
Mendeteksi Deadlock dan Memulihkan Deadlock
Metode deteksi digunakan pada system yang mengijinkan terjadinya deadlock. Tujuan metode ini adalah memeriksa apakah telah terjadi deadlock dan menentukan proses-proses dan sumber daya-sumber daya yang terlibat deadlock secara presisi. Begitu telah dapat ditentukan, system dipulihkan dari deadlock dengan metode pemulihan.
Metode pemulihan dari deadlock berupaya untuk menghilangkan deadlock dari system sehingga system beroperasi kembali, bebas dari deadlock. Proses-proses yang terlibat deadlock mungkin dapat menyelesaikan eksekusi dan membebaskan sumber daya-sumberdayanya.
3. Startvation
Startvation adalah keadaan dimana pemberian akses bergantian terus menerus, dan ada suatu proses yang tidak mendapatkan gilirannya. Juga dapat dimaksudkan bahwa kondisi bila beberapa proses-proses menunggu alokasi sumber daya sampai tak berhingga, sementara proses-proses lain dapat memperoleh alokasi sumber daya.
Hal ini disebabkan bias pada kebijaksanaan atau strategi alokasi sumber daya. Kondisi seperti ini harus dihindari pada sistem operasi karena tidak adil, tapi dikehendaki penghindaran dilakukan seefisien mungkin. Penanganan ini merupakan persoalan yang sulit untuk menemukan kriteria yang benar, adil dan efesien dalam suatu strategi Sistem Operasi.
Perhatikan contoh berikut:
Terdapat tiga proses, P1, P2, dan P3.
1.      P1, P2 dam P3 memerlukan pengaksesan sumber daya R secara periodik.
Skenario berikut terjadi:
1.      P1 sedang diberi sumber daya R, P2 dan P3 blocked menunggu sumber daya R.
Ketika P1 keluar dari critical section, P2 dan P3 diijinkan mengakses R.
Asumsi P3 diberi hak akses. Kemudian setelah selesai, hak akses kembali diberikan ke P1 yang satu itu kembali membutuhkan sumber daya R.

Jika pemberian hak akses bergantian terus menerus antara P1 dan P3, maka P2 tidak pernah memperoleh pengaksesan sumber daya R, meski tidak ada deadlock. Pada situasi ini, P2 mengalami situasi yang disebut dengan startvation.
2.3 Prinsip-Prinsip Yang Terdapat Di Dalam Konkurensi
Karena konkurensi merupakan landasan umum pada perancangan suatu sistem operasi, maka beberapa hal yang merupakan prinsip-prinsip konkurensi harus ada dalam sistem operasi yang akan dirancang. Konkurensi meliputi beberapa hal berikut ini:
·             Alokasi waktu pemroses untuk proses-proses.
Hal ini berkaitan dengan penjadwalan proses pada suatu sistem operasi. Penjadwalan proses merupakan kumpulan kebijakan dan mekanisme dalam sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem operasi. Penjadwalan proses bertugas untuk mengatur proses mana yang harus berjalan, kapan dan seberapa lama proses tersebut dijalankan.
·             Pemakaian bersama dan persaingan untuk mendapatkan sumber daya.
Dalam hal ini, sebuah sistem operasi harus bisa mengatur pemakaian sumber daya pada saat terjadinya konkurensi. Sumber daya yang ada jumlahnya terbatas, sehingga pada saat banyak proses yang berjalan sistem harus dapat mengatur pengalokasian sumberdaya agar tidak terjadi starvation. Selain itu terdapat juga sumber daya yang tidak bersifat shareable atau tidak dapat digunakan secara bersaman, sumber daya seperti itu disebut sumber daya kritis.
·             Komunikasi antar proses.
Untuk mengatur kegiatan proses yang berjalan bersamaan, mereka harus dapat saling berkomunikasi, dimana proses-proses yang ingin dikomunikasikan harus memiliki sebuah cara untuk berkomunikasi satu dengan lainnya. Mereka dapat menggunakan komunikasi secara langsung atau tak langsung.
·             Sinkronisasi aktivitas banyak proses.
Sinkronisasi aktivitas banyak proses ini mencakup semua hal di atas. Untuk terjadinya sinkronisasi antar proses-proses yang berjalan diperlukannya komunikasi antar proses yang berjalan. Setelah proses-proses tersebut berkomunikasi, sistem akan dapat membagi sumber daya yang ada baik itu sumber daya kritis atau tidak. Selan itu, sistem juga dapat mengatur penjadwalan proses dengan baik.
Konkurensi dapat muncul pada konteks berbeda, antara lain:
-          Banyak aplikasi (multiple application).
Multiprogramming memungkinkan banyak proses sekaligus dijalankan. Proses-proses dapat berasal dari aplikasi-aplikasi berbeda. Pada sistem multiprogramming bisa terdapat banyak aplikasi sekaligus yang dijalankan di sistem komputer.
-           Aplikasi terstruktur.
Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses. Dengan sekumpulan proses, maka tiap proses menyediakan satu layanan spesifik tertentu.
-          Struktur sistem operasi.
Keunggulan strukturisasi dapat juga diterapkan ke pemrograman sistem. Beberapa sistem operasi aktual yang dipasarkan dan yang sedang dalam riset telah diimplementasikan sebagai sekumpulan proses. Sistem operasi bermodelkan client/server menggunakan pendekatan ini.

2.4 Kesulitan Yang Ditimbulkan Oleh Konkurensi
            Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:
a)    Aktivitas proses-proses lain
b)    Cara sistem operasi menangani interupsi
c)    Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi.




Beberapa kesulitan yang dapat muncul, di antaranya adalah:
a)    Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis.
b)    Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.
c)    Pencarian kesalahan pemrograman.
Pencarian kesalahan pada pemrograman kongkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen.

2.5  Interaksi Antarproses Di Dalam Konkurensi
Pada sistem dengan banyak proses (kongkuren), terdapat 3 katagori interaksi antar proses berdasarkann derajat pengetahuan keberadaan proses lainnya, yaitu:
1.     Proses tidak saling mengetahui keberadaannya.
 Proses seperti ini merupakan proses yang tidak dimaksudkan untuk bekerjasama. Pada multiprogramming dengan proses-proses independen, dapat berupa batch atau sesi interaktif, atau campuran keduanya. Walaupun proses saling tidak melakukan kerjasama, sistem operasi perlu memperhatikan kompetisi sumber daya. Misalnya dua aplikasi independen dapat sama-sama menginginkan akses ke disk, file , atau printer yang sama. Sistem operasi harus mengatur akses tersebut.
2.     Proses mengetahui keberadaan proses lainnya secara tidak langsung.
Proses seperti ini adalah proses yang tidak harus saling mengetahui akan keberadaan proses lainnya berdasarkan namanya namun memiliki akses berbagi ke beberapa objek, misaslkan bufer I/O. Proses seperti itu menunjukkan adanya kooperasi dalam melakukan berbagi pemakaian ojek.
3.       Proses mengetahui keberadaan proses lainnya secara langsung.
Proses-proses seperti ini adalah proses yang dapat berkomunikasi satu dengan lainnya berdasarkan nama dan merupakan proses yang dirancang untuk bekerja sama dalam melakukan aktivitas-aktivitas tertentu. Demikian pula, proses seperti ini menunjukkan adanya kooperasi.

2.6  Kerjasama Diantara Proses-Proses Dengan Pemakaian Bersama & Dengan Komunikasi
Dalam kasus kerjasama pemakaian sumber daya bersama meliputi proses-proses yang saling berinteraksi tanpa dinyatakan secara eksplisit.
Contoh
Banyak proses mengakses variabel atau berkas yang dipakai bersama. Proses-proses dapat menggunakan dan memperbaharui data yang dipakai bersama tanpa peduli proses-proses lain. Proses mengetahui bahwa proses-proses lain dapat juga mengakses data yang sama. Proses-proses harus bekerja sama untuk menjamin integritas data yang dipakai bersama tersebut.
Kerja sama di antara proses-proses dalam pemakaian bersama mempunyai masalah (Mutual exclusion, Deadlock dan Starvation).
Sedangkan ketika proses-proses bekerja sama dengan komunikasi, beragam proses berpartisipasi dalam suatu usaha dengan menghubungkan semua proses. Komunikasi menyediakan cara untuk sinkronisasi atau koordinasi beragam aktivitas.
Komunikasi dicirikan dengan berisi pesan-pesan dengan suatu urutan. Primitif untuk mengirim dan menerima pesan disediakan kernel sistem operasi. Karena tak ada sesuatu yang di pakai bersama di antara proses-proses itu dalam melewatkan pesan-pesan, tak ada masalah mutual exclusion. Tetapi masalah deadlock dan starvation dapat muncul.
Contoh
Deadlock adalah dua proses menjadi Blocked dalam hal ini masing-masing proses menjadi Blocked karena menunggu komunikasi dari proses lain. Kedua proses saling menunggu komunikasi dari lainnya dan tidak dapat beranjak dari kondisi ini.
 
2.7  Pokok Penyelesaian Masalah Dengan Kongkurensi
Pada dasarnya penyelesaian masalah kongkurensi terbagi menjadi 2, yaitu:
1. Mengasumsikan adanya memori yang digunakan bersama.
2. Tidak mengasumsikan adanya memori yang digunakan bersama.
Adanya memori bersama lebih memudahkan dalam penyelesaian masalah konkurensi. Metode penyelesaian ini dapat dipakai untuk sistem singleprocessor ataupun  multiprocessor yang mempunyai memori bersama. Penyelesaian ini tidak dapat digunakan untuk multiprocessor tanpa memori bersama atau untuk sistem tersebar.





BAB III
PENUTUP

3.1.Kesimpulan
Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama. Dikatakan sebagai landasan umum perancangan sistem operasi karena dalam menciptakan suatu sistem operasi, sistem operasi tersebut umumnya harus bisa menjalankan beberapa proses (lebih dari satu proses) pada saat yang bersamaan.
Pada proses-proses yang konkuren atau berada pada saat yang bersamaan, terdapat beberapa masalah yang harus diselesaikan yaitu ( Mutual exclusion, Sinkronisasi, Deadlock dan Starvation ). Penyelesaian masalah kongkurensi terbagi menjadi 2 yaitu Mengasumsikan adanya memori yang digunakan bersama dan tidak mengasumsikan adanya memori yang digunakan bersama.
Adanya memori bersama lebih memudahkan dalam penyelesaian masalah konkurensi. Metode penyelesaian ini dapat dipakai untuk sistem singleprocessor ataupun  multiprocessor yang mempunyai memori bersama.



DAFTAR PUSTAKA

Hariyanto, B.,"Sistem Operasi", Bandung: Informatika, Desember 1997


selengkapnya...

Copyright © 2013 Welcome in my blog: Maret 2015 | Blogger Template for Bertuah | Design by Ais Bertuah and Berry Hardisakha