Kamis, 05 September 2013

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:
- 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)
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:
  1. 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.
  2. 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 :
  1. jika terlalu kecil tidak akan mewakilkan seluruh lokalitas.
  2. jika terlalu besar menyebabkan overlap.
  3. 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)
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):
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
  1. 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 :
  1. 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).
  1. Memori Maya (Virtual Memory)
Memori maya adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia. Memori maya dapat dilakukan pada sistem multiprogramming.

  1. HAL-HAL YANG BERKAITAN DENGAN SISTEM PAGING
Istilah-istilah pada Sistem Paging :
  1. Alamat Maya (Virtula Address)
Adalah alamat yang dihasilkan perhitungan menggunakan index register, base register,segment regoster dan sebagainya.
  1. Alamat nyata (real Address)
Alamat maya adalah alamat utama di memori fisik.
  1. Page
Page adalah unnit terkecil virtula address space.
  1. 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.
  1. Page fault
Page fault adalah exception untuk permintaan alokasi page ke memori. Dalam konteks memori maya, page fault sering juga disingkat fault.
  1. 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 ).
  1. 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.

  1. 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