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:
- 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.
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.
- 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.
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 :
1. Sistem Paging
2. Sistem
Segmentasi
3. 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 :
1. Alamat yang
dicari ada dimemori nyata, maka proses dapat langsung dikerjakan.
2. 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.
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.
C. Sistem Segmentasi
· Pengertian
Segmentasi
Secara sederhana segmentasi bisa
diartikan sebagai suatu ruang alamat atau segment yang berada di
memori. Segment-segment itu dalam keadaan
independent. Setiap segment berisi alamat 0 sampai maksimum secara linier.
Panjang setiap segment berbeda-beda sampai panjang maksimun, perobahan panjang
segment terjadi selama proses eksekusi.
Segment stack bertambah ketika terjadi operasi
push dan turun saat operasi pop, dimana setiap segment merupakan
ruang alamat terpisah segment-segment dapat tumbuh dan mengkerut secara bebas
tanpa mempengaruhi yang lain.
Alamat terdiri dari dua bagian pada
memori bersegment yaitu :
1. Nomor
segment
2. Alamat
pada segment ( offset ).
Segment dapat berisi :
1. Prosedure
2. Array
3. Stack
4. Kumpulan
variable skala.
· Sistem
Segmentasi
Sistem dengan memori maya dengan segmentasi murni adalah alamat maya adalah offset di
segment, setiap proses mempunyai tabel segment dan pada saat proses running
alamat awal maya tabel dimuatkan ke register dasar. Nomor segment digunakan
mencari deskriptor segment di tabel segment yang menyediakan
alamat fisik awal dari segment, panjang dan bit-bit proteksinya. Alamat fisik
dihitung dengan menambahkan alamat dasar segment ke alamat maya.
Keunggulan sistem ini dimana
segment-segment tersebut saling berhubungan dengan unit-unit program, sehingga
segment – segment indeal untuk proteksi dan pemakaian bersama.
Kelemahan sistem ini adalah dimana
segment – segment berukuran bervariasi menyebabkan fragmentasi eksternal dan
sulit menyelesaikan pertumbuhan dinamis. Segment-segment tidak memetakan
blok-blok disk untuk memori maya secara alami.
D.
Teknik Kombinasi Paging Dan Segmentasi
Teknik kombinasi pacing dan
segmentasi adalah ruang alamat pemakai dibagi menjadi sejumlah segment sesuai dengan
kehendak pemrogram. Segment tersebut dibagi menjadi sejumlah page berukuran
tetap dan berukuran sama dengan page frame memori utama. Jika segment kurang
dari ukuran page, maka segnent hanya memerlukan satu page.
Dari segi pandangan pemrogram,
alamat maya masih berisi nomor segment dan offset di segment itu. Dari segi
pandangan sistem, offset segment dipandang sebagai nomor page dan offset page
untuk page di segment yang dispesifiksikan. Penggabungan dengan proses adalah
tabel segment dan sejumlah tabel page, merupakan satu tabel persegment proses.
Saat proses running, register
menyimpan alamat awal tabel segment untuk proses, pemroses menggunakan bagian
nomor segment untuk mengindeks tabel segment proses guna menemukan tabel page
untuk segment. Bagian angka page alamat maya digunakan untuk indeks tabel page
dan mencari nomor page korespondensi. Angka tersebut kemudian dikombinasikan
dengan bagian offset alamat maya untuk menghasilkan alamat nyata yang
diinginkan.
SISTEM PAGING
1. Masalah utama pada system paging:
-
Working set model
-
Kebijaksanaan penggantian local vs global
-
Frekuensi page fault
-
Ukuran page
-
Working set model
Prinsip
Lokalitas
Terdapat 2
jenis jenis lokalitas:
- Lokalitas
berdasarkan waktu (temporal locality), proses cenderung terkonsentrasi
acuannya ke satu intercal waktu eksekusi yang dekat. Observasi
berikut mendukung prinsip, antara lain : Looping, Subrutin, stack dan
variable-variabel yang digunakan untuk iterasi dan penjumlahan total.
- Lokalitas
berdasarkan ruang (spatial locality), proses cenderung terkonsentrasi
acuannya ke satu kelompok data yang berdekatan. Observasi berikut
mendukung prinsip ini, antara lain: traversal pada array, eksekusi kode
yang sekuen, kecenderungan pemrogram menempatan variable yang terkait
saling berdekatan.
Prinsip
lokalitas diperoleh dari observasi bukan dari kajian teoritis. Menunjukkan
kecenderungan prilaku lingkungan system bukan tepat eksak.
Konsekuensi
prinsip lokalitas adalah program dapat berjalan secara efisien saat satu subset
page berkecenderungan tinggi saling mengacu terdapat di memory.
Thrashing:
peristiwa page fault yang sangat berlebihan.
Salah satu cara
menghindari thrashing adalah dengan menyediakan sebanyak mungkin bingkai
sesuai dengan kebutuhan proses. Untuk mengetahui berapa bingkai yang dibutuhkan
adalah dengan strategi working set. Strategi ini dimulai dengan melihat
berapa banyak bingkai yang digunakan oleh suatu proses. Working set
model mengatakan bahwa sistem hanya akan berjalan secara efisien jika proses
diberikan bingkai yang cukup, jika bingkai tidak cukup untuk menampung semua
proses maka suatu proses akan ditunda, dan memberikan halamannya untuk proses
yang lain.
Working set
model merupakan
model lokalitas dari eksekusi proses. Model ini menggunakan parameter (delta)
untuk definisi working set window. Kumpulan dari halaman dengan halaman
yang dituju yang paling sering muncul disebut working set.
Berdasarkan hal
ini terdapat dua teknik untuk memuatkan page, yaitu:
- Prepaging, teknik memuatkan page-page lebih dulu sbelum
proses berjalan.
- Demand paging, teknik yang segera memuatkan page begitu
page dibutuhkan.
Keakuratan Working set
tergantung pada pemilihan :
- jika terlalu kecil tidak akan mewakilkan seluruh
lokalitas.
- jika
terlalu besar menyebabkan overlap.
- jika tidak terbatas working set adalah kumpulan
halaman sepanjang eksekusi program.
Jika total permintaan > total
bingkai, maka akan terjadi thrashing. Jika ini terjadi maka proses yang
sedang berjalan akan diblok.
-
Kebijaksanaan penggantian local vs global
Terdapat dua pendekatan untuk
mengganti page, yaitu:
- Penggantian local 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 suatu proses dapat dilayani dengan
memindahkan page yang dimiliki proses lain.
-
Frekuensi page fault
Frekuensi terjadinya page fault
dapat dikendalikan dengan algoritma PFF (page fault frequency algorithm).
Dengan PFF harus didefinisikan ambang batas dan ambang bawah frekuensi page
fault. Bila proses melampaui ambang batas frekuensi page fault maka
dialokasikan lebih banyak page memory fisik untuk prose situ. Apabila proses
telah mancapai amabang bawah frekuensi page fault maka alokasi page dihentikan.
-
Ukuran page
Ukuran page ditentukan oleh
perancang system operasi.. ukuran page harus ditentukan agar system berperilaku
optimal. Beberapa pertimbangan, antara lain:
- Ukuran page lebih kecil berarti jumlah page dan page
frame lebih banyak sehingga memerlukan table page lebih besar.
- Ukuran page besar, berarti sejumlah informasi yang
tidak diacu juga dimasukkan ke memory utama sehingga terjadi fragmentasi
internal yang tinggi.
- Transfer
masukan/ keluaran relative sangat mengkonsumsi waktu sehingga perlu
meminimumkan Transfer masukan/ keluaran saat program berjalan.
- Program
cenderung mengikuti prinsip lokalitas yang cenderun berukuran kecil.
2. Jelaskan
Latar belakang minculnya Sistem Paging dalam pengelolaan memori !
Masalah muncul
ketika adanya proses yang membutuhkan resource yang lebih besar dari resource
memori utama yang tersedia.
Nah masalah ini
salah satunya dapat diatasi dengan memori maya (virtual memory). Konsepnya
adalah proses dipecah-pecah menjadi bagian-bagian yang dapat dimuat ke memori
yang disebut overlay. Overlay yang belum diperlukan akan disimpan di disk,
overlay hanya dimasukkan ke memori begitu diperlukan. Nah, konsep ini salah
satunya dapat dilakukan dengan sistem paging.
3. Jelaskan
perbedaan konsep memori maya dengan overlay!
- 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.
- Konsep Memori Maya (virtual Memory)
- 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.
4. Jelaskan perbedaan virtual
address dengan real address
Alamat Maya (Virtual Address):
Alamat yang dihasilkan dengan
perhitungan menggunakan
index register, base register, segment register dan sebagainya.
Alamat Nyata (Real Address):
index register, base register, segment register dan sebagainya.
Alamat Nyata (Real Address):
Alamat yang
tersedia di memori utama fisik.
5. Jelaskan
fungsi dari Memory Management Unit (MMU)
memory
management unit adalah sebuah perangkat keras yang memetakan alamat virtual ke
alamat fisik. Pada skema MMU, nilai register relokasi ditambahkan ke setiap
alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori.
Chip atau
kumpulan chip yang memetakan alamat maya ke alamat fisik.
-
Pada komputer tanpa memory maya, alamat langsung diletakkan ke bus dan
menyebabkan word memori fisik alamat itu dibaca atau ditulis.
-
Pada komputer dengan memori maya, alamat tidak diletakkan ke bus secara
langsung, tapi lewat MMU yang kemudian memetakan alamat maya ke alamat memori
fisik.
Pada pemrosesan
modern, MMU sudah menyatu di pemroses (on-chip).
6. Jelaskan
keterkaitan antara ruang alamat maya dengan alamat fisik !
Nomor page maya
(alamat maya) digunakan sebagai indek ke tabel page untuk menemukan isian page
maya. Dari isian tabel page dapat diketahui apakah page telah dipetakan ke
memori fisik (dengan memeriksa present/absent bit). Bila alamat terdapat di
memori fisik, maka isian tabel page memuat nomor page frame. Nomor page frame
di tabel page dikopi sebagai bit bit berorder tinggi di register alamat fisik
dan ditambah offset alamat maya Bila alamat tidak terdapat di memori fisik,
maka MMU akan menerbitkan page fault. MMU mengkopikan nomor page frame di isian
tabel page dengan index nomor page ke register alamat fisik dan menambah dengan
offset alamat maya
SISTEM PAGING
- DEFINISI SISTEM PAGING
Sistem Paging
Adalah sistem manajemen pada sistem operasi dalam mengatur program yang sedang
berjalan. Program yang dijalankan harus dimuat di emeori utama. Masalah muncul
ketika program lebih besar dibanding di memori utama yang tersedia. Terdapat dua solusi masalah ini,yaitu :
- Overlay
Overlay adalah program dipecah
menjadi bagian-bagian yang dapat dimuat di memori. Overlay yang belum
diperlukan (tidak sedang dieksekusi) disimpan di disk, overlay ini dimuatkan ke
memori begitu diperlukan (kode overlay akan dieksekusi).
- Memori Maya (Virtual Memory)
Memori maya
adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia. Memori maya dapat dilakukan pada sistem multiprogramming.
- HAL-HAL
YANG BERKAITAN DENGAN SISTEM PAGING
Istilah-istilah pada Sistem Paging :
- Alamat Maya (Virtula Address)
Adalah alamat yang dihasilkan
perhitungan menggunakan index register, base register,segment regoster dan
sebagainya.
- Alamat nyata (real Address)
Alamat maya
adalah alamat utama di memori fisik.
- Page
Page adalah unnit terkecil virtula
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

Tidak ada komentar:
Posting Komentar