Kamis, 11 Desember 2014

Manajemen Memori dalam Sistem Operasi

Jenis Manajemen Memori

Manajemen memori dalam Sistem Operasi dibagi menjadi dua:
1. Manajemen memori statis
Dengan pemartisian statis, jumlah, lokasi dan ukuran proses di memori tidak beragam sepanjang waktu secara tetap.

2. Manajemen memori dinamis
Dengan pemartisian dinamis, jumlah, lokasi dan ukuran proses memori dapat beragam sepanjang waktu secara dinamis.

Manajemen memori berdasarkan alokasi memori
a. Alokasi memori berturutan
Alokasi memori secara berturutan adalah tiap proses menempati satu blok tunggal memori yang berturutan

* Keunggulan :
- Sederhana
- Tak terbentuk lubang lubang memori bersebaran
- Proses dapat dieksekusi lebih cepat

* Kelemahan:
- Dapat memboroskan memori
- Tidak dapat memuatkan proses jika tidak ada satu blok memori yang mencukupi

b. Alokasi memori tak berturutan
Program dibagi menjadi beberapa blok atau segmen. Blok-blok program ditempatkan di memori dalam potongan-potongan tanpa perlu saling berdekatan. Teknik ini biasa digunakan pada sistem memori maya sebagai alokasi page-page dilakukan secara global.

Kamis, 04 Desember 2014

"Deadlock" pada Sistem Operasi

Deadlock?
Deadlock adalah keadaan dimana dua atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya. Analoginya seperti pada kondisi jalan raya dimana terjadi kemacetan parah. Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh dua proses. Deadlock bisa digambarkan sebagai berikut :



Jenis-jenis Deadlock
Ada empat kondisi yang dapat menyebabkan terjadinya deadlock. Keempat kondisi tersebut tidak dapat berdiri sendiri, namun saling mendukung. Kondisi tersebut adalah:

1. Mutual exclusion
Hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut.

2. Hold and wait
Proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini dapat menyebabkan kelaparan sumber daya sebab dapat saja sebuah proses tidak mendapat sumber daya dalam waktu yang lama.

3. No preemption
Sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh
proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan.

4. Circular wait
Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang
dipegang proses berikutnya.

Mengatasi Terjadinya Deadlock
Ada beberapa cara untuk mengatasi terjadinya deadlock, diantaranya adalah:
a. Mengabaikan masalah deadlock.
b. Mendeteksi dan memperbaiki
c. Penghindaran yang terus menerus dan pengalokasian yang baik dengan menggunakan protokol untuk memastikan sistem tidak pernah memasuki keadaan deadlock. Yaitu dengan deadlock avoidance sistem untuk mendata informasi tambahan tentang proses mana yang akan meminta dan menggunakan sumber daya.
d. Pencegahan yang secara struktur bertentangan dengan empat kondisi terjadinya deadlock dengan deadlock prevention sistem untuk memastikan bahwa salah satu kondisi yang penting tidak dapat menunggu.