AOK Swapping, Partitioning, Paging
-
Upload
elisa-kusumawardhani -
Category
Documents
-
view
138 -
download
7
Transcript of AOK Swapping, Partitioning, Paging
MonitorFence Address Swap - In
Swap - Out
frame numberpage number Frame = Page = 2n = 25
Logical Memory Page Table Phiscal Memory
01
2
0
Swap
Sebuah proses, sebagaimana telah diterangkan di atas, harus berada di
memori sebelum dieksekusi. Proses swapping menukarkan sebuah proses keluar
dari memori untuk sementara waktu ke sebuah penyimpanan sementara dengan
sebuah proses lain yang sedang membutuhkan sejumlah alokasi memori untuk
dieksekusi. Tempat penyimpanan sementara ini biasanya berupa sebuah fast
disk dengan kapasitas yang dapat menampung semua salinan dari semua
gambaran memori serta menyediakan akses langsung ke gambaran tersebut. Jika
eksekusi proses yang dikeluarkan tadi akan dilanjutkan beberapa saat kemudian,
maka ia akan dibawa kembali ke memori dari tempat penyimpanan sementara
tadi.
Bagaimana sistem mengetahui proses mana saja yang akan dieksekusi?
Hal ini dapat dilakukan dengan ready queue. Ready queue berisikan semua
proses yang terletak baik di penyimpanan sementara maupun memori yang siap
untuk dieksekusi. Ketika penjadwal CPU akan mengeksekusi sebuah proses, ia
lalu memeriksa apakah proses bersangkutan sudah ada di memori ataukah masih
berada dalam penyimpanan sementara. Jika proses tersebut belum berada di
memori maka proses swapping akan dilakukan seperti yang telah dijelaskan di
atas.
Gambar 1.1. Proses Swapping
Pada teknik swapping,terbagi atas :
1.Swap-In
Memasukan program dari logical ke physical memori (dari breaking
storage ke memori).
2.Swap-Out
Mengeluarkan program dari memori ke breaking storage karena sudah
penuh.
Sebuah contoh untuk menggambarkan teknik swapping ini adalah sebagai
berikut: Algoritma Round-Robin yang digunakan pada multiprogramming
environment menggunakan waktu kuantum (satuan waktu CPU) dalam
pengeksekusian proses-prosesnya. Ketika waktu kuantum berakhir, memory
manager akan mengeluarkan (swap out) proses yang telah selesai menjalani
waktu kuantumnya pada suatu saat serta memasukkan (swap in) proses lain ke
dalam memori yang telah bebas tersebut. Pada saat yang bersamaan penjadwal
CPU akan mengalokasikan waktu untuk proses lain dalam memori. Hal yang
menjadi perhatian adalah, waktu kuantum harus cukup lama sehingga waktu
penggunaan CPU dapat lebih optimal jika dibandingkan dengan proses
penukaran yang terjadi antara memori dan disk.
Teknik swapping roll out, roll in menggunakan algoritma berbasis
prioritas dimana ketika proses dengan prioritas lebih tinggi tiba maka memory
manager akan mengeluarkan proses dengan prioritas yang lebih rendah serta
me-load proses dengan prioritas yang lebih tinggi tersebut. Saat proses dengan
prioritas yang lebih tinggi telah selesai dieksekusi maka proses yang memiliki
prioritas lebih rendah dapat dimasukkan kembali ke dalam memori dan kembali
dieksekusi.
Sebagian besar waktu swapping adalah waktu transfer. Sebagai contoh
kita lihat ilustrasi berikut ini: sebuah proses pengguna memiliki ukuran 5 MB,
sedangkan tempat penyimpanan sementara yang berupa harddiskmemiliki
kecepatan transfer data sebesar 20 MB per detiknya. Maka waktu yang
dibutuhkan untuk mentransfer proses sebesar 5 MB tersebut dari atau ke dalam
memori adalah sebesar 5000 KB / 20000 KBps = 250 ms.
Perhitungan di atas belum termasuk waktu latensi, sehingga jika kita
asumsikan waktu latensi sebesar 2 ms maka waktu swap adalah sebesar 252 ms.
Oleh karena terdapat dua kejadian dimana satu adalah proses pengeluaran
sebuah proses dan satu lagi adalah proses pemasukan proses ke dalam memori,
maka total waktu swap menjadi 252 + 252 = 504 ms.
Agar teknik swapping dapat lebih efisien, sebaiknya proses-proses yang
di- swap hanyalah proses-proses yang benar-benar dibutuhkan sehingga dapat
mengurangi waktu swap. Oleh karena itulah, sistem harus selalu mengetahui
perubahan apapun yang terjadi pada pemenuhan kebutuhan terhadap memori.
Disinilah sebuah proses memerlukan fungsi system call, yaitu untuk
memberitahukan sistem operasi kapan ia meminta memori dan kapan
membebaskan ruang memori tersebut.
Jika kita hendak melakukan swap, ada beberapa hal yang harus
diperhatikan. Kita harus menghindari menukar proses dengan M/K yang ditunda
(asumsinya operasi M/K tersebut juga sedang mengantri di antrian karena
peralatan M/Knya sedang sibuk). Contohnya seperti ini, jika proses
P1dikeluarkan dari memori dan kita hendak memasukkan proses P2, maka
operasi M/K yang juga berada di antrian akan mengambil jatah ruang memori
yang dibebaskan P1 tersebut. Masalah ini dapat diatasi jika kita tidak
melakukan swap dengan operasi M/K yang ditunda. Selain itu, pengeksekusian
operasi M/K hendaknya dilakukan pada buffer sistem operasi.
Tiap sistem operasi memiliki versi masing-masing pada
teknik swapping yang digunakannya. Sebagai contoh pada
UNIX, swapping pada dasarnya tidak diaktifkan, namun akan dimulai jika
banyak proses yang membutuhkan alokasi memori yang banyak. Swapping akan
dinonaktifkan kembali jika jumlah proses yang dimasukkan berkurang. Pada
sistem operasi Microsoft Windows 3.1, jika sebuah proses baru dimasukkan dan
ternyata tidak ada cukup ruang di memori untuk menampungnya, proses yang
lebih dulu ada di memori akan dipindahkan ke disk. Sistem operasi ini pada
dasarnya tidak menerapkan teknik swapping secara penuh, hal ini disebabkan
pengguna lebih berperan dalam menentukan proses mana yang akan ditukar
daripada penjadwal CPU. Dengan ketentuan seperti ini proses-proses yang telah
dikeluarkan tidak akan kembali lagi ke memori hingga pengguna memilih
proses tersebut untuk dijalankan.
Partitioning
Partitioning adalah teknik membagi memori menjadi beberapa bagian
sesuai dengan kebutuhan. Sistem operasi akan menempati bagian memori yang
tetap.
Gambar 2.1. Proses Swapping
Ada dua cara dalam pempartisian, yaitu :
1. Pemartisian Statis
Pemartisian Statis adalah pemartisian memori menjadi partisi tetap yang
mana proses-proses akan ditempatkan pada memori yang telah dipartisi
tersebut.
Berdasarkan ukuran dibagi menjadi dua, yaitu :
a. Pemartisian dengan partisi berukuran sama
yaitu teknik pemartisian dengan cara pembagian memori dengan besar
kapasitas yang sama semua. Namun kalemahannya adalah
Bila program berukuran lebih besar dibanding partisi yang tersedia,
maka tidak dapat dimuatkan dan dijalankan. Pemrogram harus
mempersiapkan overlay. Overlay adalah program dipecah menjadi
bagian-bagian yang dapat dimuat ke memori. Sehingga hanya
bagian program yang benar-benar dieksekusi yang dimasukkan ke
memori utama dan saling bergantian. Untuk overlay diperlukan
sistem operasi yang mendukung swapping.
Bila program lebih kecil daripada ukuran partisi yang tersedia,
maka akan ada ruang yang tak dipakai, yang disebut fragmentasi
internal atau pemborosan memori. Kelemahan ini dapat dikurangi
dengan membuat partisi tetap dengan ukuran yang berbeda.
Fragmentasi adalah pemborosan memori yang terjadi pada setiap
organisasi penyimpanan.
Fragmentasi internal : proses tidak mengisi penuh partisi yang
telah ditetapkan untuk proses
Fragmentasi eksternal : partisi tidak dapat digunakan karena
ukuran partisi lebih kecil dibanding ukuran proses yang
menunggu di antrian.
b. Pemartisian dengan partisi berukuran berbeda
yaitu teknik pemartisian dengan cara pembagian memori dengan besar
kapasitas yang berbeda-beda.
2. Pemartisian Dinamis
Dengan menggunkan partisi statis menyebabkan memori terlalu
banyak diboroskan dengan proses-proses yang lebih kecil dibanding
partisi yang ditempatinya. Namun apabila menggunakanpartisi dinamis
maka jumlah, lokasi, dan ukuran proses di memori dapat beragam
sepanjang waktu secara dinamis. proses yang akan masuk ke memori
segera dibuatkan partisi untuknya sesuai kebutuhannya. Teknik ini
meningkatkan utilitas memori.
Kelemahan partisi dimanis adalah dapat terjadi lubang-lubang kecil
memori di antara partisi-partisi yang dipakai merumitkan alokasi dan
dealokasi memori.
PAGING
1. PENGERTIAN PAGING
Paging adalah suatu metode yang mengizinkan alamat logika proses
untuk dipetakan ke alamat fisik memori yang tidak berurutan, yaitu sebagai
solusi dari masalah fragmentasi ekstern. Metode dasar dari paging adalah
dengan memecah memori fisik menjadi blok-blok yang berukuran tertentu
(frame) dan memecah memori logika menjadi blok-blok yang berukuran
sama (page). Penerjemahan alamat virtual ke alamat fisik dilakukan oleh page
table melalui perantara Memory Management Unit (MMU).
Paging menjamin keamanan data di memori saat suatu proses sedang
berjalan. Proteksi memori dapat diterapkan pada sistem paging dengan
meletakkan bit proteksi pada setiap frame. Setiap sistem operasi
mengimplementasikan paging dengan caranya masing-masing. Hierarchical
paging dan hashed page table merupakan metode yang umum digunakan karena
bisa menghemat ruang memori yang dibutuhkan.
Hal-hal penting dalam Paging
Tidak ada fragmentasi eksternal
User melihat ruang memori sebagai suatukesatuan
Meningkatkan waktu context-switch
Kebanyakan dukungan paging terdapatpada hardware
Ukuran page: besar?kecil?
Ilustrasi konsep paging
Contoh Paging Sederhana
Keuntungan dan kerugian Paging adalah:
1. Jika kita membuat ukuran dari masing-masing halaman menjadi lebih
besar.
• Keuntungan. Akses memori akan relatif lebih cepat.
• Kerugian. Kemungkinan terjadinya fragmentasi intern sangat besar.
2. Jika kita membuat ukuran dari masing-masing halaman menjadi lebih
kecil.
• Keuntungan. Kemungkinan terjadinya internal Framentasi akan menjadi lebih
kecil.
• Kerugian. Akses memori akan relatif lebih lambat.
Keuntungan lainnya dari paging adalah, konsep memori virtual bisa
diterapkan dengan menuliskan halaman ke disk, dan pembacaan halaman
dari disk ketika dibutuhkan. Hal ini dikarenakan jarangnya pengunaan kode-
kode dan data suatu program secara keseluruhan pada suatu waktu. Kerugian
lainnya dari paging adalah, paging tidak bisa diterapkan untuk beberapa
prosesor tua atau kecil (dalam keluarga Intel x86, sebagai contoh, hanya
80386 dan di atasnya yang punya MMU, yang bisa diterapkan paging). Hal ini
dikarenakan paging membutuhkan MMU (Memory Management Unit).
2. 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.
Untuk mengatasi hal tersebut Sistem Paging mempunyai 2 solusi, yaitu:
a. Konsep Overlay
Dimana program yang dijalankan dipecah menjadi beberapa bagian yang
dapat dimuat memori (overlay). Overlay yang belum diperlukan pada saat
program berjalan (tidak sedang di eksekusi) disimpan di disk, dimana nantinya
overlay tersebut akan dimuat ke memori begitu diperlukan dalam eksekusinya.
b. Konsep Memori Maya (virtual Memory)
Adalah kemampuan mengalamati ruang memori melebihi memori utama
yang tersedia. Konsep ini pertama kali dikemukakan Fotheringham pada tahun
1961 untuk sistem komputer Atlas di Universitas Manchester, Inggris.
Gagasan Memori Maya 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.
A. Pengertian Memori Maya
Didalam menejemen memori dengan system partisi statis dan system
dinamis sudah dapat menyelesaikan masalah menejemen memori didalam
banyak hal, tetapi masih memiliki kekurangan atau keterbatasan di dalam
pengakses. Dimana keterbatasan akses hanya sebatas addres memori yang ada
secara fisik ( memori nyata ).
Misalnya memori 64 MB maka addres maksimum yang dapat diakses
hanya sebesar 64 MB saja. Pada hal banyak program yang akan diakses yang
melebihi 64 MB. Untuk mengatasi hal tersebut agar kemampuan akses lebih
besar lagi maka dibentuklah memori maya ( yang pertama sekali di kemukakan
oleh Fotheringham pada tahun 1961 untuk system komputer Atlas di
Universitas Manchester, Inggris).
Dengan memori maya program yang besar tadi akan dapat diterapkan
pada memori kecil saja, misalnya program 500 MB dapat ditempatkan secara
maya di memori 64 MB. Untuk mengimplementasikan memori maya tersebut
dapat dilakukan dengan tiga cara :
Sistem Paging
Sistem Segmentasi
Sistem kombinasi Paging dan Segmentasi
B. 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 ).
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.
MMU mempunyai fungsi untuk memetakan memori maya ke memori
fisik. Apabila alamat memori yang dipetakan tidak tersedia di memori fisik,
MMU menertibkan exception page fault yang melewatkan ke system operasi
untuk menengani.
Gambar memperlihatkan Implementasi pemetaan memori system paging.
Gambar 1. Implementasi Pemetaan Memori sistem paging
Apabila exception page fault meminta alokasi memori akan ditangani
oleh system operasi yaitu memilih partisi yang telah selesai diakses dan
kemungkinan proses ini akan digunakan lagi, dalam waktu yang lama lagi. Jika
sudah dipilih maka program akan dikosongkan dari memori dan selanjutnya
program yang alamatnya yang diminta akan dimasukkan ke memori.
Proses Pemetaan Pada MMU
Dibawah ini adalah suatu proses pemetaaan memori yang terjadi pada
MMU. Alamat maya terdiri dari bagian nomor page dan offset. Alamat ini
dicarikan didalam tabel page, bila ketemu maka MMU mengeluarkan page
frame ( register alamat fisik ).Register alamat fisik terdiri darei nomor page
dan offset, dimana nomor page frame lebih sedikit dari nomor page.
Apabila alamat tersebut tidak ada pada tabel page maka MMU
mengeluarkan page fault.
3. PERGANTIAN PAGE
Saat terjadi page fault berarti harus diputuskan page frame di memori
fisik yang harus diganti. Jika page yang diganti akan kembali digunakan,maka
page akan dikembalikan secepatnya yang berarti terjadi page fault berulang kali.
Algoritma penggantian page antara lain ;
1. Algoritma penggantian page acak (random page replacement
algorithm )
Dari segi mekanisme algoritma tersebut, setiap akan timbul page fault,
page yang diganti dengan pilihan secara acak. Untuk segi tekniknya sendiri pun
algoritma ini tidak usah perlu menggunakan informasi dalam menentukan page
yang diganti, didalam memory utama itu sendiri sudah mempunyai bobot yang
sama untuk dipilih, karena teknik ini dapat dipakai untuk memilih page
sembarang. Termasuk page yang sudah dipilih dengan benar-benar / page yang
tidak seharusnya diganti.
Contoh gambar dari Algoritma page acak
2. Algoritma penggantian page optimal
Pengertian dari algoritma ini sendiri yaitu algoritma yang page nya paling
optimal. Untuk prinsip dari algoritma ini sangat efisien sekali karena hanya
mengganti halaman yang sudah tidak terpakai lagi dalam jangka waktu lama
sehingga page fault yang terjadi akan berkurang dan terbebas dari anomali
Belady Selain itu juga page fault dari algoritma ini memiliki rate paling tinggi
dari algoritma lainnya dari semua kasus, akan tetapi tidak belum bias disebut
sempurna karena sulit untuk di mengerti dan dari segi system pun belum tentu
bisa mengetahui page untuk berikutnya tetapi dapat di simulasikan hanya untuk
suatu program. Untuk intinya gunakanlah hingga mendekati page optimal agar
bisa memanfaatkannya.
Contoh gambar dari Algoritma page optimal
3. Algoritma penggantian page NRU ( not recently used )
Untuk mekanisme dari algoritma ini diberi dua bit untuk mencatat status
page, diantaranya bit M dan R yaitu :
Bit M : Page yang telah dimodifikasi
Bit M = 0 berarti tidak dimodif
Bit M = 1 berarti sudah dimodif
Bit R : Page yang sedang dipacu / referenced
Bit R = 1 berarti sedang di acu
Bit R = 0 berarti tidak sedang di acu
Adanya dua bit di atas maka akan dapat dikelompokkan menjadi 4 kelas
page, yaitu :
Kelas 0 => Tidak sedang di acu / belum di modif (R=0, M=0)
Kelas 1 => Tidak sedang di acu / telah di modif (R=0, M=1)
Kelas 2 => Sedang di acu / belum di modif (R=1, M=0)
Kelas 3 => Sedang di acu / telah di modif (R=1, M=1)
Jadi apabali algoritma ini diasumsikan kelas-kelas bernomor lebih rendah
baru akan di gunakan kembali dalam relatif jangka waktu lama.
Intinya algoritma ini mudah dipahami dan dikembangkan karena sangat efisien
walaupun tak banyak langkah dalam pemilihan page dan kelemahannya juga
tidak optimal tapi dalam kondisi normal yang memadai.
4. Algoritma penggantian page FIFO ( first in,first out )
Inti dari algoritma ini adalah simple / paling sederhana karena prinsipnya
sama seperti prinsip antrian tak berprioritas. Page yang masuk terlebih dahulu
maka yaitu yang akan keluar duluan juga. Untuk algoritma ini menggunakan
structure data stack. Jadi kerjanya yaitu dimana kalau tidak ada frame yang
kosong saat terjadi page fault maka korban yang dipilih adalah frame dengan
stack paling bawah seperti hal nya halaman yang sudah lama tersimpan didalam
memory maka dari itu algoritma ini juga bisa memindahkan page yang sering
digunakan.
Contoh gambar dari Algoritma page FIFO
Utamanya algoritma ini di anggap cukup mengatasi pergantian page
sampai pada tahun 70-an, pada saat itu juga Belady menemukan keganjalan
pada algoritma ini dan dikenal dengan anomali Belady. Anomali Belady itu
sendiri ialah keadaan dimana page fault rate meningkat seiring dengan
pertambahannya jumlah frame.
Contoh gambar dari Anomali Belady
5. Algoritma penggantian page modifikasi dari algoritma FIFO
Algoritma FIFO murni jarang digunakan, tetapi
dikombinasikan(modifikasi).Kelemahan FIFO yang jelas adalah algoritma dapat
memilih memindahkan page yang sering digunakan yang lama berada di
memori. Kemungkinan ini dapat dihindari dengan hanya memindahkan page
tidak diacu Page ditambah bit R mencatat apakah page diacu atau tidak. Bit R
bernilai 1 bila diacu dan bernilai 0 bila tidak diacu.
Variasi dari FIFO antara lain:
- Algoritma penggantian page kesempatan kedua (second chance page
replacement algorithm)
-Algoritma penggantian clock page (clock page replacement algorithm)
Algoritma yang pertama adalah algoritma second chance. Algoritma
second chance berdasarkan pada algoritma FIFO yang disempurnakan.
Algoritma ini menggunakan tambahan berupa reference bit yang nilainya 0 atau
1. Jika dalam FIFO menggunakan stack , maka second chance menggunakan
circular queue . Halaman yang baru di-load atau baru digunakan akan diberikan
nilai 1 pada reference bit-nya. Halaman yang reference bit-nya bernilai 1 tidak
akan langsung diganti walaupun dia berada di antrian paling bawah (berbeda
dengan FIFO).
Urutan langkah kerja algoritma second chance adalah sebagai berikut:
o Apabila terjadi page fault dan tidak ada frame yang kosong, maka akan
dilakukan razia (pencarian korban) halaman yang reference bit-nya
bernilai 0 dimulai dari bawah antrian (seperti FIFO).
o Setiap halaman yang tidak di- swap (karena reference bit-nya bernilai 1),
setiap dilewati saat razia reference bit-nya akan diset menjadi 0.
Contoh gambar dari Algoritma page Modifikasi FIFO
6. Algoritma penggantian page LRU ( least recently used )
Dikarenakan algoritma optimal sangat sulit dalam
pengimplementasiannya, maka dibuatlah algoritma lain yang performance-nya
mendekati algoritma optimal dengan sedikit cost yang lebih besar. ama seperti
algoritma optimal, algoritma LRU tidak mengalami anomali Belady. Algoritma
ini memakai linked list untuk mendata halaman mana yang paling lama tidak
terpakai. Linked list inilah yang membuat cost membesar, karena harus meng-
update linked list tiap saat ada halaman yang di akses.
Contoh gambar dari Algoritma page LRU
5. MASALAH-MASALAH UTAMA DALAM SISTEM PAGING
1. Working set model.
2. Kebijaksanaan penggantian lokal vs global.
3. Frekuensi page fault.
4. Ukuran page
a. Working set model
Prinsip lokalitas
Prinsip lokalitas adalah proses-proses cenderung mengacu menyimpan
secara tak seragam,mempunyai pola-pola sangat setempat.
Terdapat dua jenis lokalitas,yaitu :
Lokalitas berdasar waktu ( temporal locality )
Lokalitas menurut ruang ( spatial locality )
Working set model of program behavior
Himpunan kerja secara informal didefinisikan sebagai kumpulan page
proses yang secara aktif diacu. Danning menyatakan bahwea agar suatu
program berjalan secara efisien,himpunan kerja harus dijaga berada dimemori
utama. Selain itu akan terjadi aktifitas page fault yang berlebihan.
Prinsip-prinsip working set model
Prinsip yang digunakan adalah melacak dan menjamin himpunan kerja
yang tedapat di memori sebelum proses dijalankan.
Kebijaksanaan penggantian lokal vs global
Terdapat dua cara pendekatan untuk mengganti page,yaitu;
Penggantian page 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 mempedulikan partisi proses. Dengan penggantian
global,page fault satu proses dapat dilayani dengan memindahkan page yang
dimiliki proses lain.
Frekunsi page fault
Untuk satu kelas besar algoritma penggantian page diketahui frekuensi
page fault menurun begitu page memori fisik lebih banyak. Bila proses
melampaui ambang atas frekunsi page fault maka dialokasikan page memori
fisik untuk proses itu lebih banyak.
Ukuran page
Ukuran page ditentukan perancang sistem operasi. Ukuran page harus
ditentukan agar sistem berkelakuan optimal. Penentuan ukuran page
memerlukan penilaian pemahaman mendalam perangkat keras,perngkat
lunak,dan aplikasi sistem.
5. MASALAH-MASALAH IMPLEMENTASI SISTEM PAGING
:
Perancang sistem paging berurusan beragam implementasi sistem
paging,antara lain;
1. Backup instruksi yang terakhir dijalankan sebelum terjadi page
fault.
Bila terjadi page fault berarti sebagian instruksi telah dijalankan.
Pengkopian program counter dan informasi register-register pemroses harus
dilakukan. Setelah penggantian page selesai maka instruksi yang menyebabkan
page fault dapat dijalankan kembali dengan konteksnya.
Masalah yang harus diatasi adalah untuk mengulangi instruksi,sistem
harus menentukan byte pertama instruksi.
2. Buffer perangkat masukan/keluaran (penguncian page di memori).
Penggantian page akan menimbulkan masalah mengacaukan proses yang
melakukan operasi masukan/keluaran jika:
• Buffer perangkat masukan/keluaran ikut tergusur.
• Adanya Buffer satu perangkat masukan/keluaran menjadi rangkap.
3. Page yang dipakai bersama.
Bila beberapa pemakai menggunakan program yang sama maka terjadi
perangkapan page (page yang sama terdapat dibanyak dibagian memori). Lebih
efisien bila menggunakan page secara bersama,menghindari keharusan
mompunyai copyan-copyan page yang sama disaat yang sama.
4. Backing store.
Masalah lain adalah menyangkut dimana diletakkan page yang keluar
dari memosi utama. Terdapat beragam algoritma untuk mengatasi hal ini yaitu:
• Menggunakan ruang penggantian khusus.
• Dialokasikan berdasarkan kebutuhan.
5. Paging daemons.
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 dimasukan,page lama harus ditulis lebih dulu
ke disk.
Untuk menjamin suplai page frame yang banyak,sistem paging biasanya
mempunyai proses background yang disebut page daemons.
6. Penanganan page fault (page fault handling)
Implementasi sistem paging harus mengatasi rincian-rincian aksi yang
harus dilakukan saat terjadi page fault.