Download - Tugas Menejemen Memory

Transcript
Page 1: Tugas Menejemen Memory

TUGAS SISTEM TUGAS SISTEM OPERASIOPERASI

MANAJEMEN MEMORIdi susun

oleh:M . ARDIANSYAHM . ARDIANSYAH

KELAS TI-A-PAGIKELAS TI-A-PAGI

Page 2: Tugas Menejemen Memory

MANAJEMEN MEMORI 1. Konsep dasar memori

- Konsep Binding- Dynamic Loading- Dynamic Linking- Overlay

2. Ruang Alamat Logika dan Fisik 3. Swapping 4. Pengalokasian Berurutan (Contiguous

Allocation) 5. Pengalokasian Tidak Berurutan (Non

Contiguous Allocation)

Page 3: Tugas Menejemen Memory

KONSEP DASARKONSEP DASAR Memori sebagai tempat penyimpanan Memori sebagai tempat penyimpanan

instruksi/ data dari programinstruksi/ data dari program

Memori adalah pusat kegiatan pada Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses sebuah komputer, karena setiap proses yang akan dijalankan, harus melalui yang akan dijalankan, harus melalui memori terlebih dahulumemori terlebih dahulu

Untuk dapat dieksekusi, program harus Untuk dapat dieksekusi, program harus dibawa ke memori dan menjadi suatu dibawa ke memori dan menjadi suatu prosesproses

Page 4: Tugas Menejemen Memory

KONSEP DASARKONSEP DASAR Manajemen memori :Manajemen memori :

• Melacak pemakaian memori (siapa dan berapa Melacak pemakaian memori (siapa dan berapa besar)besar)

• Memilih program mana yang akan diload ke Memilih program mana yang akan diload ke memorimemori

• Alokasi dan dealokasi memori fisik untuk Alokasi dan dealokasi memori fisik untuk program/ proses-proses dalam menggunakan program/ proses-proses dalam menggunakan address spaceaddress space

Tugas Sistem Operasi :Tugas Sistem Operasi :• Mengatur peletakan banyak proses pada suatu Mengatur peletakan banyak proses pada suatu

memori, memori harus dapat digunakan memori, memori harus dapat digunakan dengan baik dengan baik dapat memuat banyak proses dapat memuat banyak proses dalam suatu waktudalam suatu waktu

Page 5: Tugas Menejemen Memory

KONSEP BINDINGKONSEP BINDING Sebelum eksekusi, program berada di dalam disk, Sebelum eksekusi, program berada di dalam disk,

dan saat dieksekusi program tersebut perlu dan saat dieksekusi program tersebut perlu berada pada suatu lokasi dalam memori fisikberada pada suatu lokasi dalam memori fisik

Address Binding adalah cara instruksi dan data Address Binding adalah cara instruksi dan data (yang berada di disk sebagai file executable) (yang berada di disk sebagai file executable) dipetakan ke alamat memoridipetakan ke alamat memori

Alamat (address) pada source program umumnya Alamat (address) pada source program umumnya merupakan alamat simbolik. Sebuah compiler merupakan alamat simbolik. Sebuah compiler biasanya membutuhkan “mengikat” biasanya membutuhkan “mengikat” (bind) (bind) alamat simbolik ke alamat relokasialamat simbolik ke alamat relokasi

Page 6: Tugas Menejemen Memory

KONSEP BINDINGKONSEP BINDING

Address Binding Address Binding dapat berlangsung dapat berlangsung dalam 3 tahap dalam 3 tahap yang berbeda, yang berbeda, yaitu : kompilasi, yaitu : kompilasi, load atau eksekusi load atau eksekusi dari suatu programdari suatu program

Page 7: Tugas Menejemen Memory

KONSEP BINDINGKONSEP BINDING Bagaimana Sistem Operasi menempatkan Bagaimana Sistem Operasi menempatkan

program di memori :program di memori :• Kompilasi dan Linking menerjemahkan semua Kompilasi dan Linking menerjemahkan semua

simbol data berdasarkan alamat acuan absolutsimbol data berdasarkan alamat acuan absolut• Proses relokasi (proses mapping program Proses relokasi (proses mapping program

lokasi memori)lokasi memori) Jika program berada di memori, maka semua alamat Jika program berada di memori, maka semua alamat

lojik dalam program harus dikonversi ke alamat fisik.lojik dalam program harus dikonversi ke alamat fisik. Statis : relokasi alamat dilakukan sebelum program Statis : relokasi alamat dilakukan sebelum program

dijalankan dijalankan Dinamis : relokasi alamat dilakukan pada saat Dinamis : relokasi alamat dilakukan pada saat

referensi setiap instruksi atau data referensi setiap instruksi atau data

Page 8: Tugas Menejemen Memory

DYNAMIC LOADINGDYNAMIC LOADING Dengan dynamic loading, suatu routine Dengan dynamic loading, suatu routine

tidak diload sampai dipanggil. Semua tidak diload sampai dipanggil. Semua routine disimpan pada disk sebagai format routine disimpan pada disk sebagai format relocatable loadrelocatable load

Mekanisme dasar :Mekanisme dasar :• Program utama diload dahulu dan dieksekusi Program utama diload dahulu dan dieksekusi • Bila suatu routine perlu memanggil routine Bila suatu routine perlu memanggil routine

yang lain, routine yang dipanggil lebih dahulu yang lain, routine yang dipanggil lebih dahulu diperiksa apakah routine yang dipanggil sudah diperiksa apakah routine yang dipanggil sudah diload. Jika tidak, diload. Jika tidak, relocatable linking loader relocatable linking loader dipanggil untuk meload routine yang diminta dipanggil untuk meload routine yang diminta ke memori dan mengupdate tabel alamat dari ke memori dan mengupdate tabel alamat dari program yang mencerminkan perubahan ini.program yang mencerminkan perubahan ini.

Page 9: Tugas Menejemen Memory

DYNAMIC LINKINGDYNAMIC LINKING Linking ditunda hingga waktu eksekusi Linking ditunda hingga waktu eksekusi

Program-program user tidak perlu menduplikasi Program-program user tidak perlu menduplikasi system librarysystem library• System library dipakai bersamaSystem library dipakai bersama• Mengurangi pemakaian space : satu rutin library di Mengurangi pemakaian space : satu rutin library di

memori digunakan secara bersama oleh sekumpulan memori digunakan secara bersama oleh sekumpulan prosesproses

• Contoh : DLL Win32Contoh : DLL Win32

Mekanisme menggunakan stub (potongan kecil yang Mekanisme menggunakan stub (potongan kecil yang mengindikasikan bagaimana meload library jika mengindikasikan bagaimana meload library jika routine tidak tersedia saat itu)routine tidak tersedia saat itu)• Saat stub dieksekusi, ia akan memeriksa apakah rutin ybs sudah Saat stub dieksekusi, ia akan memeriksa apakah rutin ybs sudah

berada di dalam memori(diakses oleh proses lain yang run), berada di dalam memori(diakses oleh proses lain yang run), kalau belum ada maka rutin tersebut diloadkalau belum ada maka rutin tersebut diload

• Stub menempatkan dirinya pada alamat rutin dan mengeksekusi Stub menempatkan dirinya pada alamat rutin dan mengeksekusi rutin tersebutrutin tersebut

Page 10: Tugas Menejemen Memory

DYNAMIC LINKINGDYNAMIC LINKING

Dynamic Linking membutuhkan beberapa Dynamic Linking membutuhkan beberapa dukungan dari OS, misal :dukungan dari OS, misal :• Bila proses-proses di memori utama saling Bila proses-proses di memori utama saling

diproteksi, maka SO melakukan pengecekan diproteksi, maka SO melakukan pengecekan apakah rutin yang diminta berada diluar apakah rutin yang diminta berada diluar alamat.alamat.

• Beberapa proses diijinkan untuk mengakses Beberapa proses diijinkan untuk mengakses memori pada alamat yang samamemori pada alamat yang sama

File dynamic linking File dynamic linking berekstensi .dll, .sys, .drvberekstensi .dll, .sys, .drv

Page 11: Tugas Menejemen Memory

OVERLAYOVERLAY Hanya instruksi dan data yang diperlukan Hanya instruksi dan data yang diperlukan

pada suatu waktu yang disimpan di pada suatu waktu yang disimpan di memorimemori

Overlay diperlukan jika ukuran proses Overlay diperlukan jika ukuran proses lebih besar dari memori yang dialokasikan lebih besar dari memori yang dialokasikan untuknyauntuknya

Overlay tidak membutuhkan dukungan Overlay tidak membutuhkan dukungan khusus dari SOkhusus dari SO• User dapat mengimplementasikan secara User dapat mengimplementasikan secara

lengkap menggunakan struktur file sederhanalengkap menggunakan struktur file sederhana• OS memberitahu hanya jika terdapat I/O yang OS memberitahu hanya jika terdapat I/O yang

melebihi biasanyamelebihi biasanya

Page 12: Tugas Menejemen Memory

Ruang Alamat Logika dan Ruang Alamat Logika dan FisikFisik

Alamat Logika adalah alamat yang Alamat Logika adalah alamat yang didigenerategenerate oleh CPU, disebut juga oleh CPU, disebut juga Alamat Alamat VirtualVirtual

Alamat Fisik adalah alamat yang terdapat Alamat Fisik adalah alamat yang terdapat di memoridi memori

Perlu ada penerjemah (translasi) dari Perlu ada penerjemah (translasi) dari alamat logika ke alamat fisik alamat logika ke alamat fisik

MMU (Memory Management Unit) adalah MMU (Memory Management Unit) adalah perangkat keras yang memetakan alamat perangkat keras yang memetakan alamat logika ke alamat fisiklogika ke alamat fisik

Page 13: Tugas Menejemen Memory

Ruang Alamat Logika dan Ruang Alamat Logika dan FisikFisik

Dalam Skema MMU :Dalam Skema MMU :• Menyediakan perangkat Menyediakan perangkat

register yang dapat register yang dapat diset oleh CPU: setiap diset oleh CPU: setiap proses mempunyai data proses mempunyai data set register tersebut set register tersebut (disimpan di PCB)(disimpan di PCB)

• Harga dalam register Harga dalam register base/relokasi base/relokasi ditambahkan ke setiap ditambahkan ke setiap alamat proses user alamat proses user pada saat run dimemoripada saat run dimemori

• Program-program user Program-program user hanya berurusan hanya berurusan dengan alamat logika dengan alamat logika sajasaja

Page 14: Tugas Menejemen Memory

SWAPPINGSWAPPING Meskipun proses harus berada di memori untuk Meskipun proses harus berada di memori untuk

dieksekusi, tapi proses dapat di dieksekusi, tapi proses dapat di swap swap (tukar) (tukar) sementara keluar memori ke sementara keluar memori ke backing storebacking store dan dan kemudian membawanya kembali ke memori kemudian membawanya kembali ke memori untuk eksekusi lanjutanuntuk eksekusi lanjutan

Penukaran dapat terjadi pada lingkungan dengan Penukaran dapat terjadi pada lingkungan dengan multiprogramming dengan penjadwalan CPU multiprogramming dengan penjadwalan CPU Round Robin atau Priority. Round Robin atau Priority. • Bila waktu kuantum habis atau proses yang datang Bila waktu kuantum habis atau proses yang datang

mempunyai prioritas lebih tinggi, maka mempunyai prioritas lebih tinggi, maka memory memory manager manager akan mulai akan mulai swap out swap out proses yang telah selesai proses yang telah selesai atau proses yang yang prioritasnya lebih rendah dan atau proses yang yang prioritasnya lebih rendah dan swap in swap in proses lainnya ke memori proses lainnya ke memori

Page 15: Tugas Menejemen Memory

SWAPPINGSWAPPING

Skema Swapping Skema Swapping

Page 16: Tugas Menejemen Memory

SWAPPINGSWAPPING Pada umumnya sebuah proses yang di Pada umumnya sebuah proses yang di swap out swap out

akan menukar kembali ke ruang memori yang akan menukar kembali ke ruang memori yang sama dengan sebelumnyasama dengan sebelumnya

Penukaran membutuhan sebuah Penukaran membutuhan sebuah backing storage backing storage

Bila Bila CPU Scheduler CPU Scheduler memutuskan untuk memutuskan untuk mengeksekusi proses, OS memanggil dispatcher mengeksekusi proses, OS memanggil dispatcher • Dispatcher memeriksa untuk melihat apakah proses Dispatcher memeriksa untuk melihat apakah proses

selanjutnya pada selanjutnya pada ready queueready queue ada di memori ada di memori• Jika tidak dan tidak terdapat cukup memori bebas, maka Jika tidak dan tidak terdapat cukup memori bebas, maka

dispatcher swap out dispatcher swap out sebuah proses yang ada di memori sebuah proses yang ada di memori dan dan swap in swap in proses tersebutproses tersebut

Page 17: Tugas Menejemen Memory

Memori dan ProsesMemori dan Proses Monoprogramming Monoprogramming hanya ada satu proses di memori dan sistem hanya ada satu proses di memori dan sistem

operasioperasi

Multiprogramming Multiprogramming lebih dari satu proses siap di memori lebih dari satu proses siap di memori• Alokasi memori dengan partisi tetap untuk setiap prosesAlokasi memori dengan partisi tetap untuk setiap proses• Alokasi memori dengan partisi beragam sesuai besarnya prosesAlokasi memori dengan partisi beragam sesuai besarnya proses• Alokasi memori dibantu dengan disk (swap area), proses dapat Alokasi memori dibantu dengan disk (swap area), proses dapat

berpindah dari memori ke diskberpindah dari memori ke disk• Virtual memoriVirtual memori

OS

Progam User

Page 18: Tugas Menejemen Memory

PENGALOKASIAN PENGALOKASIAN MEMORIMEMORI

Salah satu tanggung jawab Sistem Operasi Salah satu tanggung jawab Sistem Operasi adalah mengontrol akses ke sumber daya adalah mengontrol akses ke sumber daya sistem. Salah satunya adalah memorisistem. Salah satunya adalah memori

Pengalokasian memori dibagi 2 tipe, Pengalokasian memori dibagi 2 tipe, yaitu :yaitu :• Pengalokasian berurutan (Contiguous Pengalokasian berurutan (Contiguous

Allocation)Allocation)• Pengalokasian tidak berurutan (Non Pengalokasian tidak berurutan (Non

Contiguous Allocation)Contiguous Allocation)

Page 19: Tugas Menejemen Memory

CONTIGUOUS ALLOCATIONCONTIGUOUS ALLOCATION

Pada Multiprogramming memori utama Pada Multiprogramming memori utama harus mengalokasikan tempat untuk harus mengalokasikan tempat untuk sistem operasi dan beberapa user prosessistem operasi dan beberapa user proses

Memori harus mengakomodasi baik OS Memori harus mengakomodasi baik OS dan proses userdan proses user

Memori dibagi menjadi 2 partisi :Memori dibagi menjadi 2 partisi :• Untuk OS yang residentUntuk OS yang resident• Untuk Proses User Untuk Proses User

Ada 2 tipe Contiguos Allocation :Ada 2 tipe Contiguos Allocation :• Single Partition (Partisi Tunggal)Single Partition (Partisi Tunggal)• Multiple Partition (Partisi Banyak)Multiple Partition (Partisi Banyak)

Page 20: Tugas Menejemen Memory

CONTIGUOUS ALLOCATIONCONTIGUOUS ALLOCATION

Single Partition (Partisi Tunggal)Single Partition (Partisi Tunggal)• Pada skema ini, diasumsikan OS ditempatkan Pada skema ini, diasumsikan OS ditempatkan

di memori rendah, dan proses user dieksekusi di memori rendah, dan proses user dieksekusi di memori tinggidi memori tinggi

• Proteksi dapat dilakukan dengan dengan Proteksi dapat dilakukan dengan dengan menggunakan register relokasi dan register menggunakan register relokasi dan register limitlimit

Register relokasi Register relokasi berisi nilai dari alamat fisik berisi nilai dari alamat fisik terkecilterkecil

Register Limit Register Limit berisi jangkauan alamat logika berisi jangkauan alamat logika Alamat logika harus lebih kecil dariAlamat logika harus lebih kecil dari

Page 21: Tugas Menejemen Memory

Register relokasi berisi nilai dari alamat fisik terkecilRegister Limit berisi jangkauan alamat logikaAlamat logika harus lebih kecil dari register limit

Page 22: Tugas Menejemen Memory

CONTIGUOUS ALLOCATIONCONTIGUOUS ALLOCATION

Multiple Partition (Partisi Banyak)Multiple Partition (Partisi Banyak)• Ruang kosong Ruang kosong blok memori yang tersedia, ruang blok memori yang tersedia, ruang

kosong dengan berbagai ukuran tersebar pada kosong dengan berbagai ukuran tersebar pada memorimemori

• Proses akan dialokasikan memori pada ruang Proses akan dialokasikan memori pada ruang kosong yang cukup besar untuk ditempatinyakosong yang cukup besar untuk ditempatinya

• OS akan mengelola informasi mengenai :OS akan mengelola informasi mengenai : Partisi yang dialokasikanPartisi yang dialokasikan Partisi bebas (ruang kosong)Partisi bebas (ruang kosong)

• Contoh multiple allocationContoh multiple allocation

Page 23: Tugas Menejemen Memory

CONTIGUOUS ALLOCATIONCONTIGUOUS ALLOCATION

Multiple Partition (Partisi Banyak)Multiple Partition (Partisi Banyak)• Ada 2 skema dalam Multiple Partition Allocation:Ada 2 skema dalam Multiple Partition Allocation:

Partisi Fixed Size (MFT)Partisi Fixed Size (MFT)• Memori dibagi menjadi beberapa blok dengan Memori dibagi menjadi beberapa blok dengan

ukuran tertentu yang seragamukuran tertentu yang seragam• Setiap partisi berisi tepat 1 prosesSetiap partisi berisi tepat 1 proses• Digunakan oleh IBM OS/360 yang disebut Digunakan oleh IBM OS/360 yang disebut

Multiprogramming with a Fixed number of Task Multiprogramming with a Fixed number of Task (MFT)(MFT)

• Masalah yang muncul pada MFT :Masalah yang muncul pada MFT : Sifat Program dinamis (alokasi dan dealokasi)Sifat Program dinamis (alokasi dan dealokasi) Memori yang teralokasi mungkin lebih besar Memori yang teralokasi mungkin lebih besar

dari memori yang diminta, sehingga dari memori yang diminta, sehingga mengakibatkan fragmentasi internalmengakibatkan fragmentasi internal

Page 24: Tugas Menejemen Memory

MULTIPLE PARTITIONMULTIPLE PARTITION Partisi variable Size (MVT)Partisi variable Size (MVT)

• Pembagian memori sesuai dengan request dari Pembagian memori sesuai dengan request dari proses-proses yang adaproses-proses yang ada

• Peranan memori manajemen semakin penting : list Peranan memori manajemen semakin penting : list dari partisi yang digunakan, free dlldari partisi yang digunakan, free dll

• Masalah pada MVT :Masalah pada MVT : Terjadi fragmentasi externalTerjadi fragmentasi external

- Ruang memori free tapi tidak - Ruang memori free tapi tidak contiguouscontiguous

- Hole-hole ada diantara proses- Hole-hole ada diantara proses

- Tidak dapat digunakan karena - Tidak dapat digunakan karena proses terlalu besar proses terlalu besar untuk menggunakannya untuk menggunakannya

Page 25: Tugas Menejemen Memory

MULTIPLE PARTITIONMULTIPLE PARTITION Pada MVT OS akan menyimpan tabel yang berisi bagian Pada MVT OS akan menyimpan tabel yang berisi bagian

memori yang tersedia dan yang digunakan:memori yang tersedia dan yang digunakan:

• Mula-mula,semua memori tersedia untuk proses user sebagai Mula-mula,semua memori tersedia untuk proses user sebagai satu blok besar (satu blok besar (large holelarge hole))

• Bila proses datang dan memerlukan memori, dicari Bila proses datang dan memerlukan memori, dicari holehole yang yang cukup untuk proses tersebutcukup untuk proses tersebut

• Bila ditemukan, memory manager akan mengalokasikan Bila ditemukan, memory manager akan mengalokasikan sejumlah memori yang dibutuhkan dan menyimpan sisanya sejumlah memori yang dibutuhkan dan menyimpan sisanya untuk permintaan berikutnyauntuk permintaan berikutnya

Contoh :Contoh :• Diasumsikan tersedia memori 2560 Kb dan untuk OS 400 Kb. Diasumsikan tersedia memori 2560 Kb dan untuk OS 400 Kb.

Sisa 2160 Kb digunakan untuk user prosesSisa 2160 Kb digunakan untuk user proses• Diasumsikan terdapat 5 job (P1 s/d P5) terdapat pada Diasumsikan terdapat 5 job (P1 s/d P5) terdapat pada input input

queue.queue.• Diasumsikan penjadwalan FCFS digunakan untuk load job ke Diasumsikan penjadwalan FCFS digunakan untuk load job ke

memori. Penjadwalan CPU secara Round Robin (quantum time memori. Penjadwalan CPU secara Round Robin (quantum time =1) untuk penjadwalan job yang sudah ada di memori=1) untuk penjadwalan job yang sudah ada di memori

Page 26: Tugas Menejemen Memory

MULTIPLE PARTITIONMULTIPLE PARTITION0 K0 K

400 K400 K

2560 K2560 K

Operating Operating

SystemSystem

2160 K2160 K

JOB QUEUEJOB QUEUE

ProsesProses MemoriMemori TimeTime

P1P1

P2P2

P3P3

P4P4

P5P5

600 K600 K

1000 K1000 K

300 K300 K

700 K700 K

500 K500 K

1010

55

2020

88

1515

Page 27: Tugas Menejemen Memory

MULTIPLE PARTITIONMULTIPLE PARTITIONMenggunakan MVT, terdapat beberapa kali hole untuk Menggunakan MVT, terdapat beberapa kali hole untuk

ukuran berbedaukuran berbeda• Bila proses datang dan memerlukan memori, dicari dari Bila proses datang dan memerlukan memori, dicari dari

hole yang cukup untuk proseshole yang cukup untuk proses

• Dynamic Storage Allocation Dynamic Storage Allocation dapat dilibatkan untuk dapat dilibatkan untuk memenuhi permintaan ukuran n dari hole bebas :memenuhi permintaan ukuran n dari hole bebas :

First Fit First Fit alokasi hole yang pertama yang memenuhi alokasi hole yang pertama yang memenuhi permintaanpermintaan

Best Fit Best Fit alokasi hole terkecil yang memenuhi permintaan alokasi hole terkecil yang memenuhi permintaanDalam stratagi ini memerlukan pencarian keseluruhan hole, Dalam stratagi ini memerlukan pencarian keseluruhan hole, kecuali bila ukuran sudah terurutkecuali bila ukuran sudah terurut

Worst Fit Worst Fit alokasi hole terbesar. Strategi ini memerlukan alokasi hole terbesar. Strategi ini memerlukan pencarian keseluruhan hole, kecuali bila ukuran sudah pencarian keseluruhan hole, kecuali bila ukuran sudah terurutterurut

• Diantara algoritma diatas, Diantara algoritma diatas, first fit first fit dan dan best fit best fit lebih baik lebih baik dibandingkan dibandingkan worst fitworst fit dalam hal menurunkan waktu dan dalam hal menurunkan waktu dan utilitas penyimpanan. Dan utilitas penyimpanan. Dan First Fit First Fit lebih cepatlebih cepat

Page 28: Tugas Menejemen Memory

MULTIPLE PARTITIONMULTIPLE PARTITION

–Diantara algoritma diatas, first fit dan best fit lebih baik dibandingkan worst fit dalam hal menurunkan waktu dan utilitas penyimpanan. Dan First Fit lebih cepat

Page 29: Tugas Menejemen Memory

CONTIGUOUS ALLOCATIONCONTIGUOUS ALLOCATIONSISTEM BUDDYSISTEM BUDDY

Sistem Buddy merupakan cara mengelola Sistem Buddy merupakan cara mengelola memori utama dengan memanfaatkan memori utama dengan memanfaatkan kelebihan penggunaan bilangan biner (2kelebihan penggunaan bilangan biner (2kk; k = ; k = 0,1,2 … )0,1,2 … )

Contoh :Contoh :• Suatu memori utama pada awalnya memiliki satu Suatu memori utama pada awalnya memiliki satu

lubang besar berukuran 1 Mbyte.Jika suatu proses A lubang besar berukuran 1 Mbyte.Jika suatu proses A berukuran 90 Kbyte memasuki memori, maka berukuran 90 Kbyte memasuki memori, maka permintaan tersebut dialokasikan ke lokasi terdekat permintaan tersebut dialokasikan ke lokasi terdekat yaitu 128 kbyte, karena tidak ada, maka blok 1 yaitu 128 kbyte, karena tidak ada, maka blok 1 Mbyte dipecah menjadi 2, masing-masing Mbyte dipecah menjadi 2, masing-masing berukuran 512 kbyteberukuran 512 kbyte

Page 30: Tugas Menejemen Memory

FRAGMENTASI EXTERNAL & FRAGMENTASI EXTERNAL & INTERNALINTERNAL

Fragmentasi external terjadi pada situasi Fragmentasi external terjadi pada situasi dimana terdapat cukup ruang memori dimana terdapat cukup ruang memori total untuk memenuhi permintaan, tetapi total untuk memenuhi permintaan, tetapi tidak dapat langsung dialokasikan karena tidak dapat langsung dialokasikan karena tidak berurutantidak berurutan

Fragmentasi Internal terjadi pada situasi Fragmentasi Internal terjadi pada situasi dimana memori yang dialokasikan lebih dimana memori yang dialokasikan lebih besar daripada memori yang diminta, besar daripada memori yang diminta, sehingga terdapat sebagian memori untuk sehingga terdapat sebagian memori untuk satu partisi tertentu yang tidak digunakansatu partisi tertentu yang tidak digunakan

Page 31: Tugas Menejemen Memory

FRAGMENTASI EXTERNAL & FRAGMENTASI EXTERNAL & INTERNALINTERNAL

Lubang-lubang kecil diantara blok-Lubang-lubang kecil diantara blok-blok memori yang digunakan dapat blok memori yang digunakan dapat diatasi dengan diatasi dengan memori compactionmemori compaction

Memori Compaction Memori Compaction adalah operasi adalah operasi menggabungkan semua lubang kecil menggabungkan semua lubang kecil menjadi satu lubang besar dengan menjadi satu lubang besar dengan memindahkan semua proses agar memindahkan semua proses agar proses saling berdekatanproses saling berdekatan

Page 32: Tugas Menejemen Memory

NON CONTIGUOS NON CONTIGUOS ALLOCATIONALLOCATION

Paging Paging • Paging adalah solusi untuk permasalahan Paging adalah solusi untuk permasalahan

fragmentasi externalfragmentasi external• Memori fisik dibagi ke dalam blok-blok ukuran Memori fisik dibagi ke dalam blok-blok ukuran

tetap yang disebut tetap yang disebut “frame”“frame”• Memori logika dibagi ke dalam blok-blok Memori logika dibagi ke dalam blok-blok

dengan ukuran yang sama yang disebut dengan ukuran yang sama yang disebut “page”“page”

• Untuk menjalankan program berukuran n page, Untuk menjalankan program berukuran n page, harus dicari frame kosong sebanyak n untuk harus dicari frame kosong sebanyak n untuk meload programmeload program

• Page table digunakan untuk translasikan Page table digunakan untuk translasikan alamat lojik ke alamat fisikalamat lojik ke alamat fisik

Page 33: Tugas Menejemen Memory

NON CONTIGUOUS ALLOCATIONNON CONTIGUOUS ALLOCATIONPAGINGPAGING

Alamat yang Alamat yang dibangkitkan CPU dibangkitkan CPU dibagi menjadi :dibagi menjadi :• Page number (p) Page number (p)

digunakan sebagai index digunakan sebagai index ke page table. Page table ke page table. Page table berisi alamat basis dari berisi alamat basis dari setiap page pada memori setiap page pada memori fisikfisik

• Page Offset (d) Page Offset (d) dikombinasikan dengan dikombinasikan dengan alamat basis untuk alamat basis untuk mendefinisikan alamat mendefinisikan alamat memori fisik yang dikirim memori fisik yang dikirim ke unit memorike unit memori

Skema translasi alamat Skema translasi alamat

Page 34: Tugas Menejemen Memory

NON CONTIGUOUS ALLOCATIONNON CONTIGUOUS ALLOCATIONPAGINGPAGING

Model PagingModel Paging

Ukuran page atau frame ditentukan oleh hardwareUkuran page merupakan bilangan 2 pangkat k mulai 512 sampai 8192 tergantung arsitektur komputer

Page 35: Tugas Menejemen Memory

NON CONTIGUOUS ALLOCATIONNON CONTIGUOUS ALLOCATIONSEGMENTASISEGMENTASI

SegmentasiSegmentasi• Segmentasi adalah skema pengaturan Segmentasi adalah skema pengaturan

memori yang mendukung user untuk memori yang mendukung user untuk melihat memori tersebutmelihat memori tersebut

• Tiap-tiap segmen memiliki nama dan Tiap-tiap segmen memiliki nama dan panjang. panjang.

• Pandangan user mengenai memori:Pandangan user mengenai memori:

Page 36: Tugas Menejemen Memory

NON CONTIGUOUS ALLOCATIONNON CONTIGUOUS ALLOCATIONSEGMENTASISEGMENTASI

SegmentasiSegmentasi• Dukungan Hardware :Dukungan Hardware :

Pemetaan ke alamat fisik dilakukan dengan menggunakan Pemetaan ke alamat fisik dilakukan dengan menggunakan tabel segmen, masing-masing berisi base dan limittabel segmen, masing-masing berisi base dan limit