Infranstruktur teknologi informasi -...

36
INFRANSTRUKTUR TEKNOLOGI INFORMASI Manajemen Memory

Transcript of Infranstruktur teknologi informasi -...

Page 1: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

INFRANSTRUKTUR

TEKNOLOGI INFORMASI

Manajemen Memory

Page 2: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Memori utama harus diatur sebaik mungkin agar

Meningkatkan utilitas CPU yang sebesar-besarnya

data dan instruksi dapat diakses dengan cepat oleh CPU

memori utama memiliki kapasitas yang sangat terbatas,

sehingga pemakaiannya harus seefisien mungkin

transfer data dari/ke memori utama ke/dari CPU dapat

efisien.

Page 3: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Fungsi manajemen memori :

mengelola informasi memori yang terpakai dan yang tidak

terpakai

mengalokasikan memori ke proses yang memerlukan

mendealokasikan memori dari proses telah selesai

mengelola swapping antara memori utama dan disk

Page 4: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Swapping

Suatu proses dapat dialihkan sementara dari memori ke

suatu tempat penyimpanan dan dipanggil kembali ke

memori jika akan melanjutkan eksekusi.

Page 5: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Swapping

1. Manajemen memori tanpa swapping

manajemen memori tanpa pemindahan proses antara memori

utama dan disk selama eksekusi

Terdiri dari :

monoprogramming

multiprogramming dengan pemartisian statis

Page 6: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Monoprogramming

Merupakan manajemen memori paling sederhana. Sstem komputer hanya

mengijinkan 1 program/pemakai berjalan pada 1 waktu. Semua sumber daya

sepenuhnya dikuasai proses yang sedang berjalan.

• Ciri-ciri manajemen memori monoprogramming :

• hanya 1 proses pada 1 saat

• hanya 1 proses menggunakan semua memori

• pemakai memuatkan program ke seluruh memori dari disk /

tape

• program mengambil kendali seluruh mesin

Karena hanya terdapat 1 proses dan menguasai seluruh sistem maka alokasi

memori dilakukan secara berurutan.

Page 7: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Multiprogramming dengan pemartisian statis

Multiprogramming = banyak proses pada memori utama pada saat bersamaan.

Alasan menggunakan multiprogramming :

mempermudah pemrogram karena pemrogram dapat memecah programmenjadi 2 proses/lebih

agar dapat memberi layanan interaktif ke beberapa orang secarasimultan

efisiensi penggunaan sumber daya

eksekusi lebih murah jika proses besar dipecah menjadi beberapa proseskecil

dapat mengerjakan sejumlah job secara simultan

Page 8: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Multiprogramming dengan pemartisian statis

Partisi Statis

memori dibagi menjadi sejumlah partisi tetap. Pada partisi tersebut

proses-proses ditempatkan. Berdasarkan ukurannya, dibagi 2 :

• Pemartisian dengan partisi berukuran sama

Ukuran semua partisi memori adalah sama.

Beberapa proses yang ukurannya

kurang/sama dengan ukuran partisi

dimasukkan ke sembarang partisi yang

tersedia.

Page 9: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Multiprogramming dengan pemartisian statis

Kelemahan :

1. dimuatkan Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat dan dijalankan. Pemrogram harus mempersiapkan overlay. Overlay adalah program dipecah menjadi bagian-bagian yang dapat dimuat ke memori. Sehingga hanya bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping.

2.Bila program lebih kecil daripada ukuran partisi yang tersedia, maka akan ada ruang yang tak dipakai, yang disebut fragmentasi internal →pemborosan memori. Kelemahan ini dapat dikurangi dengan membuat partisi tetap dengan ukuran yang berbeda.

Page 10: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Multiprogramming dengan pemartisian statis

Pemartisian dengan partisi berukuran berbeda : ukuran semua

partisi memori berbeda

Page 11: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Swapping

2. Manajemen memori dengan swapping

manajemen memori dengan pemindahan proses antara memori utama dan disk selamaeksekusi. Diterapkan pada multiprogramming dengan pemartisian dinamis.

Partisi dinamis

partisi statis menyebabkan memori terlalu banyak diboroskan dengan proses-proses yanglebih kecil dibanding partisi yang ditempatinya. Dengan partisi dinamis maka jumlah, lokasi,dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis. proses yangakan masuk ke memori segera dibuatkan partisi untuknya sesuai kebutuhannya. Teknik inimeningkatkan utilitas memori.

Kelemahan :

dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai

merumitkan alokasi dan dealokasi memori

Page 12: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Setelah proses 3 berakhir memori dipenuhi lubang-lubang memori yang tidak terpakai.

Dapat diatasi dengan cara pemadatan memori (memory compaction) yaitu operasi

penggabungan semua lubang kecil menjadi lubang besar dengan memindahkan semua

proses agar saling berdekatan. Contoh diatas setelah pemadatan memori :

Page 13: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Kelemahan pemadatan memori :

memerlukan waktu yang sangat banyak

sistem harus menghentikan sementara

semua proses saat pemadatan, sehingga

mengakibatkan meningkatnya waktu

tanggap

Page 14: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Masalah lain pada partisi dinamis adalah proses dapat tumbuh berkembang. Solusinya adalah bila proses bersebelahan dengan lubang memori tak dipakai, proses tumbuh memakai lubang itu. Masalah menjadi lebih parah bila proses bersebelahan dengan proses-proses lain. Alternatif

penyelesaian :

bila masih terdapat lubang besar yang dapat memuat proses, maka proses dipindah ke lubang memori yang dapat memuat

1 proses atau lebih diswap ke disk agar memberi lubang cukup besar untuk proses yang berkembang

jika proses tidak dapat tumbuh di memori dan daerah swap di disk telah penuh,proses harus menunggu/disingkirkan.

Page 15: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Pencatatan memakai peta bit

Memori dibagi menjadi unit-unit alokasi, berkorespondensi dengan

tiap unit alokasi, yaitu 1 bit pada bit map.

nilai 0 pada peta bit berarti unit itu masih bebas

nilai 1 berarti unit sudah digunakan

Page 16: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Strategi Alokasi Memori

Alokasi harus mencari sekumpulan blok memori yang ukurannya mencukupi untuk memuat proses,dimana lubang kosong yang sama atau lebih besar dibanding ukuran memori yang diperlukan oleh proses.

Macam-macam strategi :

First-fit Algorithm

Next-fit Algorithm

Best-fit Algorithm

Worst-fit Algorithm

Quick-fit Algorithm

Page 17: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Strategi Alokasi Memori

First-fit Algorithm

Pencarian dimulai dari awal dan akan berhenti jika ditemukan

lokasi pertama yang cukup besar untuk menempatkan proses

tersebut.

Contoh :

terdapat partisi kosong pada memori dengan urutan dan ukuran :

4 Kb, 3 Kb, 2 Kb, 6 Kb bila datang data yang berukuran 3 Kb

maka akan menempati partisi ukuran 4 Kb.

Page 18: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Strategi Alokasi Memori

Next-fit AlgorithmSama dengan first-fit hanya saja pencarian tidak dimulai dari awal, tapi darilokasi terakhir kali menemukan segmen yang cocok dan akan berhenti jikaditemukan lokasi pertama yang cukup besar untuk menempatkan prosestersebut.Contoh :terdapat partisi pada memori dengan urutan dan ukuran : 4 Kb, 3 Kb, 2 Kb,6 Kbbila datang data yang berukuran 3 Kb dan pencarian partisi dimulai dariurutan ketiga karena sebelumnya posisi terakhir pencarian di partisi kedua,maka data tersebut akan menempati partisi ukuran 6 Kb.

Page 19: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Strategi Alokasi Memori

Best-fit Algorithm

Pencarian dimulai dari awal dan akan berhenti jika ditemukan lokasiterkecil pertama yang cukup untuk menempatkan proses tersebut.

Contoh :

terdapat partisi kosong pada memori dengan urutan dan ukuran : 4Kb, 3 Kb, 2 Kb, 6 Kb

bila datang data yang berukuran 3 Kb maka akan menempati partisiukuran 3 Kb.

Page 20: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Strategi Alokasi Memori

Worst-fit Algorithm

Pencarian dimulai dari awal dan akan berhenti jika ditemukan lokasiyang paling besar yang cukup untuk menempatkan proses tersebut.

Contoh :

terdapat partisi kosong pada memori dengan urutan dan ukuran : 4Kb, 3 Kb, 2 Kb, 6 Kb

bila datang data yang berukuran 3 Kb maka akan menempati partisiukuran 6 Kb

Page 21: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Strategi Alokasi Memori

Quick-fit Algorithm

Pencarian secara cepat pada lokasi yang sama atau lebih besaryang cukup untuk menempatkan proses tersebut.

Contoh :

terdapat partisi kosong pada memori dengan urutan dan ukuran :4 Kb, 3 Kb, 2 Kb, 6 Kb

bila datang data yang berukuran 3 Kb maka akan menempatipartisi ukuran 4 Kb

Page 22: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Sistem Buddy

Merupakan cara mengelola memori utama dengan memanfaatkan kelebihan penggunaan bilangan biner (2k ; k = 0,1,2, ...).

Pada sistem buddy, semula semua ruang pada memori kerja didefinisikan sebagai satu kesatuan utuh. Bagian ini baru dibelah apabila ada data yang menempati ruang tersebut. Sistem pembelahan sesuai dengan pangkat bilangan biner,

yaitu : 20 , 21 , 22 , 23 ....

Contoh :

Sebuah memori kerja dengan kapasitas 1024 Kb akan digunakan untuk menyimpan data sebesar100 Kb dan 200 Kb maka akan didapat hasil akhir :

Page 23: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Sistem Buddy

Data 100 Kb diletakkan di ruang/blok 128 Kb dan data 200 Kb

diletakkan di ruang/blok 256 Kb

Page 24: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Sistem Buddy

Urutan Semula (Free Space)

1 Alokasi Proses A (90 kb) A

2 Alokasi Proses B (50 kb) A B

3 Alokasi Proses C (72 kb) A B C

4 Dealokasi Proses A B C

5 Alokasi Proses D (35 kb) B D C

6 Dealokasi Proses B D C

7 Dealokasi Proses D C

8 Dealokasi Proses C

Contoh Kasus :

0 128 256 384 512

Page 25: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Memori Maya

Program yang dijalankan harus dimuat di memori utama.

Masalah muncul ketika program lebih besar dibanding memori

utama yang tersedia. Solusinya :

1. Overlay : program dipecah menjadi bagian-bagian yang

dapat dimuat memori. Overlay yang belum diperlukan (tidak

sedang dieksekusi) disimpan di disk. Overlay ini dimuatkan ke

memori begitu diperlukan.

Page 26: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Memori Maya

2. Memori maya (virtual memori)

itukemampuan mengalamati ruang memori melebihi memoriutama yang tersedia. Gagasan memori maya adalah ukurangabungan program, data dan stack melampaui jumlah memorifisik yang tersedia. Sistem operasi menyimpan bagian-bagianproses yang sedang digunakan di memori utama dan sisanyadi disk. Bagian-bagian di disk diperlukan maka bagianmemori yang tidak diperlukan disingkirkan diganti bagian didisk yang diperlukan itu

Page 27: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Memori Maya

Contoh :

Program 10 Mbyte dapat berjalan di mesin 2 Mbyte, yaitu memilih bagian proses sebesar 2 Mbyte secara hati-hati dan ditaruh di memori. Bagian-bagian proses di-swap antara disk dan memori saat diperlukan secara otomatis oleh sistem operasi.

Memori maya dapat dilakukan dengan 3 cara yaitu :

paging

segmentasi

kombinasi paging dan segmentasi

Page 28: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Sistem Paging

Mengimplementasikan ruang alamat besar pada

memori kecil menggunakan indek register, base register,

dan segment register

Page 29: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Sistem Paging

Page 30: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Sistem Paging

Istilah-istilah yang digunakan :

Alamat Maya :

Alamat yang dihasilkan perhitungan menggunakan index register, base register, dan segment register.

Alamat Nyata :

Alamat di memori fisik.

Page :

Unit terkecil pada ruang alamat maya (virtual address space).

Page 31: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Sistem Paging

Page Frame

Unit terkecil pada ruang alamat fisik (real address space).

Page Fault

Exception untuk permintaan alokasi “page” ke memori.

Memory Management Unit (MMU)

Kumpulan chip yang memetakan alamat maya ke alamat fisik.

Page 32: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Algoritma Penggantian Random

Setiap terjadi page fault, penggantian page dipilih secara

acak

Tidak memakai informasi apapun untuk menentukan page yang

akan diganti

Semua page di memori utama dianggap memiliki bobot yang

sama

Dapat memilih sembarang page termasuk page yang diacu

Page 33: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Contoh soal

Bila diberikan 3 buah frame dan reference string sebagai berikut:

7, 0, 1, 2, 0, 3, 0, 1, 2, 3, 0, 1, 2, 1, 7

Bagaimana mentukan berapa kali terjadi page fault yang terjadi jika

menggunakan algoritma penggantian page jika algoritma yang dipakai

adalah FIFO, optimal dan LRU

Page 34: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Algoritma Penggantian FIFO

7 0 1 2 0 3 0 1 2 3 0 1 2 1 7

7 7 7 2 2 2 2 1 1 1 0 0 0 0 7

0 0 0 0 3 3 3 2 2 2 1 1 1 1

1 1 1 1 0 0 0 3 3 3 2 2 2

F F F F F F F F F F F F F

3 page frame Total page fault = 13

(7,0,1) page fault, dimasukkan ke dalam frame

(7,0,1) -> (2,0,1), 2 menggantikan 7 karena entri 7 paling tua

(2,0,1) -> (2,3,1), 3 menggantikan 0 karena entri 0 paling tua

(2,3,1) -> (2,3,0), 0 menggantikan 1 karena entri 1 paling tua

(2,3,0) -> (1,3,0), 1 menggantikan 2 karena entri 2 paling tua

(1,3,0) -> (1,2,0), 2 menggantikan 3 karena entri 3 paling tua

Page yang menempati memori paling lama dipilih untuk diganti

Referensi String

Page 35: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Algoritma Penggantian Optimal

7 0 1 2 0 3 0 1 2 3 0 1 2 1 7

7 7 7 2 2 2 2 1 2 2 2 2 2 2 7

0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 1 1 3 3 3 3 3 3 1 1 1 1

F F F F F F F F F

3 page frame Total page fault = 9

(7,0,1) page fault, dimasukkan ke dalam frame

(7,0,1) -> (2,0,1), 2 menggantikan 7 karena 7 tidak akan digunakan hingga referensi ke 15

(2,0,1) -> (2,0,3), 3 menggantikan 1 karena waktu referensi kembali untuk 1 lebih lama diantara 2 dan 0

(2,0,3) -> (1,0,3), 1 menggantikan 2 karena waktu referensi kembali untuk 2 lebih lama diantara 0 dan 3

(2,0,1) -> (7,0,1), (Looping) 7 menggantikan 2 karena waktu referensi kembali untuk 2 lebih lama diantara 0 dan 1

Mengganti page yang tidak akan digunakan pada periode berikutnya dengan waktu gilir yang terlama

Referensi String

Page 36: Infranstruktur teknologi informasi - dinus.ac.iddinus.ac.id/repository/docs/ajar/Manajemen_Memory.pdf · •program mengambil kendali seluruh mesin ... Contoh diatas setelah pemadatan

Algoritma Penggantian Least Recently Used (LRU)

Mencari page yang mempunyai waktu terlama yang belum pernah digunakan diantara page lain.

Dengan mengganti page yang mempunyai waktu paling awal

Referensi String

7 0 1 2 0 3 0 1 2 3 0 1 2 1 7

7 7 7 2 2 2 2 2 2 2 2 2 2 2 2

0 0 0 0 3 3 3 3 3 3 3 3 3 3

1 1 1 1 0 1 1 1 0 1 1 1 7

F F F F F F F F F F

3 page frame Total page fault = 10

(7,0,1) page fault, dimasukkan ke dalam frame

(7,0,1) -> (2,0,1), 2 menggantikan 7 karena

(2,0,1) -> (2,3,1), 3 menggantikan 0 karena 0 menempati periode waktu paling lama belum digunakan

(2,3,1) -> (2,3,0), 0 menggantikan 1 karena 1 menempati periode waktu paling lama belum digunakan

(2,3,0) -> (2,3,1), 1 menggantikan 0 karena 0 menempati periode waktu paling lama belum digunakan