Monday, 11 April 2016

Sistem Paging Dan Cara Swap Memori Pada Linux

Sistem Paging
Sistem Paging Adalah mengimplemtasikan ruang alamat besar pada memori kecil menggunakan index register, base register dan segment register, dan lainnya.
Beberapa istilah pada system paging adalah:
A. Alamat Maya (Virtual Address)
Alamat yang dihasilkan dengan perhitungan menggunakan index register, base register dan segment register, dan sebagainya. Ruang alamat yang dibentuk disebut Ruang Alamat Maya (Virtual Address Space).
B. Alamat Nyata (Real Address)
Alamat yang tersedia di memori utama fisik. Ruang alamat yang dibentuk disebut Ruang alamat Nyata (Real Address Space). Jumlah alamat pada R disimbolkan dengan IRI.
C. Page
Unit terkecil virtual address space. Ruang alamat maya merupakan kelipatan page yang berukuran sama.
D. Page Frame
Unit terkecil memori fisik. Memori fisik secara konseptual dibagi menjadi sejumlah unit berukuran tetap disebut page frame.
E. Page Fault
Exception untuk permintaan alokasi “page” ke memori. Dalam konteks memori maya, page fault sering disingkat fault.
F. MMU
Merupakan Chip yang memetakan alamat maya ke alamat fisik.
Pada Komputer tanpa memori maya, alamat langsung diletakkan ke bus dan menyebabkan word memori fisik alamat itu dibaca atau ditulis.
Pada Komputer dengan memori maya, alamat tidak diletakkan pada bus secara langsung tapi lewat MMU yang kemudian memetakan alamat maya ke alamat memori fisik.
1. Memori system Paging
Untuk menginplementasikan addres maya yang besar ke dalam memori yang kecil diperlukan index register, base register, segment register dan MMU (Memory Menegement Unit).
2. Pemetaan Memori Sistem Paging
Sistem kinerja komputer akan menerjemahkan alamat maya menjadi alamat fisik. Dengan kata lain dalam system memori maya alamat memori tidak langsung di tuliskan ke BUS tetapi terlebih dahulu dimasukkan ke MMU untuk diterjemahkan.
Ada dua kemungkinan keluaran MMU yaitu :
Alamat yang dicari ada dimemori nyata, maka proses dapat langsung dikerjakan.
Alamat yang dicari tidak ada didalam memori nyata, maka MMU mengeluarkan page fault, yaitu permintaan alokasi memori untuk proses itu.
3. Pemetaan Alamat
MMU mempunyai fungsi sebagai berikut:
- Untuk memetakan memori maya ke memori fisik.
- Bila alamat memori yang dipetakan tidak tersedia di memori fisik, MMU menertibkan exception page fault yang melewatkan ke system operasi untuk menanganinya.
Gambar memperlihatkan Implementasi pemetaan memori system paging.




Gambar 1. Implementasi Pemetaan Memori sistem paging
Implementasi Pemetaan (Bagian Internal MMU)
4. Komponen terpenting MMU
a. Register Alamat Maya:
Nilai di register alamat maya dibagi menjadi dua bagian yaitu:
• Sejumlah bit beroder tinggi menyatakan nomer page maya
• Bit-bit sisa adalah offset alamat maya
b. Tabel Page
Tiap elemen table sedikitnya berisi informasi berikut:
• Present/Absen bit
Bernilai 1 bila page dimemori fisik, bernilai 0 bila page tidak dimemori fisik
• Nomor Page Frame
Berisi nomor page frame dimana page berada.
c. Register Alamat Fisik
Nilai di register alamat fisik di bagi 2:
•    Sejumlah bit berorder tinggi menyatakan nomor page frame
•    Bit-bit  sisa adalah offset alamat frame
d. Tabel-tabel  paging
Pemakaian table page pada system paging menimbulkan dua masalah utama, yaitu:• Table page dapat berukuran luar biasa besar• Pemetaan Harus dilakukan secara cepat
5. Penggantian Page
Saat terjadi page fault berarti harus diputuskan page frame di memori fisik yang harus diganti. Kinerja system akan baik jika page yang diganti dipilih yang tidak akan digunakan di masa datang.
Algoritma Penggantian page antara lain:• Algoritma penggantian page acak• Algoritma penggantian page optimal• Algoritma penggantian page NRU• Algoritma penggantian page FIFO• Algoritma penggantian page Modifikasi dari algoritma FIFO• Algoritma penggantian page LRU
Masalah–Masalah Utama pada Sistem Paging• Working Set Model• Kebijaksanaan Penggantian local vs global• Frekeunsi page fault• Ukuran Page
6. Masalah–Masalah Implementasi Sistem Paging
Perancang system paging berurusan beragam masalah implementasi system paging, antara lain:
• Backup instruksi yang terakhir dijalankan sebelum terjadi page fault
• Buffer perangkat masukan/keluaran
• Page yang dipakai bersama
• Backing store
• Paging daemon
• Penangan Page fault

Swap Memory
Swap Memory adalah memory virtual yang digunakan saat memory fisik (RAM) sudah penuh. Proses-proses yang tidak dapat ditangani oleh RAM akan ditangani oleh Swap (jika ada).
Swap bisa berupa partisi ataupun file. Pada artikel berikut, saya akan membahas tentang bagaimana menambahkan kapasitas memori Swap dalam bentuk file apabila Swap Memory anda mengalami kekurangan, atau bahkan jika anda tidak memiliki Swap Memory sama sekali. Berikut langkah-langkah menambahkan Swap File (misalnya 1 GB):

1. Create file 1GB, kemudian beri nama Swap misal pada partisi [/]

dd if=/dev/zero of=/swap bs=1024 count=1048576
2. Buat file tersebut menjadi Swap

mkswap /swap
3. Ubah permission dan ownership file Swap tersebut

chown root.root /swap
chmod 0600 /swap
4. Kemudian set file tersebut menjadi Swap Memory

swapon /swap
5. Sekarang cek total Swap Memory baru anda dengan command [top] atau [free -m]

Memory swap saya sebelumnya:

KiB Swap:  3905532 total,        0 used,  3905532 free,
Setelah ditambahkan 1GB:

KiB Swap:  4954104 total,        0 used,  4954104 free,
6. Untuk disable Swap memory file dan mengembalikan total kapasitas Swap memory anda ke asal, jalankan perintah:

swapoff /swap
7. Penambahan Swap memory dengan langkah di atas bersifat sementara. Artinya, Swap Memory anda akan kembali normal jika dilakukan reboot. Namun, anda juga dapat mempermanenkannya dengan cara berikut:

nano /etc/fstab
Tambahkan baris berikut pada fstab

/swap swap swap defaults 0 0
Kemudian Save.

Demikianlah caranya memperbesar kapasitas Swap Memory anda dengan file Swap tambahan. Semoga bermanfaat ;-)

0 komentar: