Jurusan Teknik Informatika UPN Surabaya Sistem Operasi Jurusan Teknik Informatika UPN Surabaya
Outline Deadlock RAM Disk Shell script
Deadlock Suatu kondisi ketika sekumpulan proses menunggu sebuah event yang hanya bisa disebabkan oleh proses lain Melibatkan resource: Hardware Software
Preemptable Resource Preemptable: resource yang bisa dikosongkan dari proses yang menggunakannya tanpa error Contoh: memori Nonpreemtable: resource yang bisa dikosongkan dari proses yang menggunakannya dengan terjadi error Contoh: CD-RW ketika melakukan burn
Event pada Resource Meminta untuk menggunakan resource (request) Menggunakan resource (use) Melepaskan resource (release)
Kondisi Deadlock Mutual exclusion Tiap proses menggunakan satu resource Hold and wait Proses yang sedang menggunakan resource bisa meminta resource baru No preemtion Proses tidak bisa dilepaskan dari resource Circular wait Circular chain dari dua proses atau lebih
Model Deadlock Menggunakan resource (a) Meminta resource (b) Terjadi deadlock (c)
Deadlock
Bukan Deadlock
Strategi Mengatasi Deadlock Ignore the problem Detection and recovery Prevention
Ignore the Problem The Ostrich Algorithm Mengacuhkan terjadinya deadlock karena kondisi ini jarang terjadi
Detection and Recovery Mendeteksi terjadinya deadlock, lalu mengatasinya Memonitor terjadinya request dan release pada resource Jika terjadi cyclic, salah satu proses di-kill
Deadlock Prevention
RAM Disk Dua operasi pada blok Read Write Mempunyai akses yang cepat, tidak menggunakan rotasi seperti hard disk Cocok digunakan untuk menyimpan program dan data yang sering diakses
RAM Disk Berguna pada saat instalasi sistem operasi Melakukan mount dan unmount pada removable media Linux mendukung mount-unmount, Windows tidak Keuntungan: tidak perlu membaca disk jika tidak diperlukan
RAM Disk
Hard Disk A. Track B. Sector C. Track sector D. Cluster
RAID Redundant Array of Independent Disks Nama awal: Redundant Array of Inexpensive Disks Teknologi yang mengombinasikan multiple disk drive ke dalam sebuah logical unit
Ilustrasi RAID Consider a very simple RAID of two drives. When multiple sectors of data are to be written to the "disk" the RAID controller sends sectors 0, 2, 4, etc., to the first drive, and sectors 1, 3, 5, etc., to the second drive. The controller divides up the data and the two disks are written simultaneously, doubling the writing speed.
Ilustrasi RAID When reading, both drives are read simultaneously, but the controller reassembles the data in the proper order To the rest of the system it just looks like the reading speed is twice as fast. This technique is called striping.