0% menganggap dokumen ini bermanfaat (0 suara)
13 tayangan8 halaman

Memory - 1

Dokumen ini membahas manajemen memori dasar, termasuk monoprogramming dan berbagai metode multiprogramming seperti partisi tetap dan dinamis. Setiap metode memiliki kelebihan dan kekurangan, serta algoritma untuk penempatan program dalam memori seperti First Fit, Next Fit, Best Fit, dan Worst Fit. Proses compaction dan relocation juga dijelaskan sebagai solusi untuk mengatasi masalah partisi kecil yang tidak terpakai.

Diunggah oleh

cihuykan0101
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
13 tayangan8 halaman

Memory - 1

Dokumen ini membahas manajemen memori dasar, termasuk monoprogramming dan berbagai metode multiprogramming seperti partisi tetap dan dinamis. Setiap metode memiliki kelebihan dan kekurangan, serta algoritma untuk penempatan program dalam memori seperti First Fit, Next Fit, Best Fit, dan Worst Fit. Proses compaction dan relocation juga dijelaskan sebagai solusi untuk mengatasi masalah partisi kecil yang tidak terpakai.

Diunggah oleh

cihuykan0101
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

BAGIAN III

MEMORY

Basic Memory Management

Acorn Electron – 1978

1985
Monoprogramming without Swaping or Paging

 Pengelolaan paling sederhana, hanya terdapat satu program pada suatu saat yang
berada pada memory serta OS
 3 macam penempatan program bersama OS didalam memory:
Sisa – Waste
– 200K OS di ROM Device driver
di ROM

Proses 1 –
200K User User
Program Program

OS di RAM OS di RAM

 Pada monoprogramming, dimanapun OS berada apakah pada memory bagian


bawah/atas pada RAM maupun pada ROM, tetap hanya satu buah program yang
bisa dilayani.
 Sebuah program yang mempunyai kebutuhan memory yang lebih besar dari
memory yang tersisa akan ditolak, sedangkan bila terdapat program yang lebih kecil
dari memory yang tersedia akan terjadi waste memory (tidak bisa dimanfaatkan)

Multiprogramming with Fixed Partitions / Static Partitions

 Salah satu pengelolaan multiprogramming yang sederhana, membagi memory


menjadi beberapa bagian (partisi) dalam jumlah dan ukuran tertentu
 Jumlah partisi dan ukurannya ditentukan pada saat sistem komputer dinyalakan
(start-up) dimana jumlah dan ukuran ini tidak akan berubah sebelum sistem
komputer dimatikan (shut-down)
 Pada saat sebuah job datang, job ini dapat diletakkan pada partisi yang cukup besar
untuk menampungnya, sehingga terdapat kemungkinan tidak ditempatinya sebuah
partisi yang sudah disediakan
 Untuk peletakan job ke partisi bisa dipakai Separate input queue maupun Single
input queue
825
Partition 4 – 125K
Multiple Input Queue 700
Bila ada
Partition 3 – 300K kebutuhan 30 K
400
maka akan
Partition 2 – 200K menggunakan
Partition 1 – 100K
200
partisi yg mana ?
100
Operating System
0

825
Partition 4 – 125K
Single Input Queue 700
Bila ada beberapa
kebutuhan yg rata-
Partition 3 – 300K
rata di atas 200 K
400 maka akan
Partition 2 – 200K menggunakan
200
Partition 1 – 100K
100
partisi yg mana ?
Operating System
0

Multiprogramming with Variable Partitions / Dynamic Partitions

 Jumlah partisi dan ukurannya berubah-ubah tergantung masuk – keluarnya job


 Pada saat sebuah job datang, job ini diletakkan pada partisi yang cukup besar untuk
menampungnya dan selanjutnya akan terbentuk partisi baru (kosong) bila terdapat
sisa
 Sebagai akibat yang mungkin terjadi adalah terbentuknya partisi-partisi kosong
dengan ukuran kecil yang tersebar di beberapa lokasi dimana kemungkinan besar
partisi ini tidak dapat dimanfaatkan
 Pada kondisi seperti ini, dibutuhkan sebuah proses compaction untuk menyatukan
kembali partisi-partisi kecil tersebut
 Bila dilakukan proses compaction juga harus dilakukan proses relocation yaitu
penghitungan kembali alamat-alamat partisi maupun alamat-alamat yang diperlukan
oleh job/program
20

E-100 E E

C-160

C C C F-150

B-60
B B B B B B
A-80
A A 80 D-70
D D D
OS OS OS OS OS OS OS OS OS

20

E-100 E
E
C-160

C C C
F-150

B-60
B B B B B
B
A-80
A A D-70
D D D
OS OS OS OS OS OS OS OS OS

 Informasi (alamat awal, size, status) setiap partisi disimpan pada sebuah tabel
partisi yang diimplementasikan dengan sebuah linked-list.

 Karena sangat mungkin terdapat lebih dari satu partisi yang bisa ditempati oleh
sebuah job sehingga dibutuhkan sebuah algoritma untuk memilih partisi tersebut.
 Algoritma-algoritma yang dipakai adalah:

1. First Fit
 Pencarian partisi kosong (free/hole) dilakukan dari awal tabel dan bila
ditemukan partisi (yang pertama kali) yang bisa menampung job maka akan
dipakai
 Diketahui, ada partisi kosong dengan ukuran masing-masing 40K, 20K, 60K
 Ada proses dengan kebutuhan berturut2:
 30K, 10K, 5 K
 40K, 20K, 60K – dicari dari awal
 (1) 40K terbagi 2:
 30K – Alocated
 10K – Free
 Free partition menjadi:
 10K
 20K
 60K
 10K menempati partisi 10K
 (2) 10K digunakan langsung
 Free partition menjadi:
 20K
 60K
 5K Menempati partisi 20K
 (3) 20K terbagi 2:
 5K – alocated
 15K – Free
 Free partiton menjadi:
 15K
 60K
2. Next Fit
 Pencarian partisi kosong (free/hole) dilakukan dari entry tabel yang sedang
ditunjuk (posisi pointer) sampai dengan ditemukan partisi yang bisa
menampung job maka akan dipakai
 Bila sampai dengan akhir tabel tidak ditemukan partisi kosong, maka akan
dilanjutkan ke awal tabel sampai ke posisi akhir pointer kembali
 Diketahui, ada partisi kosong dengan ukuran masing-masing 20K, 40K, 60K
 Ada proses dengan kebutuhan berturut2:
30K, 10K, 5 K
 (1) 30K menempati partisi 40K, terbagi menjadi:
 30K – Alocated
 10K – Free
 Free partiotion menjadi:
 20K
 10K
 60K
 (2) 10K menempati partisi 10K
 Free partition menjadi:
 20K
 60K
 (3) 5 K menempati partisi 60K, terbagi menjadi:
 5K – Alocated
 55K – Free
 Free partition:
 20K
 55K

3. Best Fit
 Pencarian partisi kosong dari awal s/d akhir tabel
 Partisi kosong yang menghasilkan sisa paling kecil akan dipakai
 Diketahui, ada partisi kosong dengan ukuran masing-masing 20K, 40K, 60K
 Ada proses dengan kebutuhan berturut2:
30K, 10K, 5 K
 (1) 30K menempati 40K
 20K
 10K
 60K
 (2) 10K menempati 10K
 20K
 60K
 (3) 5K menempati 20K
 15K
 60K

4. Worst Fit
 Pencarian partisi kosong dari awal s/d akhir tabel
 Partisi kosong yang menghasilkan sisa paling besar akan dipakai
 Diketahui, ada partisi kosong dengan ukuran masing-masing 20K, 40K, 60K
 Ada proses dengan kebutuhan berturut2:
30K, 10K, 5 K
 (1) 30K menempati 60K
 20K
 40K
 30K
 (2) 10K menempati 40K
 20K
 30K
 30K
 (3) 5K menempati 30K
 20K
 25K
 30K

 Pada algoritma Best Fit dan Worst Fit akan memakan waktu proses yang cukup
lama apabila jumlah partisi banyak
 Diatasi dengan cara mengurutkan secara Ascending (untuk Best Fit) dan
descending (untuk Worst Fit) kemudian diterapkan algoritma First Fit.l

Anda mungkin juga menyukai