Sistem Operasi Pertemuan 12.

Slides:



Advertisements
Presentasi serupa
OVERVIEW • Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian pengubahan.
Advertisements

Rujukan Mata Kuliah Sistem Operasi #04.
LOGO Kelompok 5 Rifki Baidhowi Ida Fitriana Satya Bagus F Sistem Operasi Kelas E Teknik Informatika Sistem Operasi Kelas E Teknik.
Sistem Operasi Proses Fachry Khusaini ( ) Nur Yaqin ( )
Sinkronisasi dan Deadlock Universitas Airlangga
Sistem Operasi Proses Kelompok 2 Azizah Zahratul Firdausi ( )
Kelompok 5 “Sinkronisasi Proses” Sistem Operasi Kelas F
Oleh : Kelompok 2 Irawan ( ) Alifuddin Wachid ( ) Retno Ayu Apriliati ( ) “Proses Sistem Operasi” G.
SINKRONISASI Pertemuan 5.
Arief Cahyo S Rachmad Wahyudi S Abdul Qodir Jailani M. Choirur Rozi Rahmat Aidil FR
MANAJEMEN PROSES.
Proses Ali akbar. KONSEP PROSES Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan. Dalam suatu proses terdapat.
Manajemen Prinsip Dasar Input/Output
Dahlan Abdullah PERTEMUAN – 6 KULIAH SISTEM OPERASI SINKRONISASI & DEADLOCK.
PERTEMUAN KE-17 PERKULIAHAN SISTEM OPERASI
Concurrency M-03.
Pertemuan ke 3 Konsep Proses
SISTEM PAGING.
Pertemuan 4 Manajemen Proses 2.
Oleh : Wahyu Andhyka Kusuma
SINKRONISASI.
Sistem Operasi Sinkronisasi Proses.
SINKRONISASI DAN DEADLOCK
PERTEMUAN KE-15 PERKULIAHAN SISTEM OPERASI By : Nanda Prasetia, ST.
Sinkronisasi dan Deadlock Proses
MATERI 7 SISTEM OPERASI Managemen Memori Oleh : Mufadhol, S.Kom
INTERPROCESS COMMUNICATION
SISTEM OPERASI PROGRAM STUDI PENDIDIKAN TEKNIK INFORMASI DAN KOMPUTER (PTIK) JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK – UNIVERSITAS NEGERI MAKASSAR.
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Layanan Sistem Operasi, System Calls, dan System Program.
MUTUAL EXCLUSION.
PERTEMUAN KE-16 PERKULIAHAN SISTEM OPERASI
Konkurensi: Mutual Exclusion dan Sikronisasi
PERTEMUAN KE-13 PERKULIAHAN SISTEM OPERASI
KONKURENSI.
KONKURENSI.
PROSES DAN SINKRONISASI
MANAJEMEN DEVICE.
SINKRONISASI DAN DEADLOCK
PENJADWALAN PROSES DAN IMPLEMANTASI Sistem operasi komputer
PRESENT BY Rizky Maulidya Nur Islami Syabaniyah Astrie Nova Islamy Novia Sulviatin
Sistem Operasi Pertemuan 15.
Sistem Operasi Pertemuan 11.
SISTEM OPERASI Pertemuan 3 : Manajemen Proses
Deadlock Edi Sugiarto, S.Kom.
Struktur Sistem Komputer
Wahyu nurjaya wk, st., m.kom.
Manajemen Memori.
Konkurensi.
SINKRONISASI.
SINKRONISASI & DEADLOCK
Pengenalan Sistem Operasi
Sinkronisasi dan Deadlock
SINKRONISASI PADA THREAD
Chalifa Chazar SISTEM PAGING Chalifa Chazar
Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta
Process and Tread Saifudin Anshory Abd. Chariz Fauzan Wahyu Hartono
TEGUH IMAN HERMANTO, M.Kom
Struktur Sistem Komputer
4. SISTEM OPERASI Manajemen Proses - Konkurensi
Koordinasi Antar Proses DI DALAM SISTEM TERDISTRIBUSI
Kongkurensi.
Konkurensi SISTEM OPERASI Slide perkuliahan
Manajemen Proses.
SINKRONISASI DAN DEADLOCK
Proses Secara informaladalah program proses dalam eksekusi prosesadalah lebih dari kode program, yang kadang-kadang dikenal sebagai bagian teks. proses.
Struktur Sistem Komputer
SINKRONISASI PROSES Kelompok 1 Achmad Syarifudin S Ade Putra Gustama
PROSES DAN SINKRONISASI
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Transcript presentasi:

Sistem Operasi Pertemuan 12

Komunikasi Antar Proses Konsep proses yang memiliki ruang alamat logika yang independen dan terisolasi dari proses lain, merupakan salah satu cara agar perebutan terhadap sumber daya tersebut tidak perlu ditangani langsung oleh pemogram aplikasi, tapi ditangani oleh sistem operasi dan dibantu dukungan perangkat keras yaitu MMU (Memory Management Unit) Ada kalanya proses-proses yang berjalan tersebut saling bekerja sama sehingga sistem operasi harus menyediakan fasilitas komunikasi antar proses (IPC, Inter Process Communication)

Dua macam model komunikasi antar proses yang saling bekerja sama Model bertukar pesan (message passing) Model berbagai pakai memori (shared memori)

1. Mekanisme IPC Message Passing Mekanisme message passing melibatkan intervensi sistem operasi secara langsung. Misalnya proses A hendak menyampaikan suatu pesan M ke proses B maka proses A akan mengirimkan pesannya ke kernel sistem operasi(1), yang kemudian diteruskan ke proses B (2). Catatan : Pesan M harus mengandung informasi alamat tujuan dari pesan tersebut. Hal ini sama halnya jika kita ingin mengirim kartu pos ke orang lain. Pada kartu pos dicantumkan pesan dan alamat tujuannya. Kemudian kita menyampaikan kartu pos tersebut ke kantor pos, dan kemudian pihak kantor pos menyampaikan pesan tersebut ke pihak penerima. Process A M M Process B 2 1 kernel M

2. Mekanisme IPC Shared Memory Mekanisme ini melibatkan sistem operasi pada saat mengalokasikan memori ke proses-proses yang akan saling berkomunikasi lewat fasilitas ini. Caranya adalah bagian tertentu dari ruang alamat dua proses tersebut dipetakan ke suatu lokasi memori fisik yang sama sehingga proses-proses tersebut dapat menulis maupun membaca dari lokasi memori ini. Proses A mengirimkan pesan dengan cara menulis pesannya diruang memori bersama. Proses B menerima pesan tersebut dengan membacanya dari ruang memori tersebut. Perhatikan, dari perspektif masing-masing proses, mereka menulis atau membaca ruang alamat mereka sendiri. Pengaksesan ke memori bersama ini umumnya membutuhkan sinkronisasi agar tidak terjadi perebutan akses bersamaan yang dapat menyebabkan ketidak konsistenan data yang diakses. Process A Shared memory Process B kernel

Model Komunikasi Message Passing Komunikasi Langsung Komunikasi Tidak Langsung

Sintaks Pada komunikasi langsung, alamat identitasatau alamat penerima dinyatakan secara eksplisit dalam sintak pengiriman pesan, yaitu : Send(pesan, proses tujuan) Pada komunikasi tak langsung, pengiriman dan penerimaan pesan dilakukan menggunakan suatu perantara yang disebut dengan mailbox ataupun port. Jadi pengirim akan menyampaikan pesan ke mailbox dengan sintak : Send(pesan, alamat mailbox) Setiap proses yang dapat membaca dari mailbox yang digunakan, otomatis dapat menjadi pihak penerima pesan. Penerima mengambil pesan dari mailbox dengan sintak : Receive(pesan, alamat mailbox)

Komunikasi Langsung Send(pesan, P2) bidirectional Ciri-ciri komunikasi langsung : Terdapat sambungan yg dapat bekerja secara otomatis antara proses-proses yang ingin berkomunikasi. Tiap sambungan menghubungkan tepat dua proses, antar setiap pasangan proses terdapat tepat satu jalur sambungan. Sambungan dapat bersifat satu arah (unidirectional), namun biasanya bersifat dua arah(bidirectional). Send(pesan, P2) P1 P2 bidirectional

Komunikasi Tidak Langsung Ciri-ciri komunikasi tidak langsung : Komunikasi antar dua proses dapat terjadi jika dua-duanya memiliki akses ke suatu mailbox yg sama. Tiap mailbox dapat menghubungkan lebih dari dua proses, dan dimungkinkan terdapat lebih dari satu sambungan u/ setiap pasangan proses yg hendak berkomunikasi. Setiap sambungan akan menggunakan suatu mailbox Sambungan dapat bersifat satu arah, tetapi umumnya bersifat dua arah P2 P1 M1 (Mailbox 1) Send(pesan, M1) Receive(pesan, M1)

Komunikasi Tidak Langsung P2 P1 M1 (Mailbox 1) M2 (Mailbox 2) P3

Komunikasi tak langsung antara proses-proses dengan menggunakan lebih dari satu mailbox. Dari gambar terlihat ada tiga sambungan(link) komunikasi tak langsung yg mungkin dilakukan. Pertama adalah antara P1 dan P3 lewat M2 dan komunikasinya bersifat bidirectional. Kedua, antara P1 dan P3 lewat M1 dan komunikasinya bersifat unidirectional, yaitu dari P1 ke P3 saja dan tidak sebaliknya. Ketiga, antara P1 dan P2 lewat M1 dan komunikasinya bersifat unidirectional yaitu dari P1 ke P2 saja. Perhatikan, sekalipun P2 dan P3 punya akses ke M1, namun keduanya tidak dapat menyelenggarakan komunikasi. Ini dikarenakan keduanya hanya memiliki akses baca dari M1.

Kepemilikan mailbox dapat bersifat pribadi atau public Kepemilikan mailbox dapat bersifat pribadi atau public. Jika kepemilikan mailbox bersifat pribadi, maka hanya pemilik tunggal mailbox tersebut yang berhak membaca pesan yang masuk ke mailbox tersebut.

Race Condition Yaitu kondisi saat lebih dari satu proses berusaha mengakses suatu sumber daya pada saat yang bersamaan Ilustrasi R P1 P2 TIMELINE

Ilustrasi Race Condition Dua proses terpisah sedang melakukan transfer uang sebesar 10 (proses P1), dan sebesar 20 (proses P2) ke suatu nomor rekening yang sama yang memiliki saldo awal sebesar 100. Jika kedua aktivitas transfer uang tersebut berjalan secara benar, maka saldo akhir rekening mestinya 130. Namun terlihat dari contoh, bahwa jika proses transfer P1 dan P2, yang berjalan terpisah namun konkuren tidak dikoordinasi dengan baik maka mungkin terjadi race condition dan menghasilkan saldo akhir yg salah, yaitu 110 atau 120. Permasalahannya terletak pada kode yang melakukan akses ke sumber daya yg digunakan bersama oleh proses P1 dan P2, yaitu variabel balance atau saldo rekening. Kedua proses P1 dan P2 membaca nilai balance dan mengubah, atau lebih tepatnya menjumlahkan dengan suatu nilai sesuai dengan uang yang ditransfer oleh masing-masing proses.

Jika Proses benar seperti ini : 100 130 P2=20

Sinkronisasi Proses Kondisi race condition dapat diatasi dengan menerapkan bentuk sinkronisasi pada bagian kode yg melakukan pengaksesan atau pengubahan ke sumber daya yg digunakan bersama. Sinkronisasi berkaitan dengan pengaturan urutan eksekusi proses-proses yang terkait

Ilustrasi terjadi race condition Terdapat dua aktivitas yang berjalan secara asinkron yaitu X dan Y. Yang merupakan critical section pada masing-masing aktivitasnya yaitu aktivitas 2 dari proses Y dan aktivitas 3 dari proses X. karena kedua aktifitas ini memanipulasi sumber daya B yang sama maka race conditon terjadi. X Y 1 3 2 B

Ilustrasi Sinkronisasi Untuk mengatasi race condition maka urutan eksekusi aktivitas 2 dari Y dan aktivitas 3 dari X harus dibuat menjadi sinkron, yaitu salah satu aktivitas harus selesai dahulu baru aktivitas lainnya dimulai. Mekanisme sinkronisasi seperti ini yang memastikan hanya satu proses yang berhak memanipulasi suatu sumber daya pada suatu waktu disebut juga dengan mutual exclusive (mutex) X Y 1 2 B 3

Implementasi Sinkronisasi Mekanisme sinkronisasi memastikan operasi terhadap sumber daya tersebut secara mutual exclusive, yaitu setiap saat hanya diijinkan satu proses yg dapat mengakses dan memanipulasi sumber daya tersebut. Namun jika suatu sumber daya mengizinkan untuk diakses secara konkuren oleh N proses maka sinkronisasi bertugas memastikan pada suatu waktu, maksimal hanya sejumlah N proses yang dapat mengakses sumber daya tersebut.

Persyaratan Implementasi sinkronisasi proses Mutual Exclusion : ketika suatu proses memasuki eksekusi kode critical section-nya maka tidak boleh ada proses lain yang juga memasuki critical section yang terkait. Sifat ini terutama benar untuk sumber daya yang pengaksesannya bersifat mutual exclusive. Sifat ini dapat didefinisikan ulang untuk sumber daya yang dapat diakses konkuren oleh sejumlah N proses. Progress : yaitu ketika ada proses yang hendak memasuki critical sectionnya dan pada saat itu tidak ada proses lain yang sedang melakukan critical section, permintaan untuk masuk ke critical sectionnya haruslah dipenuhi. Bounded Waiting : Haruslah ada batasan tentang berapa kali proses lain boleh menyalib suatu proses yang telah lebih dahulu meminta ijin untuk memasuki critical sectionnya.