Sistem Paging
Sistem paging adalah suatu sistem manajemen pada sistem operasi yang mengatur program yang sedang berjalan. Metode dasar dari paging adalah dengan memecah memori fisik menjadi blok-blok yang berukuran tertentu yang disebut dengan frame dan memecah memori logika menjadi bok-blok yang berukuran sama dengan frame yang disebut page. Untuk mengatasi apabila suatu program lebih besar dibandingkan dengan memori utama adalah dengan konsep overlay dan konsep memori maya(virtual memori):
1. Konsep Overlay,
yaitu dimana program yang di jalankan dipecah menjadi beberapa bagian yang dapat dimuat oleh memory (overlay), sedangkan yang belum dieksekusi akan disimpan di dalam disk, yang nantinya akan dimuat ke memori begitu diperlukan dalam ekekusi.
2. Konsep Memori Maya
yaitu kemampuan untuk mengalamati ruang memori melebihi memori utama yang tersedia.
3. Implementasi Sistem Paging
Setiap sistem operasi mempunyai metode sendiri untuk menyimpan tabel page. Beberapa sistem operasi mengalokasikan sebuah tabel page untuk setiap proses. Pointer ke tabel page disimpan dengan nilai register lainnya dari PCB. Pada dasarnya terdapat 3 metode yang berbeda untuk implementasi tabel page :
- Tabel page diimplementasikan sebagai kumpulan dari “dedicated” register. Register berupa rangkaian logika berkecepatan sangat tinggi untuk efisiensi translasi alamat paging. Contoh : DEC PDP-11. Alamat terdiri dari 16 bit dan ukuran page 8K. Sehingga tabel page berisi 8 entri yang disimpan pada register. Penggunaan register memenuhi jika tabel page kecil (tidak lebih dari 256 entry).
- Tabel page disimpan pada main memori dan menggunakan page table base registe” (PTBR) untuk menunjuk ke tabel page yang disimpan di main memori. Penggunakan memori untuk mengimplementasikan tabel page akan memungkinkan tabel page sangat besar (sekitar 1 juta entry). Perubahan tabel page hanya mengubah PTBR dan menurunkan waktu context-switch. Akan tetapi penggunaan metode ini memperlambat akses memori dengan faktor 2. Hal ini dikarenakan untuk mengakses memori perlu dua langkah : pertama untuk lokasi tabel page dan kedua untuk lokasi alamat fisik yang diperlukan.
- Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang disebut associative register atau translation look-aside buffers (TLBs). Merupakan solusi standar untuk permasalahan penggunaan memori untuk implementasi tabel page. Sekumpulan associative register berupa memori kecepatan tinggi. Setiap register terdiri dari 2 bagian yaitu key dan value. Jika associative register memberikan item, akan dibandingkan dengan semua key secara simultan. Jika item ditemukan nilai yang berhubungan diberikan. Model ini menawarkan pencarian cepat tetapi perangkat keras masih mahal. Jumlah entry pada TLB bervariasi antara 8 s/d 2048.
4. Masalah yang terjadi pada paging
a. Masalah Utama Sistem Paging
1) Working Set Model
Prinsip Lokalitas
Prinsip Lokalitas adalah proses-proses cenderung mengacu penyimpan secara tak seragam, mempunyai pola-pola sangat setempat.
Working set of Program Behavior
Himpunan kerja secara informal didefinisikan sebagai kumpulan page proses yang secara aktif diacu. Denning menyatakan bahwa agar suatu program berjalan secara efisien, himpunan kerja harus dijaga berada di memori utama. Selain itu akan terjadi aktivitas page fault yang berlebihan. Peristiwa page fault yang sangat berlebihan disebut trashing, yaitu setelah hanay beberapa intruksi terjadi page fault.
Prinsip yang digunakan oleh Working Set Model ini adalah dengan melacak dan menjamin himpunan kerja terdapat di memori sebelum proses dijalankan. Cara ini mengurangi terjadinya page fault.
2) Kebijaksanaan penggantian lokal vs global
Teradapat dua pendekatan untuk mengganti page, yaitu :
Penggantian lokal adalah page yang dipilih untuk diganti hanya pada partisi dimana proses diletakkan.
Penggantian global adalah page yang dipilih untuk diganti adalah tempat kosong dengan tidak memperdulikan partisi proses.
3) Frekuensi page fault
Frekuensi terjadinya page fault dapat dikendalikan dengan algoritma PFF (Pafe Fault Frequency Algorithm).
4) Ukuran page
Ukuran page ditentukan perancang sistem operasi. Ukuran page harus ditentukan agar sistem berperilaku opimal. Penentuan ukuran page memerlukan penilaian dan pemahaman mendalam perangkat keras, perangkat lunak dan aplikasi sistem.
b. Masalah Implementasi Sistem Paging
1) Back-up Intruksi
Bila trejadi page fault berarti sebgaian intruksi telah dijalankan. Pengkopina program counter dan informasi register-register pemroses harus dilakukan. Setelah pergantian page selesai maka intruksi yang menyebabkan page fault dapat dijalankan kembali dengan konteksnya.
Masalah yang harus diatasi adalah untuk mengulangi intruksi, sistem harus menetukan byte pertama intruksi.
2) Buffer Pernagkat Maaukan / Keluaran (Penguncian Page)
Pergantian page akan menimbulkan masalah mengacaukan proses yang melakukan operasi masukan / keluaran jika :
Buffer perangkat masukan / keluaran ikut tergusur
Adanya buffer satu perangkat masukan / keluaran menjaid rangkap.
3) Pemakaian Page Bersama
Apabila beberapa pemakai menggunakan program yang sama maka terjadi perngakapan page (page yang sam aterdapat di banyak bagian di memori). Lebih efisien menggunakan page secara bersama, menghindari keharusan mempunyai copyan-copyan page yang sama di saat yang sama.
4) Backing Store
Masalah lain adalah menyangkut dimana diletakkan page yang keluar dari memori utama. Terdapat dua algoritma untuk mengatasi hal ini, yaitu :
Menggunakan ruang ganti khusus
Dialokasikan berdasarkan kebutuhan
5) Paging Daemon
Paging bekerja bagus saat terdapat banyak page frame bebas yang dapat diklaim begitu page fault terjadi. Jika setiap page frame penuh dan telah dimodifikasi, sebelum page baru dimasukkan, pag eharus ditulis terlebih dahulu ke disk.
Untuk menjamin pasokan (supply) page frame yang banyak, sistem paging biasanya mempunyai proses background, disebut Paging Daemon.
6) Penanganan Page Fault (Page Fault Handling)
Implementasi sistem paging harus mengatasi rincian aksi yang harus dilakukan saat terjadi page fault.
TUTORIAL SWAP MEMORI DI LINUX
Sama halnya seperti Ms Windows, Linux pun memerlukan memori virtualuntuk mendukung jalannya sistem operasi. Akan tetapi penggunaan memori virtual di Linux sedikit berbeda dengan di Ms Windows, kalau di Ms Windows memori virtual ini tercipta secara otomatis saat kita menginstal Windows, memorinya pun tercipta di dalam suatu file yang biasa disebut Page File yang letaknya satu partisi dengan Windows. Sedangkan kalau di Linux kita harus membuatnya sendiri di dalam partisi yang terpisah yang biasa disebut partisi Swap, dan biasanya pembuatan partisi ini bersamaan dengan saat kita menginstal sistem operasi Linux.
Berikut adalah langkah-langkah untuk membuat swap memori pada linux :
1. Buka Terminal dan login sebagai root.
2. Ketik perintah berikut ini untuk membuat file sebesar 1GB.
# dd if=/dev/zero of=/swapfile bs=1M count=1000
Artinya ukuran blok (block size) sebesar 1MB, jadi count 1000 berarti membuat file sebesar 1000x1MB yakni 1GB.
3. Set file tersebut agar menjadi sebuah swap file.
# mkswap /swapfile
4. Aktifkan swap file.
# swapon /swapfile
5. Agar swap file dapat aktif setiap Linux direboot, tambahkan sebuah entry ke file /etc/fstab.
# gedit /etc/fstab
Tambahkan parameter di bawah ini ke dalam file /etc/fstab.
/swapfile swap swap defaults 0 0
Jadi setiap Linux reboot, swap file dapat aktif secara otomatis.
6. Selanjutnya cek apakah swap aktif atau tidak?
Caranya jalankan perintah berikut :
$ free -m
Referensi :
http://tugaskita-sistemoperasi.blogspot.co.id/2013/06/sistem-paging-dan-segmentasi.html
https://nabilanurul.wordpress.com/2012/05/11/sistem-paging/
http://linux.blog.gunadarma.ac.id/2009/12/08/alternatif-cara-membuat-memori-swap-di-linux/




