Implementasi Sistem Paging

Implementasi Sistem Paging
  • Implementasi Sistem Paging

  • Views 19

  • Downloads 0

  • File size 408KB
  • Author/Uploader: Rendi Gempuh

LAPORAN SISTEM OPRASI PAGING DALAM MEMORI VIRTUAL

DISUSUN OLEH : GANDARA ISMAIL SAFEI RENDI NURDIAN

TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI GARUT 2012

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. Mesin Abstrak Eksekusi Program Setiap proses di memori maya menghasilkan barisan pengacuan memori saat berjalan. Pengacuan memori berkorespondensi dengan satu page. Secara konseptual, pengaksesan memori dicirikan senarai (berurutan) nomor page. Senarai ini disebut string pengacuan (reference string). Pemodelan komputer dengan satu proses, yaitu mesin mempunyai satu string pengacuan deterministik tunggal. Pada komputer banyak proses, harus diperhatikan dampak interleaving string acuan disebabkan multiprogramming. Pembahasan ini hanya pengenalan, model untuk komputer dengan banyak proses tidak dibahas. Sistem paging dicirikan tiga hal, yaitu: 

String pengacuan proses yang sedang dieksekusi.

Algoritma penggantian page yang digunakan.

jumlah page frame yang tersedia (pada memori).

Terdapat mesin abstrak interpreter dengan properti berikut: 1. Terdapat array internal, M, menyimpan status memori. Array mempunyai n elemen seperti proses mempunyai npage memori maya. 2. Array M terbagi dua, yaitu: 1. Bagian atas/puncak, yaitu m isian, page di memori utama. 2. Bagian bawah/dasar berisi n-m isian, yaitu semua page yang pernah diacu sekali tapi telah dipindahkan dan tidak di memori utama. 3. Mulanya array M berupa himpunan kosong karena belum ada page yang telah diacu dan tak ada page yang berada di memori.

Begitu eksekusi dimulai, proses mulai mengeluarkan page sesuai string pengacuan, satu page pada satu saat. Terhadap page itu, interpreter memeriksa apakah page berada di memori (yaitu merupakan isian bagian puncak array M). Jika page tidak ada di memori, dan jika terdapat slot kosong di memori (yaitu bagian puncak kurang dari m), maka page dimuat dan dimasukkan ke puncak M. Situasi ini hanya muncul di awal eksekusi. Jika memori telah penuh (yaitu bagian array M telah terisi m), algoritma penggantian dijalankan untuk mengganti page dari memori utama. Pada model ini, maka satu page pindah dari bagian puncak ke bagian dasar, serta page yang diperlukan dimasukkan ke puncak. Contoh :  String pengacuan adalah 0 2 1 3 5 4 6 3 7 4 7 3 3 5 5 3 1 1 1 7 2 3 4 1.  Ruang alamat maya adalah 8 page dengan memori fisik 8 page.  Algoritma penggantian dengan LRU.

Model ini mempunyai properti, yaitu ketika page diacu, selalu dipindahkan ke isian puncak dari array M. Jika page yang diacu ada di M, semua page di atasnya dipindahkan satu posisi ke bawah. Transisi dari dalam kotak ke luar berkorespondensi dengan page yang dipindahkan dari memori. Page-page yang di bawah page yang diacu, tidak dipindahkan. LRU mempunyai properti ini, sedang FIFO tidak memiliki properti ini. Algoritmaalgoritma yang mempunyai properti ini disebut algoritma stack (stack algorithms).

Masalah-masalah Utama pada Sistem Paging Masalah-masalah Utama pada Sistem Paging adalah working set model, kebijaksanaan penggantian lokal vs global, dan frekuensi page fault, serta ukuran page.

a.Working Set Model a.1.Prinsip Lokalitas Prinsip lokalitas adalah proses-proses cenderung mengacu pada penyimpan secara tak seragam. Terdapat dua jenis lokalitas yaitu: 

Lokalitas berdasar waktu (temporal locality).

Lokalitas menurut ruang (spatial locality).

Prinsip lokalitas diperoleh dari observasi, bukan kajian teoritis. Prinsip lokalitas menunjukkan kecenderungan kelakuan lingkungan sistem bukan tepat eksak. Gambar 4-14 menunjukkan pola pengacuan selama eksekusi yang mendukung adanya prinsip lokalitas. Bagian gelap menunjukkan pengacuan dilakukan di sekitar lokalitas yang saling berdekatan.

Lokalitas berdasar waktu adalah, proses cenderung terkonsentrasi acuannya kesatu interval waktu eksekusi yang dekat. Berarti lokasi-lokasi penyimpanan (kode biner program) paling mutakhir yang diacu cenderung akan diacu kembali di masa datang. Observasi berikut mendukung prinsip lokalitas, antara lain: 

Looping.

Subrutin.

Stack, dan

Variabel-variabel yang digunakan untuk iterasi dan penjumlahan total.

Lokalitas berdasar ruang adalah proses cenderung terkonsentrasi acuannya kesatu kelompok data yang berdekatan. Berarti pengacuan-pengacuan (untuk data) cenderung mengelompok ke range lokasi tertentu. Begitu suatu lokasi diacu, cenderung akan mengacu lokasi-lokasi didekatnya. Observasi berikut mendukung prinsip ini, antara lain: 

Traversal pada array.

Eksekusi kode yang sekuen.

Kecenderungan pemrogram menempatkan variabel yang terkait saling berdekatan.

a.2.Working Set Model 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 thrashing, yaitu setelah hanya beberapa instruksi terjadi page fault. Jika himpunan kerja terdapat di memori, proses akan berjalan tanpa menyebabkan banyak page fault sampai proses berpindah ke fase eksekusi yang lain. Idealnya himpunan kerja program adalah kumpulan page terdiri, dan page-page program yang terlokalisasi pada waktu itu. Program berpindah dari satu lokalitas ke lokalitas lain saat dieksekusi, begitu juga page-page himpunan kerja. Karena masa depan tidak diketahui, himpunan kerja program didefinisikan menjadi himpunan page yang diacu program selama satu interval waktu terakhir. Himpunan kerja dari program pada satu waktu pada pengacuan memori ke-t adalah W(t,θ)= {I ε N page i muncul pada rt-θ +1, …,rt} dimana rt menyatakan pengacuan memori saat t. W(t,θ) himpunan page yang diacu selama θ pengacuan memori terakhir. Dengan kata lain, himpunan kerja adalah himpunan page yang diacu dalam jendela ukuran θ yang dibentuk menurut waktu. Begitu program dieksekusi, ukuran himpunan kerja dan identitas page beragam menurut waktu.

Prinsip yang digunakan adalah melacak dan menjamin himpunan kerja terdapat di memori sebelum proses dijalankan. Cara ini mengurangi terjadinya page fault. Prinsipprinsip himpunan kerja adalah program seharusnya dijalankan jika dan hanya jika himpunan kerja berada di memori, dan page tidak boleh dipindahkan dari memori, jika page anggota himpunan kerja dari program yang running. Berdasarkan hal ini terdapat dua teknik untuk memuatkan page, yaitu Prepaging, dan Demand paging. Prepaging merupakan teknik memuatkan page-page lebih dulu sebelum proses berjalan. Sementara Demand paging adalah teknik yang segera memuatkan page begitu

page dibutuhkan. Model himpunan kerja menghendaki digunakan prepaging. Untuk implementasi model himpunan kerja, sistem operasi perlu mencatat page-page yang termasuk himpunan kerja. Salah satu cara memonitor informasi ini adalah dengan menggunakan algoritma pencatatan umur page. Page berisi bit-bit penghitung bernilai f bila termasuk himpunan kerja. Jika page tidak diacu selama n clock tick, maka page dibuang dari himpunan kerja. Parameter n ditentukan secara eksperimen untuk masing-masing sistem. Kinerja sistem biasanya tidak sensitif terhadap nilai eksak n. Parameter penting implementasi prinsip himpunan kerja adalah ukuran windows q. Jika terlalu pendek, himpunan kerja tidak sepenuhnya memuat lokalitas saat itu sehingga menyebabkan peningkatan page fault. Jika ukuran terlalu panjang, himpunan kerja merentang lebih dari satu lokalitas dan memuat page frame yang tak diperlukan lebih banyak.

b.Kebijaksanaan Penggantian Lokal vs Global Terdapat 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. Dengan penggantian global, page fault satu proses dapat dilayani dengan memindahkan page yang dimiliki proses lain.

Penggantian lokal cenderung melokalisasi dampak alokasi ke masing-masing proses. Penggantian global meningkatkan derajat kebergantungan antara strategi penggantian dan alokasi. Page-page yang dialokasikan ke satu proses oleh algoritma alokasi dapat diambil alih oleh proses lain, disebabkan keputusan algoritma penggantian global. Penggantian global berurusan dengan seluruh state sistem, tidak hanya kelakuan masing-masing proses. Penggantian global adalah lebih baik.

c.Frekuensi Page fault

Untuk satu kelas besar algoritma pengantian page, diketahui frekuensi page fault menurun begitu page memori fisik lebih banyak. Anomali Belady hanya terjadi pada algoritma penggantian FIFO. Frekuensi terjadinya page fault dapat dikendalikan dengan algoritma PFF (Page Fault Frequency Algorithm). Dengan PFF harus didefinisikan ambang atas dan ambang bawah frekuensi page fault. Bila proses melampaui ambang atas frekuensi page fault, maka dlalokasikan page memori fisik untuk proses itu lebih banyak. Bila proses telah mencapai ambang bawah frekuensi page fault, maka alokasi page dihentikan. Parameter PFF adalah P yaitu jumlah (frekuensi) page fault per T, didefinisikan P = 1 / T dimana T adalah waktu fault kritis P diukur dalam jumlah page fault per milidetik. Algoritma PFF diimplementasikan sebagai berikut : a. Sistem operasi mendefinisikan frekuensi page fault kritis sistem (atau per proses). b. Sistem operasi mengukur waktu (proses) maya dan menyimpan waktu diPCB proses. c. Ketika page fault terjadi, sistem operasi bertindak sebagai berikut: 

Jika page fault terakhir terjadi kurang dari T = 1 /P ms detik yang lalu, proses beroperasi di atas ambang, maka page frame baru ditambahkan.

Selain itu, berarti proses beroperasi di bawah ambang PFF, maka page frame, page bit R-0, dan W=0 dibebaskan untuk alokasi page baru proses lain.

Dengan algoritma ini dapat dikendalikan frekuensi page fault masing-masing proses di sistem. Untuk mendukung algoritma ini diperlukan kebijaksanaan penggantian global karena penyeimbangan dilakukan untuk seluruh proses di sistem itu, bukan hanya untuk masing-masing proses individu.

d.Ukuran Page Ukuran page ditentukan perancang sistem operasi. Ukuran page harus ditentukan agar sistem berkelakuan optimal. Penentuan ukuran page memerlukan penilaian dan

pemahaman mendalam perangkat keras, perangkat lunak, dan aplikasi sistem. Beberapa pertimbangan, antara lain: 

Ukuran page lebih kecil berarti jumlah page dan page frame lebih banyak, sehingga memerlukan label page lebih besar.

Ukuran page besar, berarti sejumlah informasi yang tidak diacu juga dimasukkan ke memori utama, sehingga terjadi fragmentasi internal yang tinggi.

Transfer masukan/keluaran relatif sangat mengkonsumsi waktu, sehingga perlu meminimumkan jumlah transfer masukan/keluaran saat program berjalan.

Program cenderung mengikuti prinsip lokalitas yang cenderung berukuran kecil.

Masalah-Masalah Implementasi Sistem Paging Perancang sistem paging berurusan beragam masalah implementasi sistem paging, antara lain backup instruksi yang terakhir dijalankan sebelum terjadi page fault, buffer perangkat masukan/keluaran (penguncian page di memori), page yang dipakai bersama, backing store, dan paging daemon, serta penanganan page fault (page fault handling). a.Backup Instruksi 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. Kesulitan timbul karena nilai program counter saat terjadi page fault bergantung pada operan yang menyebabkan fault dan mikrokode pemroses. Masalah memburuk pada instruksi di mode autoincrement, sangat bergantung pada rincian-rincian mikrokode, yaitu: 

Jika increment scsungguhnya dilakukan sebelum pengacuan memori, maka sistem operasi harus decrement register secara perangkat lunak sebelum mengulangi instruksi yang menyebabkan page fault.

Jika increment dilakukan setelah pengacuan memori, maka tidak perlu dilakukan decrement register oleh sistem operasi.

Perancang pemroses menyediakan solusi untuk masalah ini. Beragam cara diterapkan, tergantung mesin yang digunakan. Beberapa mesin yang menyediakan solusi antara lain POP-11/45, VAX, Motorola 68010, dan lain-lain.

b.Buffer I/O (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.

Masalah diatasi dengan dua alternatif yaitu: o

Penguncian buffer perangkat masukan/keluaran sehingga tidak menjadi sasaran penggantian.

o

Buffer perangkat masukan/keluaran ditempatkan di kernel dan dikopi semua data ke page-page proses pemakai.

c.Pemakaian Page Bersama Bila beberapa pemakai menggunakan program yang sama, maka terjadi perangkapan page (page yang sama terdapat di banyak bagian di memori). Lebih efisien bila menggunakan page secara bersama, menghindari keharusan mempunyai kopiankopian page yang sama di saat yang sama. Masalah yang muncul adalah tidak semua page dapat dipakai bersama (Kode biner program (program text) adalah shareable (dapat dipakai bersama) sedang data tidak shareable), dan akhir suatu proses (Masalah berikutnya adaiah bila salah satu proses hendak membuangpage dari memori karena proses berakhir). Solusi untuk kasus ini adalah saat proses berakhir, sistem operasi memeriksa apakah page-page masih digunakan proses-proses lain. Bila masih dipakai proses lain, maka sistem operasi tidak membebaskan page-page tersebut dari memori. Pencarian pada tabel-tabel page untuk mengetahui apakah page masih digunakan sangat mahal. Untuk itu diperlukan struktur data khusus, guna menyediakan kemampuan pemakaian page-page secara bersama. Bila tidak dipakai proses lain, maka page-page dapat didealokasikan.

d.Backing Store Masalah lain adalah menyangkut dimana diletakkan page yang keluar dari memori utama. Terdapat beragam algoritma untuk mengatasi hal ini, yaitu menggunakan ruang penggantian khusus, atau dialokasikan berdasar kebutuhan.

Menggunakan Ruang Penggantian Khusus merupakan algoritma paling sederhana. Sistem operasi menyediakan ruang penggantian khusus di disk. Ketika sistem di-boot, ruang ini kosong dan di representasikan di memori sebagai satu isian tunggal. Ketika proses pertama dimulai, potongan daerah swap seukuran proses disiapkan, dan ruang yang tersisa dikurangi ukurannya. Begitu proses-proses baru dimulai, diberi potongan-potongan daerah swap seukuran core imagenya dari ruang yang tersisa. Begitu proses berakhir, ruang disk-nya dibebaskan. Daerah swap dikelola sebagai senarai potongan-potongan bebas. Proses dapat meningkat ukurannya sehingga ruang di disk yang dialokasikan di awal tidak dapat memuatnya. Proses lebih baik menyimpan daerah swap terpisah untuk teks, data, dan stack serta memungkinkan masing-masing daerah berisi lebih dari satu potongan. Dialokasikan Berdasar Kebutuhan merupakan pendekatan lain yaitu dengan tidak mengalokasikan sesuatupun sebelumnya, dan mengaloksikan ruang disk untuk page yang diganti, serta dealokasikan ruang itu ketika page dimasukan kembali ke memori utama. Keunggulannya adalah proses-proses di memori tidak terikat ketat dengan suatu ruang swap. Sedangkan kelemahannya adalah, alamat disk perlu disimpan sehingga mengetahui letak lokasi page yang diganti, atau yang disimpan di disk.

e.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 dimasukkan, page lama harus ditulis lebih dulu ke disk. Untuk menjamin suplai page frame yang banyak, sistem paging biasanya mempunyai proses background, disebut paging daemon. Paging daemon sleep

untuk kebanyakan waktu, dibangunkan secara periodik

untuk menginspeksi keadaan memori. Jika terlalu sedikii page frame bebas, paging daemon mulai memilih page-page untuk diusir berdasarkan algoritma penggantian page yang digunakan. Pengusiran tidak berarti dibuang lenyap melainkan dimasukan pool page frame bebas yang dikelola paging daemons. Isian-isian page sebelumnya diingat. Dalam kejadian page yang telah diusir diperlukan sebelum frame itu ditimpa, page dapat diklaim kembali dengan memindahkan dari pool page frame bebas. Teknik ini menghemat penulisan dan pembacaan dari disk.

Paging daemon yang menyimpan suplai page frame menghasilkan kinerja lebih baik dibandingkan dengan menggunakan semua memori, kemudian mencoba menemukan frame saat itu juga.

f.Penanganan Page Fault (Page Fault Handling) Implementasi sistem paging harus mengatasi rincian-rincian aksi yang harus dilakukan saat terjadi page fault. Rincian-rincian saat terjadi page fault adalah sebagai berikut: 1. Perangkat keras melakukan trap ke kernel untuk menyimpan program counter di stack. Pada kebanyakan mesin, informasi mengenai keadaan instruksi saat itu disimpan di register-register pemroses secara khusus. 2. Satu rutin assembly dimulai untuk menyimpan register-register umum dan informasiinformasi lain yang dapat hilang. Rutin ini memanggil sistem operasi. 3. Sistem operasi mengetahui telah terjadi page fault dan mencoba menemukan virtual page yang diperiukan. Aksi ini sering dibantu perangkat keras dengan menyediakan register-register berisi informasi yang diperlukan. Jika tidak ada bantuan perangkat keras, sistem operasi harus mengambil program counter, mengambil instruksi, dan mem-parse secara perangkat lunak untuk mendapat gambaran apa yang terjadi saat fault. 4. Begitu alamat maya yang menyebabkan fault diketahui, sistem operasi memeriksa apakah alamat valid, dan konsisten terhadap proteksi.  Jika tidak konsisten dengan proteksi, proses yang menyebabkan fault dikirimi sinyal atau dibunuh.  Jika alamat valid dan tak terjadi protection fault, sistem berusaha memperoleh page frame dari senarai frame bebas. Jika tak ada frame bebas, algoritma penggantian page dijalankan. 5. Jika page frame telah dimodifikasi, page dijadwalkan untuk transfer ke disk dan terjadi context switch, menunda proses fault dan membiarkan/menyilahkan proses lain berjalan sampai transfer disk selesai. Pada suatu kejadian, frame ditandai sedang sibuk untuk mencegahnya digunakan untuk maksud lain. 6. Begitu page frame bersih, sistem operasi melihat alamat disk dimana page diperlukan dan dijadwalkan operasi disk untuk membawanya sebagai frame yang disediakan. Sambil page dimuatkan, proses fault masih ditunda dan proses pemakai yang lain dijalankan, jika proses itu tersedia.

7. Ketika interupsi disk mengindikasikan page telah tiba, tabel-tabel page diperbarui untuk merefleksikan posisinya dan frame ditandai sebagai dalam keadaan normal. 8. Instruksi fault di-back up ke keadaan ketika dimulai dan program counter diriset untuk menunjuk ke instruksi itu. 9. Proses fault dijadwalkan dan sistem operasi mengembalikan ke rutin bahasa assembly yang memanggilnya. 10.

Rutin ini menyimpan kembali register-register dan informasi yang dapat hilang lainnya, serta mengembalikan ke ruang pemakai untuk melanjutkan eksekusi, seperti bila tak terjadi fault.

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 : 1. 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). 2. 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. 3. 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. Mekanisme penggunaan associative register (Gambar 7-15) adalah sebagai berikut :  Associative register berisi hanya beberapa entry tabel page (sampai dengan ukuran maksimum).  Jika memori logika dibangkitkan oleh CPU, nomor page berupa sekumpulan associative register yang berisi nomor page dan nomor frame yang berkorespondensi.

    

Jika nomor page ditemukan pada associative register, nomor frame segera tersedia dan digunakan untuk mengakses memori. Sebaliknya, jika nomor page tidak ditemukan pada associative register, acuan memori ke tabel page harus dibuat. Jika nomor frame tersedia, maka dapat menggunakannya untuk mengakses ke memori yang tepat. Kemudian ditambahkan nomor page dan nomor frame ke associative register sehingga akan mudah ditemukan pada acuan berikutnya. Setiap kali tabel page baru dipilih, TLB harus dihapus untuk menjamin eksekusi proses berikutnya tidak menggunakan informasi translasi yang salah.