m8 - manajemen memori (1) - gunadarmayusman.staff.gunadarma.ac.id/downloads/files/42465... ·...

Post on 02-Jun-2020

9 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

2

Manajemen Memori

Memori utama harus diatur sebaik mungkin agar :

meningkatkan utilitas CPU yang sebesar-besarnya

data dan instruksi dapat diakses dengan cepat olehCPU

memori utama memiliki kapasitas yang sangatterbatas, sehingga pemakaiannya harus seefisienmungkin

transfer data dari/ke memori utama ke/dari CPUdapat efisien.

3

Manajemen Memori

Manajemen memori berkaitan dengan memoriutama sebagai sumber daya yang harusdialokasikan dan dipakai bersama diantarasejumlah proses yang aktif.

Manajemen memori juga berkaitan denganusaha agar pemrogram atau pemroses tidakdibatasi oleh kapasitas memori fisik yangterdapat pada sistem komputer.

4

Fungsi Manajemen Memori

mengelola informasi memori yang terpakaidan yang tidak terpakai

mengalokasikan memori ke proses yangmemerlukan

mendealokasikan memori dari proses telahselesai

mengelola swapping antara memori utamadan disk

5

Swapping

Suatu proses dapat dialihkan sementara darimemori ke suatu tempat penyimpanan dandipanggil kembali ke memori jika akanmelanjutkan eksekusi.

Manajemen memori berdasarkan keberadaanswapping :

manajemen tanpa swapping

manajemen dengan swapping

6

Monoprogramming Merupakan manajemen memori paling sederhana. Sistem komputer

hanya mengijinkan 1 program/pemakai berjalan pada 1 waktu.

Semua sumber daya sepenuhnya dikuasai proses yang sedangberjalan.

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 sistemmaka alokasi memori dilakukan secara berurutan.

7

Monoprogramming

8

Multiprogramming denganPemartisian Statis

Multiprogramming = banyak proses pada memori utama padasaat bersamaan.

Alasan menggunakan multiprogramming :

mempermudah pemrogram karena pemrogram dapatmemecah program menjadi 2 proses/lebih

agar dapat memberi layanan interaktif ke beberapaorang secara simultan

efisiensi penggunaan sumber daya

eksekusi lebih murah jika proses besar dipecahmenjadi beberapa proses kecil

dapat mengerjakan sejumlah job secara simultan

9

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/samadengan ukuran partisi dimasukkan ke sembarangpartisi yang tersedia. )

Pemartisian dengan partisi berukuran berbeda (ukuran semua partisi memori berbeda )

10

Pemartisian dengan PartisiBerukuran Sama

Kelemahan :

Bila program berukuran lebih besar dibanding partisi yang tersedia,maka tidak dapat dimuatkan dan dijalankan. Pemrogram harusmempersiapkan overlay. Overlay adalah program dipecah menjadibagian-bagian yang dapat dimuat ke memori. Sehingga hanyabagian program yang benar-benar dieksekusi yang dimasukkan kememori utama dan saling bergantian. Untuk overlay diperlukansistem operasi yang mendukung swapping.

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

11

Pemartisian dengan PartisiBerukuran Sama

12

Pemartisian dengan PartisiBerukuran Berbeda

13

Fragmentasi Pada Partisi Statis

Fragmentasi = penyiaan/pemborosan memoriyang terjadi pada setiap organisasipenyimpanan.

Fragmentasi internal : proses tidak mengisipenuh partisi yang telah ditetapkan untukproses

Fragmentasi eksternal : partisi tidak dapatdigunakan karena ukuran partisi lebih kecildibanding ukuran proses yang menunggu diantrian.

14

Partisi Dinamis partisi statis menyebabkan memori terlalu banyak diboroskan

dengan proses-proses yang lebih kecil dibanding partisi yangditempatinya.

Dengan partisi dinamis maka jumlah, lokasi, dan ukuran prosesdi memori dapat beragam sepanjang waktu secara dinamis.proses yang akan masuk ke memori segera dibuatkan partisiuntuknya sesuai kebutuhannya. Teknik ini meningkatkanutilitas memori.

Kelemahan :

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

merumitkan alokasi dan dealokasi memori

15

Contoh

16

Contoh

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

Dapat diatasi dengan cara pemadatanmemori (memory compaction) yaitu operasipenggabungan semua lubang kecil menjadilubang besar dengan memindahkan semuaproses agar saling berdekatan.

17

Contoh

Contoh diatas setelah pemadatan memori :

Kelemahan pemadatan memori:- memerlukan waktu yangsangat banyak- sistem harus menghentikansementara semuaproses saat pemadatan,sehingga mengakibatkanmeningkatnya waktu tanggap

18

Partisi Dinamis

Masalah lain pada partisi dinamis adalahproses dapat tumbuh berkembang. Solusinyaadalah bila proses bersebelahan denganlubang memori tak dipakai, proses tumbuhmemakai lubang itu.

Masalah menjadi lebih parah bila prosesbersebelahan dengan proses-proses lain.

19

Partisi Dinamis

Alternatif penyelesaian :

bila masih terdapat lubang besar yangdapat memuat proses, maka prosesdipindah ke lubang memori yang dapatmemuat

1 proses atau lebih diswap ke disk agarmemberi lubang cukup besar untuk prosesyang berkembang

jika proses tidak dapat tumbuh di memoridan daerah swap di disk telah penuh,prosesharus menunggu/disingkirkan.

20

Strategi Alokasi Memori

• Alokasi harus mencari sekumpulan blokmemori yang ukurannya mencukupi untukmemuat proses,dimana lubang kosong yangsama atau lebih besar dibanding ukuranmemori yang diperlukan oleh proses.

• Ada beberapa strategi alokasi memori

21

Algoritma First Fit

• Pencarian dimulai dari awal dan akanberhenti jika ditemukan lokasi pertama yangcukup besar untuk menempatkan prosestersebut.

• Contoh :

• terdapat partisi kosong pada memori denganurutan dan ukuran : 4 Kb, 3 Kb, 2 Kb, 6 Kb

• bila datang data yang berukuran 3 Kb makaakan menempati partisi ukuran 4 Kb

22

Algoritma Next-fit

• Sama dengan first-fit hanya saja pencarian tidak dimulai dariawal, tapi dari lokasi terakhir kali menemukan segmen yangcocok dan akan berhenti jika ditemukan lokasi pertama yangcukup besar untuk menempatkan proses tersebut

• Contoh :

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

• bila datang data yang berukuran 3 Kb dan pencarian partisidimulai dari urutan ketiga karena sebelumnya posisi terakhirpencarian di partisi kedua, maka data tersebut akanmenempati partisi ukuran 6 Kb.

23

Algoritma Best Fit

• Pencarian dimulai dari awal dan akanberhenti jika ditemukan lokasi terkecilpertama yang cukup untuk menempatkanproses tersebut.

• Contoh :

• terdapat partisi kosong pada memori denganurutan dan ukuran : 4 Kb, 3 Kb, 2 Kb, 6 Kb

• bila datang data yang berukuran 3 Kb makaakan menempati partisi ukuran 3 Kb.

24

Algoritma Worst-fit

• Pencarian dimulai dari awal dan akanberhenti jika ditemukan lokasi yang palingbesar yang cukup untuk menempatkanproses tersebut.

• Contoh :

• terdapat partisi kosong pada memori denganurutan dan ukuran : 4 Kb, 3 Kb, 2 Kb, 6 Kb

• bila datang data yang berukuran 3 Kb makaakan menempati partisi ukuran 6 Kb.

25

Sistem Buddy

• Mengalokasikan memori berdasarkankelipatan 2 (2k; k = 0,1,2, ...).

• Pada sistem buddy, semula semua ruangpada memori kerja didefinisikan sebagaisatu kesatuan utuh. Bagian ini baru dibelahapabila ada data yang menempati ruangtersebut. Sistem pembelahan sesuai denganpangkat bilangan biner, yaitu : 20, 21,22,23,...

26

Sistem Buddy

• Tentukan batas atas (u) dan batas bawah (l)

• Contoh : memori berukuran 2000k, batasatasnya (u) dari k adalah 20 karena 220 adalah1024, sisa 976k akan dialokasikan pada blokyang lebih kecil. Batas bawah umumnya bisaantara 12-16, jika terlalu kecil akanmembebani system karena harus mengingatterlalu banyak block yg dialokasikan dan ygtidak, misalkan batas bawahnya adalah 16 jadi216 = 64k

27

Sistem BuddyContoh :

1=Program A meminta 34k

2=Program B meminta 66k

3=Program C meminta 35k

4=Program D meminta 67k

5=Program C melepaskan memori

6=Program A melepaskan memori

7=Program B melepaskan memori

8=Program D melepaskan memori

28

Sistem BuddyLangkah-langkah :

• Memori akan dialokasikan :

• Cari slot memori yang cukup (blok minimal 2k yanglebih besar atau sama dengan memori yang diminta)

• Jika ditemukan, alokasikan ke program

• Jika tidak, bagi slot memori yang bebas menjadi 2

• Memori dibebaskan :

• Jika slot di sebelahnya juga kosong, maka gabungkan

29

30

Virtual Memory dan Overlay

• Program yang dijalankan harus dimuat dimemori utama. Masalah muncul ketikaprogram lebih besar dibanding memoriutama yang tersedia. Solusinya :

– Overlay

– Memori maya (virtual memory)

31

Overlay

• program dipecah menjadi bagian-bagianyang dapat dimuat memori.

• Overlay yang belum diperlukan (tidaksedang dieksekusi) disimpan di disk.Overlay ini dimuatkan ke memori begitudiperlukan.

32

Memori Maya (virtual memory)

• Adalah kemampuan mengalamati ruang memori melebihimemori utama yang tersedia.

• Gagasan memori maya adalah ukuran gabunganprogram, data dan stack melampaui jumlah memori fisikyang tersedia.

• Sistem operasi menyimpan bagian-bagian proses yangsedang digunakan di memori utama dan sisanya di disk.

• Bagian-bagian di disk diperlukan maka bagian memoriyang tidak diperlukan disingkirkan diganti bagian di diskyang diperlukan itu.

33

Memory Maya (virtual memory)

• Contoh :

• Program 10 Mbyte dapat berjalan di mesin 2Mbyte, yaitu memilih bagian proses sebesar2 Mbyte secara hati-hati dan ditaruh dimemori.

• Bagian-bagian proses di-swap antara diskdan memori saat diperlukan secara otomatisoleh sistem operasi.

34

Memori Maya (virtual memory)

• Memori maya dapat dilakukan dengan 2cara yaitu :

– paging

– segmentasi

top related