Anda di halaman 1dari 9

RESUME

MANAJEMEN MEMORI I

Disusun

Oleh:

MUHAMMAD FADHILAH KAMZA

2201082036

PROGRAM STUDI TEKNIK KOMPUTER

JURUSAN TEKNOLOGI INFORMASI

POLITEKNIK NEGERI PADANG

2023
Manajemen Memori

Memori adalah salah satu pusat kegiatan pada sebuah computer, karena setiap
proses yang dieksekusi, harus berada memori terlebih dahulu. Sisten Operasi
bertugas untuk mengatur penggunaan memori untuk banyak proses. Memori harus
digunakan dengan baik, sehingga dapat memuat banyak proses dalam suatu waktu.
Sebelum masuk ke memori, suatu proses harus menunggu dalam antrian. Antrian ini
disebut Input Queue (Long term scheduler).
Tujuan manajemen memori :
 Meningkatkan utilitas CPU
 Data dan instruksi dapat diakses lebih cepat oleh CPU

Istilah dalam Manajemen Memori

 Main Memory dan Registers adalah satu-satunya storage yang dapat diakses
secara langsung oleh CPU.
 Registers mengakses dalam satu CPU clock (atau kurang)
 Cache berada diantara main memory dan CPU
 Protection : diperlukan untuk menjamin operasi-operasi memory sesuai dan
tepat.
 Relokasi : mengkonversi alamat logika program ke alamat fisik memori.
 Sharing : bagian dari memori logika dapat dipakai Bersama-sama.

Address Binding

Adalah menempatkan alamat relative ke dalam address fisik memori yang


dapat berlangsung di salah satu tahapan : kompilasi, load, atau eksekusi. Sebelum
eksekusi program berada di dalam disk, dan saat dieksekusi ia perlu berada pada
suatu lokasi dalam memori fisik.
Tahapan running program :
 Compile Time : pada saat program di-compile, menggunakan absolute
code. Biasanya terjadi pada pemrosesan Bahasa assembly (.asm).
 Load Time : pada saat program dipanggil/load, menggunakan
relocatable code. Variable-variabelnya berada pada suatu stack yang
sudah dipesan sebelumnya dengan pasti (statis). Menghasilkan object
code - .obj
 Execution Time : pada saat program dijalankan. Binding akan ditunda
sampai run time. Kode dapat dipindah antar segment dan page pada
memory. Missal : .exe dan .DLL

Proteksi Memory

Proteksi memori dapat berarti melindungi data Sistem Operasi dari proses
yang sedang dijalankan oleh pengguna computer, atau melindungi data suatu proses
dari proses lainnya.

Logical & Phisycal Address

 Alamat logika adalah alamat yang dibentuk di CPU, disebut juga alamat
virtual.
 Alamat fisik adalah alamat yang terlihat pada memori fisik.
 Untuk mengubah dari alamat logika ke alamat fisik diperlukan suatu
perangkat keras yang bernama MMU (Mmeory Management Unit).
 Pengubahan dari alamat logika ke alamat fisik adalah pusat kegiatan
manajemen memori.
 Logical & physical addresses sama pada compile time & load-time. Logical
& physical addresses beda pada execution-time.

Memory Management Unit (MMU)

 Perangkat hardware yang memetakan alamat logic (virtual) ke alamat fisik.


 Dalam skema MMU:
 Menyediakan perangkat register yang dapat di set oleh setiap CPU:
setiap proses mempunyai data set register tersebut (disimpan di
PCB). Base register dan limit register.
 Harga dalam register base/relokasi ditambahkan ke setiap address
proses user pada saat run di memori.
 Program user hanya berurusan dengan addressa-ddress logic saja.

Dynamic Loading

Memanggil routine yang diperlukan saja pada memory. Routine yang tidak
diperlukan, tidak akan dipanggil. Tidak memerlukan bantuan sistem operasi.
Dynamic loading sangat berguna jika menangani banyak kode yang jarang diakses.
Ketika pemanggilan terjadi, rutin pemanggil akan memeriksa di memory, apakah
rutin yang dibutuhkan itu sudah ada atau belum, jika belum, dipanggil dan dialokasi
ke memory. Contoh : array dinamis dan imports/include library.

Static Linking

Menghubungkan seluruh routine yang ada pada program ke dalam suatu ruang
alamat di memory. Dilakukan oleh linker. Setiap program memiliki Salinan/copy
dari seluruh rutin dan data yang dibutuhkan. Biasanya digabungkan dengan
executable file. Contoh : EXE Delphi dan C/C++. Kelebihannya adalah library pasti
ada dan versinya pasti benar dan mudah pendistribusian file. Kekurangannya adalah
ukuran file yang besar.

Dynamic Linking

Menghubungkan semua rutin yang ada secara dinamis. Tidak membuang-


buang tempat di disk dan memori. Kumpulan fungsi yang ada dapat digunakan
Bersama-sama. Membutuhkan bantuan sistem operasi untuk memeriksa apakah
routine itu ada dalam processes memory address. Linking dilaksanakan pada
execution time.
Sekumpulan kode kecil yang disebut stub, digunakan untuk mencari memory-
resident library routine yang tepat. Stub akan mengganti dirinya sendiri dengan
address dari routine, dan kemudian mengeksekusi routine. Dynamic linking
digunakan untuk file libraries. Kelebihannya adalah ukuran file kecil, irit dan
dipakai Bersama. Kekurangannya adalah jika DLL hilang dan perbedaan versi.

Overlays

Suatu metode untuk menjalankan suatu proses yang membutuhkan memori


lebih besar dari yang tersedia karena keterbatasan memory.
Caranya :
1. Data dan instruksi yang diperlukan dimasukkan langsung ke memori
utama.
2. Routine-nya dimasukkan ke memori secara bergantian.
3. Bagian pendukung lain dimasukkan ke memory sekunder.
4. Memerlukan algoritma tambahan untuk melakukan overlays.

Tidak memerlukan bantuan sistem operasi. Sulit untuk dilakukan


karena menggunakan teknis khusus serta menjadi tanggung jawab
programmer. Sekarang Teknik ini sudah digantikan oleh Virtual Memory.
Swapping

 Suatu proses dapat di-swap secara temporary keluar dari memori dan
dimasukan ke backing store dan dapat dimasukkan kembali ke dalam
memori pada eksekusi selanjutnya.
 Backing store => disk cepat yang cukup besar untuk mengakomodasi copy
semua memori image pada semua user. Menyediakan akses langsung ke
memori image.
 Roll out, roll in => varian swapping yang digunakan dalam penjadwalan
prioritas, proses dengan prioritas rendah di-swap out, sehingga proses
dengan prioritas tinggi dapat di-load dan dieksekusi.
 Bagian terbesar dari swap time adalah transfer time, total transfer time
secara proporisonal dihitung dari jumlah memori yang di swap.
 Modifikasi swapping dapat ditemukan pada sistem UNIX, Linux dan
Windows.

Alokasi Memori Berurutan

Alokasi Partisi Tunggal/Statis


Alamat pertama memory yang dialokasikan untuk suatu proses adalah alamat
setelah alamat yang dialokasikan untuk proses sebelumnya.
Relokasi register digunakan untuk memproteksi masing-masing user proses
dan perubahan kode sistem operasi dan data. Relokasi register terdiri alamat fisik
bernilai rendah; limit register terdiri dari rentang alamat logic, setiap alamat logic
harus lebih kecil dari limit register.

Alokasi Partisi Non Tunggal/Dinamis

Dimana sistem operasi menyimpan informasi tentang semua bagian memori


yang tersedia untuk digunakan (disebut hole).

 Partisi Fixed-Sized (MFT)


Memori dibagi menjadi beberapa blok dengan ukuran tertentu yang seragam.
Jumlah proses yang bisa running max hanya sejumlah blok yang disediakan
(misal : IBM OS/360).
 Partisi Variabel-Size (MVT)
Pembagian memori sesuai dengan request dari proses-proses yang ada. Lebih
rumit karena ukuran alokasi (partisi) memori dapat bervariasi. Peranan
memori manajemen semakin penting : list dari partisi yang digunakan, free
dll.

Contiguous Allocation

Ada 2 cara pengaturan partisi pada sistem partisi banyak :


1. Partisi tetap adalah apabila memori dipartisi menjadi blok-blok yang
ukurannya ditentukan dari awal. Terbagi atas partisi tetap berukuran sama
dan partisi tetap berukuran berbeda.
2. Partisi dinamis adalah memori dipartisi menjadi bagian-bagian dengan
jumlah dan besar yang tidak tentu.

Algoritma Pengalokasian Memory pada Partisi Dinamis

 First fit : mangalokasikan hole pertama yang besarnya mencukupi. Pencarian


dimulai dari awal.
 Best fit : mengalokasikan hole terkecil yang besarnya mencukupi (tepat).
 Next fit : mengalokasikan hole pertama yang besarnya mencukupi.
Pencarian dimulai dari akhir pencarian sebelumnya.
 Worst fit : mengalokasikan hole terbesar yang tersedia.

Fragmentasi

Fragmentasi adalah munculnya hole-hole yang tidak cukup besar untuk


menampung permintaan dari proses.
 Fragmentasi Eksternal : apabila fragmen berupa hole yang berukuran kecil dan
tidak berurutan, Disebabkan karena pasrtisi dinamis, ruang memori free
namun tidak contiguous dan tidak dapat digunakan karena proses terlalu besar
untuk menggunakannya.
 Fragmentasi Internal : apabila terdapat di dalam blok memori yang sudah
dialokasikan secara statis, proses tidak mengisi penuh partisi yang telah
ditetapkan untuk proses, sifat program dinamis (alokasi dan dealokasi) dan
memori yang teralokasi mungkin lebih besar dari memori yang diminta.

Mengatasi Fragmentasi Eksternal

1. Compactation
Yaitu mengatur kembali isi memori agar memori yang kosong
diletakkan Bersama di suatu bagian yang besar. Compactation hanya dapat
dilakukan apabila relokasi bersifat dinamis dan pengalamatan dilakukan
pada saat runtime. Partisi fixed berukuran berbeda lebih baik dalam
meminimalisasi fragmentaso internal daripada partisi fixed berukuran sama.
2. Paging (Penghalamanan)
Suatu metode yang memungkinkan suatu alamat memori fisik tidak
berurutan letaknya. Memori logic dibagi menjadi blok-blok yang ukurannya
tetap yang dinamakan page. Memori fisik dibagi juga menjadi blok-blok
yang ukurannya tetap yang dinamakan frame. Lalu kita membuat suatu page
table yang akan menterjemahkan memori virtual menjadi memori fisik.

Page

Alamat yang dihasilkan oleh CPU akan dibagi menjadi 2 yaitu :


1. Page Number (p) -> akan menjadi indeks dari page table yang mengandung
base address dari setiap alamat di memori fisik.
2. Page Offset (d) -> akan digabung dengan base address untuk mendefinisikan
alamat fisik memory yang sebenarnya.

Frame

Alamat fisik dibentuk dengan menggabungkan nomor frame dengan offset.


Alamat memori fisik akan dibagi menjadi nomor-nomor frame yang nantinya akan
dicocokkan sesuai dengan page table. Kebutuhan frame akan sama dengan
kebutuhan page.

Page Table

Sebuah rangkaian array dari entries yang mempunyai indeks berupa nomor
page. Setiap masukan terdiri dari bit valid.invalid dan nomor page.

Shared Pages

 Shared code => 1 copy dari read-only code disharing diantara processes.
Shared code harus berada dalam lokasi yang sama dalam logical address
space untuk seluruh processes.
 Private code dan data => setiap proses memiliki copy terpisah dari code dan
data. Halaman untuk private code dan data dapat muncul dimanapun dalam
logical address space.

Keuntungan dan Kerugian Paging


 Jika kita membuat ukuran dari masing-masing page besar.
 Keuntungan : akses memori akan relative lebih cepat.
 Kerugian : kemungkinan terjadinya fragmentasi internal yang sangat
besar.
 Jika kita membuat ukuran dari masing-masing pages kecil.
 Keuntungan : kemungkinan terjadinya fragmentasi internal akan
menjadi lebih kecil.
 Kerugian : akses memori akan relative lebih lambat.

Segmentasi

Salah satu cara untuk mengatur memori dengan menggunakan segmen.


Program dibagi menjadi beberapa segmen. Segmen sama dengan kumpulan logical
unit. Ukuran setiap segmen tidak harus sama. Dapat diletakkan di mana saja. Tabel
segmen digunakan untuk menentukan lokasi segmen. Alamat logis-nya 2 dimensi
terdiri dari panjag segmen (limit) dan alamat awal segmen berada (base).

PERTANYAAN

1. Pemindahan proses dari memori utama ke disk atau sebaliknya merupakan definisi
A. Fragmentasi
B. Swapping
C. Partisi
2. Yang bukan merupakan fungsi manajemen memori adalah
A. Mendealokasikan memori dari proses sebelum selesai.
B. Mengelola informasi memori yang dipakau dan tidak dipakai.
C. Mengalokasikan memori ke proses yang memerlukan.
D. Mengelola swapping antara memori utama dan disk.
3. Memori tanpa swapping atau paging terbagi menjadi 2, yaitu
A. Monoprogramming dan multiprogramming secara dinamis.
B. Multiprogramming secara statis dan dinamis.
C. Monoprogramming dan multiprogramming secara statis.
D. Monoprogramming secara statis dan dinamis
4. Yang mana dari pernyataan di bawah ini yang merupakan pernyataan yang benar
mengenai table proses
A. Table suatu proses dengan prosedur interupsinya sama.
B. Ada satu table proses untuk keseluruhan proses yang berjalan.
C. Table proses yang terinterupsi akan dibuat yang baru lagi.
D. Ada satu table proses untuk saru proses.
5. Pemuatan data ke dalam penggalan memori dapat menimbulkan fragmen.
Fragmentasi eksternal terjadi apabila
A. Ukuran data lebih kecil dari ukuran penggalan.
B. Semua penggalan sudah terisi.
C. Ukuran penggalan yang belum terisi lebih kecil dari ukuran data.
D. Pemuatan data berlangsung menurut cocok terburuk.

Anda mungkin juga menyukai