Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Sistem Operasi PERTEMUAN 11. Konkurensi Terdapat dua proses atau lebih pada saat yang sama TIMELINE 0 1 Ilustrasi P2 P1.

Presentasi serupa


Presentasi berjudul: "Sistem Operasi PERTEMUAN 11. Konkurensi Terdapat dua proses atau lebih pada saat yang sama TIMELINE 0 1 Ilustrasi P2 P1."— Transcript presentasi:

1 Sistem Operasi PERTEMUAN 11

2 Konkurensi Terdapat dua proses atau lebih pada saat yang sama TIMELINE 0 1 Ilustrasi P2 P1

3 Masalah pada Konkurensi Mutual Exclusion Deadlock Starvation Sinkronisasi

4 Lingkup Konkurensi 1.Alokasi layanan prosessor untuk proses-proses. 2.Pemakaian bersama dan persaingan untuk mendapatkan sumber daya. 3.Komunikasi antar proses 4.Sinkronisasi aktivitas banyak proses

5 Konteks konkurensi pada banyak aplikasi Implementasi TCP/IP pada komputer dipecah menjadi banyak aplikasi yg dpt saling bekerja sama, misalnya : ◦Aplikasi pppd, daemon yg bertugas menjaga atau melakukan transfer data lewat kanal protokol point to point. ◦Aplikasi diald, daemon yg bertugas secara otomatis menghidup matikan modem atau saluran serial sehingga seolah-olah pemakai terhubung terus ke ISP ◦Aplikasi finger, ping, pine, Netscape, dan aplikasi-aplikasi jaringan lainnya bekerjasama dengan pppd dan diald sehingga memungkinkan pertukaran data dengan komputer remote secara nyaman. ◦Aplikasi ifwadm akan selalu waspada untuk memeriksa setiap paket yang keluar dan atau masuk jaringan yang berasal atau menuju aplikasi tertentu sehingga keamanan jaringan lebih terjaga.

6 Konteks konkurensi untuk strukturisasi aplikasi Perluasan prinsip perancangan modular dan pemograman terstruktur adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses. Dengan sekumpulan proses maka masing- masing proses menyediakan satu layanan spesifik tertentu.

7 Konteks konkurensi untuk strukturisasi satu proses Untuk peningkatan kinerja maka satu proses dapat memiliki banyak thread yg independen. Thread-thread tersebut harus dapat bekerja sama untuk mencapai tujuan proses.

8 Konteks Konkurensi untuk Strukturisasi Sistem Operasi Keunggulan strukturisasi dapat juga diterapkan ke pemograman sistem. Beberapa sistem operasi aktual yang dipasarkan dan yang sedang dalam riset telah diimplementasikan sebagai sekumpulan proses.

9 Hal-hal yang mempengaruhi kecepatan proses Aktivitas-aktivitas proses lain Cara sistem operasi menangani interupsi Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi

10 KESULITAN YANG MUNCUL AKIBAT KONKURENSI Pemakaian bersama sumber daya global Jika menggunakan variabel global yang sama serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap dua proses variabel bersama menjadi kritis Pengelolaan alokasi sumber daya agar optimal Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A ditunda(suspend) sebelum menggunakan kanal itu. Jika sistem operasi mempunyai kebijaksanaan mengunci kanal (sehingga tidak membolehkan pemakaian oleh lainnya) dan mencegah proses-proses lain menggunakan kanal itu maka tindakan ini jelas hanya menghasilkan inefiiensi sistem komputer Pencarian kesalahan pemograman Pencarian kesalahan pada pemograman konkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen

11 HAL-HAL YANG DILAKUKAN SISTEM OPERASI UNTUK MENANGANI PROSES- PROSES KONKUREN MENGETAHUI PROSES-PROSES YANG AKTIF Sistem operasi mengelola senarai proses. Senarai ini berupa senarai PCB proses. Senarai berjumlah sesuai jumlah state yang diimplementasikan sistem operasi ALOKASI DAN DEALOKASI BERAGAM SUMBER DAYA UNTUK TIAP PROSES Sumber daya yang harus dikelola antara lain : 1.Waktu prosessor 2.Memori 3.Berkas-berkas 4.Peralatan masukan/keluaran 5.dll PROTEKSI DATA DAN SUMBER DAYA FISIK PROSES Melindungi data dan sumber daya fisik masing-masing proses dari gangguan(interferensi) proses lain HASIL-HASIL PROSES HARUS INDEPENDEN Hasil-hasil proses harus independen terhadap kecepatan relatif proses-proses lain dimana eksekusi dilakukan

12 MUTUAL EXCLUSION Mutual Exclusion adalah suatu kondisi yang terdapat sekumpulan proses, tetapi hanya salah satu proses saja yang dapat mengakses sumber daya tertentu atau melakukan fungsi tertentu pada suatu saat tertentu. P2P1 P3P4 R Ilustrasi TIMELINE CRITICAL SECTION P2 meminta sumber daya R P2 Sumber daya kritis hanya dpt melayani satu proses 01

13 Mutual Exclusion Pada printer sumber dayanya hanya dapat digunakan satu proses pada satu saat. Sumber daya ini disebut sumber daya kritis. Bagian program yang menggunakan sumber daya kritis disebut sedang memasuki critical region/section. Dengan demikian, hanya satu program pada satu saat yang diijinkan masuk critical region. Pemrogram tidak dapat bergantung pada sistem operasi untuk memahami dan memaksakan batasan ini karena maksud program tidak dapat diketahui oleh sistem operasi. Sistem operasi memberikan fasilitas untuk pemrograman agar dapat memberikan indikasi keberadaan critical region. Sistem operasi menyediakan layanan (berupa system call) untuk mencegah proses masuk critical region yang sedang dimasuki proses lain. Pemogram harus menspesifikasikan bagian-bagian critical region sehingga sistem operasi akan menjaganya dengan suatu mekanisme tertentu untuk mencegah proses lain masuk critical region yang sedang dipakai proses.

14 PERSYARATAN MUTUAL EXCLUSION 1.Mutual exclusion harus dilaksanakan : diantara sejumlah proses yang memiliki bagian kritis bagi sumber daya yang sama atau objek bagi pakai, pada suatu saat tertentu hanya sebuah proses yang diizinkan memasuki bagian kritisnya. 2.Suatu proses berhenti di dalam bagian kritisnya tidak boleh mengganggu proses lainnya. 3.Suatu proses yang memerlukan akses ke bagian kritis tidak boleh di delay kan dalam waktu yang tidak tertentu : tidak ada deadlock atau starvation. 4.Apabila di dalam bagian kritis tidak ada proses, proses yang ingin masuk ke dalam bagian kritisnya harus diizinkan masuk tanpa delay. 5.Tidak ada asumsi dibuat tentang kecepatan proses relatif atau jumlah prosessor. 6.Suatu proses berada didalam bagian kritisnya dalam waktu tertentu saja

15 Deadlock Ilustrasi deadlock. misalnya, Dua proses, P1 dan P2 Dua sumber daya kritis R1 dan R2 Proses P1 dan P2 harus mengakses kedua sumber daya Kondisi berikut dapat terjadi : R1 diberikan ke P1, sedangkan R2 diberikan ke P2 Karena untuk melanjutkan eksekusi memerlukan kedua sumber daya sekaligus maka kedua proses akan saling menunggu sumber daya yang lainnya, selamanya. Tidak ada proses yg dapat melepaskan sumber daya yang telah dipegangnya karena menunggu sumber daya lain yg tidak pernah diperolehnya. Keduanya tidak membuat kemajuan apapun. Kedua proses dalam kondisi deadlock. Kondisi deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semua yg terlibat tidak dapat mengakhiri prosesnya secara benar. Beragam mekanisme diusulkan untuk mengatasi kondisi deadlock.

16 Skenario yang menimbulkan deadlock : ◦P1 dialokasikan ke R1 ◦P2 dialokasikan ke R2 Kemudian : ◦P1 sambil masih menggenggam R1, meminta R2. ◦P2 sambil masih menggenggam R2, meminta R1. Kejadian ini mengakibatkan deadlock karena sama-sama proses P1dan P2 akan saling menunggu. Graph deadlock ini digambarkan seperti graph melingkar

17 P1 sambil masih menggenggam R1, meminta R2. P2 sambil masih menggenggam R2, meminta R1. Kejadian ini mengakibatkan deadlock karena sama-sama proses P1 dan P2 akan saling menunggu. Ilustrasi Deadlock P1 P2 R1 R2 R1 diberikan ke P1 R2 diberikan ke P2 P1 R1 P2 R2

18 Starvation Ilustrasi Starvation. Misalnya : Terdapat tiga proses P1, P2 dan P3 P1, P2, dan P3 memerlukan pengaksesan sumber daya R secara periodik. Skenario berikut terjadi : 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 saat 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, meskipun tidak ada deadlock. Pada situasi ini, P2 mengalami starvation.

19 Ilustrasi Starvation P1 P2P3 R TIMELINE CRITICAL SECTION 01 P1 P2P3 R TIMELINE CRITICAL SECTION 01 P3 2 1

20 Ilustrasi Starvation P1 P2P3 R TIMELINE CRITICAL SECTION 01 P1 P2P3 R TIMELINE CRITICAL SECTION n.. : -(

21 Masalah klasik konkurensi Masalah bounded Buffer (Producer-consumer) Masalah Reader and Writers Masalah Dining Philosopher Masalah Sleeping Barber


Download ppt "Sistem Operasi PERTEMUAN 11. Konkurensi Terdapat dua proses atau lebih pada saat yang sama TIMELINE 0 1 Ilustrasi P2 P1."

Presentasi serupa


Iklan oleh Google