TUGAS SISTEM TUGAS SISTEM OPERASIOPERASI
MANAJEMEN MEMORIdi susun
oleh:M . ARDIANSYAHM . ARDIANSYAH
KELAS TI-A-PAGIKELAS TI-A-PAGI
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)
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
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
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
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
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
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.
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
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
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
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
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
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
SWAPPINGSWAPPING
Skema Swapping Skema Swapping
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
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
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)
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)
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
Register relokasi berisi nilai dari alamat fisik terkecilRegister Limit berisi jangkauan alamat logikaAlamat logika harus lebih kecil dari register limit
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
Top Related