PENYELARASAN PADA MASALAH DINING PHILOSOPHERS MENGGUNAKAN ALGORITMA LOCK & RELEASE

dokumen-dokumen yang mirip
Sinkronisasi dan Deadlock Sistem Operasi

Sistem Operasi. Critical section, konkurensi, mutasi exclusion, starvation dan deadlock. Juliansyahwiran, S. Kom, MTI. Modul ke: Fakultas FASILKOM

BAB 1 PENDAHULUAN. Sistem operasi merupakan suatu program yang bertindak sebagai interface antara user

November Sistem operasi #0

Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama.

Sistem Operasi. Deadlock

A. Deskripsi Singkat. B. Tujuan Instruksional Umum (TIU) C. Bahasan. SILABUS MATA KULIAH Kode MK: Semester: Bobot SKS: 3. Matakuliah : SISTEM OPERASI

Sus Pokok Bahasan dan Sasaran Belajar

PERANGKAT LUNAK SIMULASI DEADLOCK MENGGUNAKAN ILUSTRASI DINING PHILOSOPHERS PROBLEM

Sistem Operasi. Konkurensi

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Kontrak Kuliah. Sistem Operasi

SEKOLAH TINGGI INFORMATIKA & KOMPUTER INDONESIA (STIKI)

SATUAN ACARA PERKULIAHAN ( SEMESTER Pertengahan Tahun Ajaran)

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Strategi Pembelajaran

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Apa yang akan dipelajari?

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

KONGKURENSI (KEBERSAMAAN) Haryono Setiadi, ST, M.Eng

Masalah-Masalah Klasik Sinkronisasi

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM OPERASI (TK) KODE / SKS KK /4

Pengantar Teknologi Sistem Informasi 1b. Concurency

Pendeteksian Deadlock dengan Algoritma Runut-balik

PRINSIP-PRONSIP KONGKURENSI meliputi halhal berikut : 1. alokasi waktu pemrosesan untuk prosesproses

Sistem terdistribusi Processes, Threads and Virtualization pertemuan 3. Albertus Dwi Yoga Widiantoro, M.Kom.

Kongkurensi LPOHLVSFOTJ!

Operating System. Synchronization & Deadlock. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Fairuz El Said Sekedar Berbagi Sistem Operasi (SO) Konkurensi KONGKURENSI

Algoritma Penjadwalan pada Tinyos

Readers-Writers & The Dining Philosophers Problem

Deadlock. Gambaran Umum Deadlock

Analisis Penerapan Semaphore dalam Mengatasi Masalah Sinkronisasi Dining Philosophers.

SILABUS JURUSAN MANAJEMEN - PROGRAM STUDI D3 MANAJEMEN INFORMATIKA DIREKTORAT DIPLOMA TEKNOLOGI INFORMASI UNIVERSITAS GUNADARMA

PROSES & THREADS 2 AGUS PAMUJI. SISTEM OPERASI - Proses & Threads

STMIK AMIKOM YOGYAKARTA

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Bab 19. Solusi Critical Section

Bab 24. Diagram Graf Pendahuluan

PROSES DAN THREADS DALAM SISTEM OPERASI

Aplikasi Graf dalam Pendeteksian Deadlock

DEADLOCK = kompi loe nge-hang tuh..

PERANGKAT LUNAK SIMULASI DINNING PHILOSOPHERS UNTUK MENGATASI DEADLOCK TUGAS AKHIR MUHAMMAD ZULHAM

Sistem Operasi Pertemuan 6 Concurrency: Deadlock & Starvation. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

PENGATURAN PROSES. Proses adalah program yang sedangdieksekusi atau sofware yang sedang dilaksanakan.

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

BAB 1 PENDAHULUAN. paling efektif dan efisien pada masa sekarang. Oleh karena itu, suatu lembaga

Sistem Operasi. Kongkurensi

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

Pencegahan Deadlock pada Alokasi Resource dalam Sistem Operasi Menggunakan Algoritma Greedy

Concurrency C oncurrency 2 : Deadlock dan Starvation (P ( ertemuan ke ert -15) November 2014

Analisis Dan Perancangan Sistem Informasi Pelaporan Proyek Pada PT Icon Indonesia

BAB II TINJAUAN PUSTAKA

Sistem Operasi Mobile

Artikel Perbedaan Proses Dan Thread. Disusun Oleh : Nama : Rozy Putra Pratama NIM : Prodi : Sistem Informasi

Aplikasi Komputer PERANGKAT LUNAK (SOFTWARE) Sulis Sandiwarno, S.Kom.,M.Kom. Sistem Informasi. Modul ke: Fakultas FASILKOM.

slide - Manajemen Proses, meliputi : konsep proses, metode penjadualan proses, komunikasi antar proses, sinkronisasi proses dan deadlock.

Dosen pengampu : Mohamad Dani Sifat : Tutup buku dan peralatan elektronik

Soal-jawab Quiz 2. Oleh: Endro Ariyanto (END) Oktober 2008

BAB IV IMPLEMENTASI DAN EVALUASI

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

Thread, SMP, dan Microkernel (P ( e P rtemuan ua ke-6) 6 Agustus 2014

RENCANA PEMBELAJARAN SEMESTER (RPS)

SILABUS SISTEM TERDISTRIBUSI (S1 - Sistem Informasi) (KK ) MINGGU POKOK BAHASAN MATERI SUMBER

BAB I PENDAHULUAN. untuk menyelesaikan masalah konkurensi pada sistem operasi. Mutual exclusion

Bab 6: Sinkronisasi Proses. Latar Belakang

7. Pengaturan Proses

TUGAS SISTEM OPERASI

Algoritma Schedulling

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER

BAB II LANDASAN TEORI. mempertukarkan produk yang bernilai dengan pihak lain.

BAB III TINJAUAN PUSTAKA

Bab 23. Deadlocks Pendahuluan. Gambar Contoh kasus deadlock pada lalu lintas di jembatan

Deadlock Kasus Pada Sistem Operasi

Teknik Informatika S1

BAB I PENDAHULUAN. I.1 Latar Belakang I-1

Case Study Pengalokasian Memory

BAB I PENDAHULUAN. media penyimpanan data yang memiliki ukuran hingga ratusan gigabyte bahkan

Bab 13. Konsep Penjadwalan

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi Manajemen Disk dan Algoritma Penjadualan Disk

Pertemuan 4 KONKURENSI

REVIEW DAN REVISI BUKU

Komunikasi & Sinkronisasi Proses

Bab 3.Proses dan Penjadualan

Ch t ap 7 er Operating System (OS)

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

1. Setelah kita merakit PC, maka agar hardware dapat berfungsi dan fungsi komputer dapat dijalankan, maka kita harus menginstal... a. BIOS d.

IMPLEMENTASI PENANGANAN DEADLOCK MENGGUNAKAN METODE TASKKILL

DEADLOCK & ALGORITMA OSTRICH

Koordinasi Antar Proses

Diagram ARL W i & W Ri. Varian

RANCANG BANGUN SISTEM INFORMASI PELAYANAN UNIT SISTEM INFORMASI SEKOLAH TINGGI TEKNOLOGI GARUT BERBASIS WEB DAN ANDROID

Introduction To Programming & Software Engineering. Inggriani Liem Revisi oleh: Tim Penyusun Materi KU1071/Pengantar Teknologi Informasi A

PENGEMBANGAN PERANGKAT LUNAK SISTEM OPERASI MESIN MILLING CNC TRAINER

Keywords Algoritma, Genetika, Penjadwalan I. PENDAHULUAN

BAB 1 PENDAHULUAN. Algoritma Banker dikemukakan oleh Edsger W.Djikstra dan merupakan salah satu

Tipe Sistem Operasi. Stand alone Network Embedded

Komputasi Paralel Sebagai Alternatif Solusi Peningkatan Kinerja Komputasi

Seminar Nasional Informatika 2008 (semnasif 2008) ISSN: UPN Veteran Yogyakarta, 24 Mei 2008

Transkripsi:

PENYELARASAN PADA MASALAH DINING PHILOSOPHERS MENGGUNAKAN ALGORITMA LOCK & RELEASE Andysah Putera Utama Siahaan Universitas Sumatra Utara Jl. Dr. Mansur No. 9, Medan, Sumatra Utara, Indonesia andiesiahaan@gmail.com Abstrak Pembahasan dari makalah bagaimana mencegah deadlock dalam masalah filsuf makan. Deadlock adalah keadaan yang tidak diinginkan dari sistem konkuren, ditandai dengan serangkaian proses dalam keadaan menunggu melingkar, di mana setiap proses diblokir mencoba untuk mendapatkan akses ke sumber daya yang dimiliki oleh yang berikutnya dalam rantai. Pencegahan deadlock umumnya digunakan dalam didistribusikan real-time dan sistem operasi, tetapi, karena konkurensi sangat terbatas, sebuah sistem didistribusikan untuk menghindari deadlock secara efisien. Makalah ini menyajikan sebuah teknik untuk menghindari deadlock menggunakan algoritma lock dan release yang dapat mencegah thread lain dalam rantai untuk membuat race condition. Kata Kunci Dining Philosophers Problem, Race Condition, Concurrent, Deadlock, Starvation I. PENDAHULUAN Istilah pemrograman konkuren biasanya mengacu pada jenis program yang dibutuhkan untuk mendukung kegiatan simultan dalam aplikasi perangkat lunak. Definisi seperti itu agak luas, dan memang pemrograman konkuren dapat merujuk ke berbagai model

14 Techsi Vol. 6 No. 1, April 2015 pemrograman. Sebagai contoh, sistem multi-prosesor, sistem paralel, sistem terdistribusi serta sistem uni-prosesor dengan konkurensi simulasi. Semua platform ini mendukung pemrograman konkuren. Pada artikel ini, kita mengambil penekanan khusus pada sistem prosesor uni atau multi dengan konkurensi aktual atau simulasi. Banyak masalah yang akan ditangani di sini yang bersifat umum dan dapat diterapkan pada sistem lain juga. Perhatikan bahwa berbagi informasi dinamis merupakan kriteria penting. Pemrograman dengan dua program yang berbeda berjalan pada dua mesin yang berbeda adalah sebagai pemrograman konkuren. II. DINING PHILOSOPHERS Lima filosof duduk mengelilingi meja bundar dan ada semangkuk besar spaghetti di tengah meja. Ada lima garpu ditempatkan di sekitar meja di antara para filsuf. Ketika seorang filsuf, yang sebagian besar dalam bisnis berpikir mendapat lapar, ia meraih dua garpu untuk nya langsung kiri dan kanan dan mati-set untuk mendapatkan makanan. Skenario biasanya diproyeksikan adalah bahwa jika semua filsuf ambil garpu mereka di sebelah kiri mereka secara bersamaan dan tidak satupun dari mereka akan dapat meraih garpu di sebelah kanan mereka. Ide dasar dibalik skenario adalah bahwa jika aktivitas bersamaan selalu melakukan apa yang tampaknya terbaik untuk dirinya sendiri atau apa yang tampaknya menjadi hal yang benar untuk dirinya sendiri dalam skenario sumber daya bersama, hasilnya bisa menjadi kekacauan. Apakah ada solusi untuk masalah Dining filsuf? Asumsikan bahwa kita memiliki tugas sederhana menulis beberapa informasi penting menjadi dua file pada disk. Tetapi file-file ini juga dimiliki oleh program lain juga. Oleh karena itu Anda menggunakan strategi berikut untuk memperbarui file:

DINING PHILOSOPHERS MENGGUNAKAN ALGORITMA LOCK & RELEASE 15 Kunci A Kunci B Menulis Informasi ke A dan B Lepaskan Kunci Coding yang tampaknya sederhana dan jelas hal ini dapat mengakibatkan deadlock jika tugas-tugas lain juga menulis ke file ini. Sebagai contoh, jika yang lain kunci tugas B pertama, kemudian mengunci A, dan jika kedua tugas mencoba untuk melakukan pekerjaan mereka pada saat yang sama deadlock terjadi. Tugas pertama akan mengunci A, tugas lainnya akan mengunci B, maka tugas pertama akan menunggu tanpa batas waktu untuk mengunci B sementara menunggu tugas lain tanpa batas untuk mengunci A. III. PEMBAHASAN Sebuah titik awal yang baik dalam merancang sistem adalah menggambar diagram urutan untuk skenario utama yang diidentifikasi dari spesifikasi masalah. Untuk menggambar diagram tersebut, kita perlu untuk memecah masalah ke objek aktif dengan tujuan utama meminimalkan duplikasi antara objek-objek yang aktif. Masalah Dining Philosophers telah secara khusus disusun untuk membuat filsuf mengambil garpu, yang merupakan sumber daya bersama dalam kasus ini. Dalam sistem objek yang aktif, strategi desain generik untuk menangani sumber daya tersebut bersama adalah untuk melibatkan mereka di dalam objek aktif berdedikasi dan membiarkan objek yang mengelola sumber daya bersama.

16 Techsi Vol. 6 No. 1, April 2015 Gambar 1: Urutan dari Dining Philosophers Gambar 1 menunjukkan keadaan yang berhubungan dengan objek yang aktif. Keadaan ini melacak garpu dan filsuf yang sedang lapar dengan cara menghitung waktu time-out. Antara filsuf pertama dengan filsuf yang berikutnya tidak boleh saling berbenturan sehingga deadlock dapat dihindari. Gambar 2: Deadlock Tidak Terjadi

DINING PHILOSOPHERS MENGGUNAKAN ALGORITMA LOCK & RELEASE 17 Gambar 3: Deadlock Terjadi Gambar 2 menunjukkan proses antrian pada filsuf dalam menggunakan garpu, sementara filsuf lainnya melakukan makan dan berfikir. Pada gambar 3 terjadi deadlock dimana seluruh filsuf menunggu garpu yang sedang dipakai. IV. KESIMPULAN Pada pemrograman konkuren diperlukan beberapa teknik yang dapat menghindari keadaan deadlock pada saat melakukan pekerjaan yang bersamaan. Jika terjadi deadlock komputer akan mengalami waktu tunggu yang lama dan kemungkinan dapat menyebabkan komputer tidak bekerja sama sekali. Teknik lock dan release adalah salah satu cara yang dapat menghindari deadlock dari sistem pemrograman konkuren.

18 Techsi Vol. 6 No. 1, April 2015 DAFTAR PUSTAKA W. S. Davis and T. M. Rajkumar, Operating Systems A Systematic View, 5th Edition, Addison Wesley, 2001. S. Tanenbaum, Modern Operating Systems, 2nd Edition, Prentice Hall, 2001. Gary Nutt, Kernel Projects for Linux, Addison Wesley, 2000. H.M. Deitel, An Introduction to Operating Systems, 2nd Edition, Addison-Wesley, Reading, MA 1990. Steven V. Earhart (Editor), UNIX Programmer's Manual, Holt, Rinehart, and Winston, New York, NY 1986.