AOK Swapping Partitioning Paging

22
Tugas Mata Kuliah Analisis Dan Organisasi Komputer I Disusun Oleh : Nama : Riski Yudha Prasetya NIM : 123100043 Dosen: Hidayatulah Himawan, ST.,MT JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UPN “VETERAN” YOGYAKARTA 2011/2012

Transcript of AOK Swapping Partitioning Paging

Page 1: AOK Swapping Partitioning Paging

Tugas Mata KuliahAnalisis Dan Organisasi Komputer I

Disusun Oleh :

Nama : Riski Yudha Prasetya

NIM : 123100043

Dosen: Hidayatulah Himawan, ST.,MT

JURUSAN TEKNIK INFORMATIKAFAKULTAS TEKNOLOGI INDUSTRI

UPN “VETERAN” YOGYAKARTA2011/2012

Page 2: AOK Swapping Partitioning Paging

Swapping

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

MonitorFence AddressSwap - In

Swap - Out

Page 3: AOK Swapping Partitioning Paging

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

Swap-Out

Swap-In

frame numberpage number Frame = Page = 2n = 25

Logical Memory Page Table Phiscal Memory

32

5

4

3

2

1

0

2

3

1

4

5

6

1

2

3

4

5

0

Page 4: AOK Swapping Partitioning Paging

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

Page 5: AOK Swapping Partitioning Paging

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.

Page 6: AOK Swapping Partitioning Paging

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

Page 7: AOK Swapping Partitioning Paging

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.

Page 8: AOK Swapping Partitioning Paging

Kelemahan partisi dimanis adalah dapat terjadi lubang-lubang kecil

memori di antara partisi-partisi yang dipakai merumitkan alokasi dan

dealokasi memori.

Page 9: AOK Swapping Partitioning Paging

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?

Page 10: AOK Swapping Partitioning Paging

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.

Page 11: AOK Swapping Partitioning Paging

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

Page 12: AOK Swapping Partitioning Paging

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 :

Page 13: AOK Swapping Partitioning Paging

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

Page 14: AOK Swapping Partitioning Paging

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.

Page 15: AOK Swapping Partitioning Paging

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

Page 16: AOK Swapping Partitioning Paging

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.

Page 17: AOK Swapping Partitioning Paging

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

Page 18: AOK Swapping Partitioning Paging

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

Page 19: AOK Swapping Partitioning Paging

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.

Page 20: AOK Swapping Partitioning Paging

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

Page 21: AOK Swapping Partitioning Paging

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.

Page 22: AOK Swapping Partitioning Paging

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.