Sistem Paging pada Sistem Operasi
Sistem
Paging
Sistem Paging adalah sistem manajemen
pada sistem operasi dalam mengatur program yang sedang berjalan. Program yang
berjalan harus dimuat di memori utama. Kendala yang terjadi apabila suatu
program lebih besar dibandingkan dengan memori utama yang tersedia.
Paging
itu memecah memori fisik menjadi blok-blok yang berukuran tertentu di sebut
frame, dan memecah memori logika menjadi blok-blok yang disebut page, seperti
di jelaskan dalam point pengertian di atas, Jadi karena ada program yang melebihi
memori utama, maka dengan paging ini, dapat di pecah-pecah menjadi beberapa
bagian, sehingga program dapat di eksekusi.
Untuk mengatasi hal tersebut Sistem
paging mempunyai 2 solusi yaitu :
- Konsep OverlayDimana program yang dijalankan dipecah menjadi beberapa bagian yang dapat dimuat memori (overlay). Overlay yang belum diperlukan pada saat program berjalan (tidak sedang dieksekusi) disimpan di disk, dimana nantinya overlay tersebut akan dibuat ke memori begitu diperlukan dalam eksekusinya.
- Virtual MemoryYaitu kemmapuan mengamati ruang memori melebihi memeori utama yang tersedia. Konsep ini pertama kali ditemukan Fotheringham pada tahun 1961 untuk sistem komputer Atlas di Universitas Manchester, Inggris.
Gagasan virtual memory adalah ukuran
gabungan program , data dan stack melampaui jumlah memori fisik yang tersedia.
Sistem operasi menyimpan bagian – bagian proses yang sedang digunakan di memori
utama dan sisanya di disk. Begitu bagian di disk diperlukan maka bagian memori
yang tidak diperlukan disingkirkan dan diganti bagian disk yang diperlukan.
Masalah
Penggantian Page
Pada dasarnya kesalahan halaman (page
fault) sudah tidak lagi menjadi masalah yang terlalu dianggap serius. Hal ini
disebabkan karena masing- masing halaman pasti akan mengalami paling tidak satu
kali kesalahan dalam pemberian halaman yakni ketika halaman ini ditunjuk untuk
pertama kalinya. Respresentasi seperti ini sebenarnya tidaklah terlalu akurat.
Berdasarkan pertimbangan tersebut sebenarnya proses – proses yang memiliki 10 halaman
hanya akan menggunakan setengah dari jumlah seluruh halaman yang dimilikinya
Kemudian demand paging akan menyimpan I/O yang dibutuhkan untuk mengisi 5
halaman yang berlum pernah digunakan. Kita juga dapat meningkatkan derajat
multiprogramming dengan menjalankan banyak proses sebanyak 2 kali.
Jika meningkatkan derajat
multiprogramming itu sama artinya dengan melakukan over-allocating terhadap
memori. Jika kita menjalankan 6 proses dengan masing – masing mendapatkan 10
halaman walaupun sebenarnya yang digunakan hanya 5 halaman akana memiliki
utilisasi CPU dan throughput yang lebih tingi dengan 10 frame yang masih
kosong. Lebih jauh lagi kita harus mempertimbangkan bahwa sistem memori tidak
hanya digunkaan untuk menangani pengalamatan suatu program. Penyangga (buffer)
untuk I/O juga menggunakan sejumlah memori. Penggunaan ini dapat meningkatkan
pemakaian algoritma dalam penempatan memori.
Beberapa sistem mengalokasikan secara
pasti beberapa persen dari memori yang dimilikinya untuk penyangga I/O dimana
keduanya baik proses penggunan maupun subsistem dari I/O saling berlomba untuk
memanfaatkan seluruh sistem memori.
Hal – hal yang berkaitan dengan sistem paging :
Istilah-istilah pada Sistem Paging :
Alamat Maya (Virtual Address)
Adalah alamat yang dihasilkan perhitungan menggunakan index register, base
register,segment regoster dan sebagainya.
Alamat nyata (real Address).
Alamat nyata adalah alamat utama di memori fisik.
Page : Page adalah unit terkecil virtulal address space.
Page frame : Page frame adalah unit terkecil memori fiisk. Memori fisik secara
konseptual dibagi menjadi sejumlah unit berukuran tetap disebut page frame.
Page frame sering juga disingkat frame.
Page fault :Page fault adalah exception untuk permintaan alokasi page ke memori. Dalam
konteks memori maya, page fault sering juga disingkat fault.
MMU (Memory Management Unit)
MMU berfungsi :
- Pemetaan memori maya ke memori fisik
- Bila alamat memori yang diminta tidak tersedia di memori fisik, MMU menerbitkan exception adanya page fault yang melewatkan ke sistem operasi untuk menanganinya.
Untuk menginplementasikan addres maya yang besar ke dalam memori yang kecil
diperlukan index register, base register, segment register dan MMU ( Memory
Menegement Unit ).
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
a) 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.
b) 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.
c) 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.
d) 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
e) 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.
f) Penanganan Page Fault (Page Fault
Handling)
Implementasi sistem paging harus mengatasi rincian aksi yang harus
dilakukan saat terjadi page fault.
Penggantian Page
Saat terjaid page fault berarti harus diputuskan page frame di memori fisik
yang harus diganti. Kinerja sistem akan baik jika page yang diganti dipilih
yang tidak akan digunakan di masa datang. Jika page yang diganti akan kembali
digunakan, maka page akan dikembalikan secepatnya yang berarti terjadi page
fault berulang kali. Banyaknya page fault menghasilkan banayk overhead.
Algoritma penggantian page antara lain :
1) Algoritma penggantian page acak
2) Algoritma penggantian page optimal
3) Algoritma penggantian page NRU
4) Algoritma penggantian page FIFO
5) Algoritma penggantian page modifikasi dari
algoritma FIFO
6) Algoritma penggantian page LRU
Referensi :
-
https://nabilanurul.wordpress.com/2012/05/11/sistem-paging/
makasih makasih
BalasHapussolder uap