Anda di halaman 1dari 52

Sistem Paging dan Segmentasi

Sistem Paging
Sistem paging adalah suatu sistem manajemen pada sistem operasi yang mengatur program yang
sedang berjalan. Metode dasar dari paging adalah dengan memecah memori fisik menjadi blok-blok yang
berukuran tertentu yang disebut dengan frame dan memecah memori logika menjadi bok-blok yang
berukuran sama dengan frame yang disebut page. Untuk mengatasi apabila suatu program lebih besar
dibandingkan dengan memori utama adalah dengan konsep overlay dan konsep memori maya(virtual
memori):

# Konsep Overlay,
yaitu dimana program yang di jalankan dipecah menjadi beberapa bagian yang dapat dimuat oleh
memory (overlay), sedangkan yang belum dieksekusi akan disimpan di dalam disk, yang nantinya akan
dimuat ke memori begitu diperlukan dalam ekekusi.

# Konsep Memori Maya


yaitu kemampuan untuk mengalamati ruang memori melebihi memori utama yang tersedia.

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.

Sekarang apa bedanya dari table page:

# Perbedaannya adalah bahwa paging itu memecah memori fisik menjadi blok-blok yang
berukuran tertentu di sebut frame, dan memecah memori logika menjadi blok-blok yang disebut
page, seperti di jelaskan dalam point pengertian di atas, Jadi karena ada program yang melebihi
memori utama, maka dengan paging ini, dapat di pecah-pecah menjadi beberapa bagian,
sehingga program dapat di eksekusi.
# Sedangkan tabel page digunakan untuk menerjemahkan memori logika ke memori fisik, dengan
perantara MMU (Memory Management Unit), dan pengeksekusian proses akan mencari memori
berdasarkan table page ini. Sehingga pada waktu memori logika di pecah-pecah maka dengan tabel
page ini akan diterjemahkan dan eksekusi dengan menggunakan tabel tersebut.

Segmentasi

Segmentasi merupakan skema manajemen memori yang mendukung cara pandang seorang
programmer terhadap memori. Ruang alamat logika merupakan sekumpulan dari segmen-
segmen.Masing-masing segment mempunyai panjang dan nama. Alamat diartikan sebagai nama
segmen dan offset dalam suatu segmen. Jadi jika seorang pengguna ingin menunjuk sebuah alamat
dapat dilakukan dengan menunjuk nama segmen dan offsetnya. Untuk lebih
menyederhanakan implementasi, segmen-segmen diberi nomor yang digunakan sebagai pengganti
nama segment. Sehingga, alamat logika terdiri dari dua tupple: [segment-number, offset].

Segmentasi Perangkat Keras


Meskipun seorang pengguna dapat memandang suatu objek dalam suatu program sebagai
alamat berdimensi dua, memori fisik yang sebenarnya tentu saja masih satu dimensi barisan byte.
Jadi kita harus bisa mendefinisikan pemetaan dari dua dimensi alamat yang didefinisikan oleh
pengguna ke satu dimensi alamat fisik. Pemetaan ini disebut sebagai sebuah segment table.
Masing-masing masukan dari mempunyai segment base dan segment limit. Segment base
merupakan alamat fisik dan segmen limit diartikan sebagai panjang dari segmen.

Setiap alamat dibangkitkan oleh CPU dengan membagi ke dalam 2 bagian yaitu :
 Page number (p) digunakan sebagai indeks ke dalam table page (page table). Page table berisi
alamat basis dari setiap page pada memori fisik.
 Page offset (d) mengkombinasikan alamat basis dengan page offset untuk mendefinisikan alamat
memori fisik yang dikirim ke unit memori.

Sebuah program adalah kumpulan segmen. Suatu segmen adalah unit logika seperti program utama,
prosedur, fungsi, metode, obyek, variabel lokal, variabel global, blok umum, stack, tabel simbol, array dan
lain-lain. Pandangan user terhadap sistem segmentasi dapat dilihat pada Gambar Arsitektur Segmentasi

Alamat logika terdiri dari dua bagian yaitu nomor segmen (s) dan offset (d) yang dituliskan dengan(nomor
segmen, offset)

Pemetaan alamat logika ke alamat fisik menggunakan tabel segmen (segment table), terdiri dari :
 Segmen basis (base) berisi alamat fisik awal
 Segmen limit merupakan panjang segmen. Seperti tabel page, tabel segmen dapat berupa
register atau memori berkecepatan tinggi. Pada program yang berisi sejumlah segmen yang besar, maka
harus menyimpan tabel page di memori.
 Segment-table base register (STBR) digunakan untuk menyimpan alamat yang menunjuk ke
segment table.
 Segment-table length register (STLR) digunakan untuk menyimpan nilai jumlah segmen yang
digunakan program.
 Untuk alamat logika (s, d), pertama diperiksa apakah segment number s legal (s < STLR),
kemudian tambahkan segment number ke STBR, alamat hasil (STBR + s) ke memori dari segment table.
Perangkat keras yang digunakan pada sistem segmentasi. Pemetaan dari alamat logika ke alamat fisik
membutuhkan 2 acuan memori untuk setiap alamat logika. Hal ini akan menurunkan kecepatan sistem
dengan faktor 2. Solusi standard yang digunakan adalah dengan cache (atau associative register) untuk
menyimpan entri tabel segmen yang sering digunakan. Pemetaan alamat logika ke alamat fisik dengan
menggunakan tabel segmen . Misalnya alamat logika dengan nomor segment 0 offset 88 akan dipetakan
ke alamat fisik 1400 + 88 = 1488 karena offset < limit (88 < 1000). Alamat logika dengan nomor segment
1 offset 412 akan terjadi error karena offset > limit (412 > 400). Alamat logika dengan nomor segment 2
offset 320 akan dipetakan ke alamat fisik 4300 + 320 = 4620 karena offset < limit (320 < 400).

Dimulai dengan model 80386, microprocessor Intel menampilkan translasi alamat dengan 2 cara
berbeda, yang disebut real mode dan protected mode. Real mode untuk memelihara kompatibilitas
prosesor dengan model yang lebih lama dan untuk OS agar dapat melakukan bootstrap.

• Segmentation Registers
Logical address terdiri atas dua bagian : segment identifier dan sebuah offset yang menunjukkan alamat
yang bersangkutan pada segment. Segment identifier adalah sebuah 16-bit field yang disebut segment
selector. Untuk mempermudah memperoleh segment selectors dengan cepat, prosesor menyediakan
segmentation register yang tujuannya hanya untuk memegang segment selectors. Ada enam
segmentation register : cs, ss, ds, es, fs, dan gs.

• Segment Descriptor

Setiap segment direpresentasikan dengan 8-byte segment descriptor yang menggambarkan karakteristik
segment. Segment descriptor disimpan pada Global Descriptor Table(GDT) atau pada Local Descriptor
Table(LDT).

• Segment Selectors

Untuk mempercepat pengubahan dari logical address ke linear address, Intel menyediakan
nonprogrammable register tambahan untuk setiap dari 6 programmable segmentation register. Setiap
segment selector di-load pada sebuah segmentation register, segment descriptor yang bersangkutan di-
load dari memori ke nonprogrammable CPU register yang bersesuaian. Jadi, pengubahan dari logical
address ke linear address dilakukan tanpa mengakses GDT atau LDT yang berada pada memori utama.
Akses ke GDT atau LDT hanya diperlukan bila isi dari segmentation register berubah. Setiap segment
selector mengandung hal-hal berikut :

- Sebuah index 13-bit yang menunjukkan masukan segment descriptor yang berhubungan yang terdapat
pada GDT atau LDT.

- Sebuah TI (tabe indicator) flag yang menunjukkan apakah segment descriptor terdapat pada GDt (Ti =
0) atau pada LDT (TI = 1).

- Sebuah RPl (requestor privilege level) 2-bit field, yang membuat current privilege level cPu tepat saat
segment selector yang berhubungan di-load ke register cs.

• Segmentation Unit

Segmentatipn Unit melakukan operasi-operasi berikut :

- Memeriksa TI dari segment selector, untuk memutuskan apakah descriptor table berada pada segment
descriptor.

- Menghitung alamat dari segment descriptor dari index filed segment selector.

- Menambahkan ke Base field dari segment descriptor, offset dari logical address, sehingga diperoleh
linear address.

Perbedaan Segmentasi dan Paging

Ada beberapa perbedaan antara Segmentasi dan Paging diantaranya adalah:


1. Segmentasi melibatkan programer (programer perlu tahu teknik yang digunakan),
sedangkan dengan paging, programer tidak perlu tahu teknik yang digunakan.
2. Pada segmentasi kompilasi dilakukan secara terpisah sedangkan pada paging,
kompilasinya tidak terpisah.
3. Pada segmentasi proteksinya terpisah sedangkan pada paging proteksinya tidak
terpisah.
4. Pada segmentasi ada shared code sedangkan pada paging tidak ada shared code.
5. Pada segmentasi terdapat banyak ruang alamat linier sedangkan pada paging hanya
terdapat satu ruang alamat linier.
6. Pada segmentasi prosedur dan data dapat dibedakan dan diproteksi terpisah sedangkan
pada paging prosedur dan data tidak dapat dibedakan dan diproteksi terpisah.
7. Pada segmentasi pengubahan ukuran tabel dapat dilakukan dengan mudah sedangkan
pada Paging pengubahan ukuran tabel tidak dapat dilakukan dengan mudah.
8. Segmentasi digunakan untuk mengizinkan program dan data dapat dipecahkan jadi
ruang alamat mandiri dan juga untuk mendukung sharing dan proteksi sedangkan paging
digunakan untuk mendapatkan ruang alamat linier yang besar tanpa perlu membeli memori fisik
lebih.

Sumber:
Bambang [2002] Bambang Hariyanto,. Ir. 2002. Sistem Operasi. Edisi kedua. Informatika. Bandung

http://herysusanto30.blogspot.com/2012/12/sistemfragmentasi-penyimpanandi.html (20 juni 2013)


“SISTEM PAGING DAN SISTEM SEGMENTASI”

MATAKULIAH SISTEM OPERASI II


Dosen Pengampu : Sri Tomo, ST., M.Kom.

Disusun Oleh:
IRWAN MAULANA 12.5.10205
ADI CAHYADI 12.5.10203
BAYU KURNIAWAN 12.5.10126
INDRI IRNAWATI 12.5.10221
NILNA AMALIYA FAJRIA 12.5.10216

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER


SINAR NUSANTARA SURAKARTA
2013

Memori maya
Program yang dijalankan harus dimuat di memori utama, masalah muncul ketika
program lebih besar dibanding memori utama yang tersedia. Masalahnya adalah:
1. Overlay
Sebuah proses dapat lebih besar daripada jumlah memori yang dialokasikan untuk proses, teknik overlay biasanya
digunakan untuk kasus ini. Teknik Overlay biasanya digunakan untuk memungkinkan sebuah proses mempunyai
jumlah yang lebih besar dari memori fisik daripada alokasi memori yang diperuntukkan. Ide dari overlay adalah
menyimpan di memori hanya instruksi dan data yang diperlukan pada satu waktu. Jika intruksi lain diperlukan,
maka instruksi tersebut diletakkan di ruang memori menggantikan instruksi yang tidak digunakan lagi.

Overlay tidak membutuhkan dukungan khusus dari sistem operasi. User dapat mengimplementasikannya secara
lengkap menggunakan struktur file sederhana, membaca dari file ke memori dan meloncat ke memori dan
mengeksekusi instruksi read yang lebih baru. Sistem operasi memberitahu hanya jika terdapat I/O yang melebihi
biasanya. Penggunaan overlay terbatas untuk beberapa sistem yang mempunyai jumlah memori fisik terbatas dan
kekurangan dukungan H/W untuk teknik yang lebih lanjut.

2. Memori Maya (Virtual Memori)


Memori virtual merupakan suatu teknik yang memisahkan antara memori logis dan
memori fisiknya. Menyediakan memori virtual yang sangat besar diperuntukkan untuk
programmer bila tersedia memori fisik yang lebih kecil.
Konsep memori virtual yang dikemukakan Fotheringham pada tahun 1961 pada sistem
komputer Atlas di Universitas Manchester, Inggris:
“Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak
pernah melampaui kecepatan eksekusi proses yang sama di sistem tanpa
menggunakan memori virtual.“
Keuntungan Memori Virtual:

 Lalu lintas I/O menjadi rendah.


 Berkurangnya memori yang dibutuhkan.
 Meningkatnya respon.
 Bertambahnya jumlah user yang dapat dilayani.
 Memori virtual melebihi daya tampung dari memori utama yang tersedia.
Untuk mengimplementasikan memori maya tersebut dapat dilakukan dengan tiga
cara:

 Sistem Paging.
 Sistem Segmentasi.
 Sistem kombinasi Paging dan Segmentasi.

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
diperlukanindex 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 keBUS 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
menertibkanexception page fault yang melewatkan ke system operasi untuk
menengani.
Gambar memperlihatkan Implementasi pemetaan memori system paging.

Gambar 1. Implementasi Pemetaan Memori sistem paging


Apabila exception page fault meminta alokasi memori akan ditangani oleh system
operasi yaitu memilih partisi yang telah selesai diakses dan kemungkinan proses ini
akan digunakan lagi, dalam waktu yang lama lagi. Jika sudah dipilih maka program
akan dikosongkan dari memori dan selanjutnya program yang alamatnya yang diminta
akan dimasukkan ke memori.
 Proses Pemetaan Pada MMU
Dibawah ini adalah suatu proses pemetaaan memori yang terjadi pada MMU. Alamat
maya terdiri dari bagian nomor page dan offset. Alamat ini dicarikan didalam tabel
page, bila ketemu maka MMU mengeluarkan page frame ( register alamat fisik
).Register alamat fisik terdiri darei nomor page dan offset, dimana nomor page
frame lebih sedikit dari nomor page.
Apabila alamat tersebut tidak ada pada tabel page maka MMU mengeluarkan page
fault.
Implementasi Pemetaan
Komponen internal MMU untuk sistem pagging:
Komponen terpenting MMU adalah:
1. Register alamat maya
2. Tabel page
3. Register alamat fisik

Register Alamat Maya


Menyimpan alamat yang diacu.
Nilai di register alamat maya dibagi menjadi dua bagian:
 Sejumlah bit berorder tinggi menyatakan nomor page maya
 Bit-bit sisanya adalah offset alamat maya

Tabel Page
Tiap elemen tabel sedikitnya berisi informasi berikut:
 Present/absent bit
Bernilai 1 bila page di memori fisik, bernialai 0 jika page tidak di memori fisik.
 Nomor page frame
Berisi nomor page frame dimana page berada.

Register Alamat Fisik


Menyimpan alamat fisik yang disinyalkan ke bus.
Nilai register alamat fisik dibagi menjadi dua bagian :
 Sejumlah bit berorder tinggi menyatakan nomor page frame
 Bit-bit sisanya adalah offset alamat frame
Alamat Maya dipecah menjadi yaitu:
 Nomor Page maya (bit-bit beroder tinggi)
 Offset
Pemetaan
 Nomor Page Maya digunakan sebagai indeks ke tabel page untuk menemukan isisan
page maya
 Dari isian tabel page dapat diketahui apakah page telah dipetakan ke memori fisik
(dengan memeriksa present/absent bit)
 Bila alamat berada di memori fisik, maka isian di tabel page memuat nomor page
frame. Nomor page frame di tabel page dikopi sebagai bit-bit berorder tinggi di
register alamat fisik dan di tambah offset di alamat maya.
 Bila alamat tidak terdapat di memori fisik, maka MMU akan menerbitkan page fault.
 MMU mengkopi nomor page frame di isian tabel page dengan ideks nomor page ke
register alamt fisik dan menambah dengan offset alamat maya.
Cara Kerja :

Bila ternyata nomor page tidak dimemori fisik , yaitu nilai present/absent bit di isian
tabel page bernilai 0, MMU akan menerbitkan page fault. Rangkaian aksi yang
dilakukan adalah sebagai berikut
1. MMU memperingatkan page tidak dipetakan ke memori fisik dan pemrosesan
melakukan map ke sistem operasi , disebut page fault.
2. Membebaskan bagian page frame memori fisik yang kurang digunakan dengan
menyimpan page frame itu ke disk.
3. Memasukan page yang diacu ke bagian page frame yang dibebaskan
4. Mengkonsolidasi pemetaan antara memori maya <<memori fisik
Ketika terjadi page fault, sistem operasi memilih frame di memori fisik untuk diganti
dengan page berguna yang akan masuk.
 Jika page yang diganti telah dimodifikasi, page harus ditulis ke disk. Page yang telah
dimodifikasi disebut dirty page.
 Jika page belum diubah (misalnya page yang berisi teks biner program), kopian di
disk masih upto date sehingga tak perlu ditulis ke disk.
10.2.2 Tabel-tabel pagging
Pemakaian tael page pada sistem pagging menimbulkan dua masalah utama, yaitu :
1. Tabel page dapat berukuran luar biasa besar
2. Pemetaan harus dilakukan secara cepat.
Tabel pemetaan dapat berukuran luar biasa besar
Misalnya:
 Register alamat maya 32 bit
 Ukuran page 4 Kbyte=2 12 byte
Berarti terdapat 220 page (sejuta page lebih) yaitu:
Alamat maya 32 bit berarti memori dapat memuat 212 byte
Karena tipa page adalah 212 byte
Berarti jumlah page adalah 232 dibagi 212 = 220 page
 Register alamat maya 64 bit
 Ukuran page 4 Kbyte
Berarti akan terdapat 242 page
Jika memori maya sangat besar maka tidak mungkin menggunakan satu tabel tunggal
karena akan memerlukan label berukuran sangat besar.
Solusi
Menggunakan tabel-tabel bertingkat (serupa indeks bertingkat di organisasi berkas)
Beberapa rancangan tabel pagging untuk beragam sesuai sisten komputer yaitu :
 DEC PDP-11 menggunakan pagging satu tingkat (one-level pagging)
 DEC VAX menggunakan pagging dua tingkat (two-level pagging)
 SUN SPARC menggunakan pagging tiga tingkat (tree-level pagging)
 MOTOROLA 68030 menggunakan pagging empat tingkat (four-level pagging)
Pemetaan harus dilakukan secara cepat
Pemetaan alamat maya ke alamat fisik dilalukan setiap terjadi pengacuan ke memori
Instruksi komputer biasanya berbentuk:
Operator operand_1 operand_2,...,Operand_N
Pada tiap instruksi sedikitnya terdapat 1 atau 2 operan. Operan operan merupakan
pengacuan ke memori karena operan disimpan di memori berarti untuk satu instruksi
sedikitnya terjadi 1 sampai 2 pengacuan memori. Jika satu instruksi memerlukan 10
ns, maka pemetaan harus dilakukan beberapa ns sja agar tidak terjadi bottleneck.
Kesimpulan :
Pada pemrosesan dengan memori maya, pengelolaan page besar dan cepat merupakan
kontitusi utama perancangan dan pembangunan proses.
10.2.3 Memori Assosiatif
Dari observasi disimpulkan kebanyakan program cenderung melakukan banyak
pengacuan ke sejumlah kecil page (prinsip lokalitas). Sebenarnya hanya sejumlah
kecil elemen tabel page yang sering dibaca.
Berdasarkan fakta ini sistem komputer dengan memori maya dapat dimanfaatkan sifat
ini untuk mempercepat proses pengacuan tanpa melibatkan tabel page. Sistem
kommputer dilengkapi perangkat pemetaan alamat maya ke alamat fisik tanpa lewat
tabel page. Perangkat ini disebut memori assosiatif (associatif memory) atau TLB
(translation lookaside buffer) perangkat ini dapat dipasang di MMU.
Memori assosiatif bersis sejumlah elemen tabel (antara 8 sampai 32 elemen). Tipa
elemen breisi informasi informasi mengenai page, yaitu :
 Nomor page maya
 Bit W, untuk mencatat apakah page telah di modifikasi
 Bit-bit proteksi
 Nomor page frame dari page maya
Mekanisme Kerja Memori Assosiatif
Jika alamat maya dikirim ke MMU untuk menerjemahan, perangkat keras memeriksa
apakah nomor page maya terdapat di memori assodiatif dengan membadingkan semua
isian memori assosiatif secara simultan (yaitu bersamaan atau paralel) mekanisme
paralel ini sangat mempercepat.
 Jika ditemukan memori assodiatif dan pengaksesan tidak melanggar bit-bit proteksi
maka page frame langsung ditangani memori assosiatif tanpa melibatkan tabel page.
 Jika page ditemukan memori assosiatif tapi melanggar bit-bit proteksi maka
diterbitkan protection fault. Proteksi ini juga dilakukan tabel page (bila isian tabel
page dilengkapi bit-bit proteksi)
 Jika nomor page maya tidak terdapat di memori assosiasi maka MMU mencari tabel
page. Salah satu elemen memori assosiatif disingkirkan dan diganti elemen tabel page
yang ditemukan. Elemen yang disingkirkan dikembalikan ke tabel page di memori jika
page itu kembali digunakan maka hanya akan ditangani memori assosiatif tanpa MMU.
Rasio pengacuan memori yang hanya melalui memori assosiatif disebut hit ratio.
Semakin tinggi hit ratio, semakin bagus kinerja sistem. Dengan memori assosiatif
maka kinerja rata-rata sistem dipengaruhi oleh :
 Waktu akses tabel page
 Waktu akses memori assosiatif
 Nilai hit ratio
MIPS R2000 merupakan sistem yang banyak mengandalkan memori assosiatif tanpa
page. MIPS R2000 adalah mesin RISC berunjuk kerja tinggi.
10.3 Penggantian Page
Saat terjadi 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 kembali akan digunakan maka page
akan kembali secepatnya yang berarti terjadi page fault berulang kali. Banyak page
fault menghasilkan banyak overhead.
Algoritma Pengganti page antara lain:
1. Algoritma penggantian page acak (random page replacement algorithm)
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
10.3.1 Algoritma-algoritma penggantian page
1. Algoritma Penggantian page acak
Mekanisme algoritma
Setiap terjadi page fault, page akan diganti dipilih secara acak.
Teknik ini tidak memakai informasi apapun dala menentukan page yang diganti.
Semua page di memori utama mempunyai bobot sama untuk dipilih.teknik ini sangat
buruk. Percobaan menunjukkan rate page fault sangat tinggi.
2. Algoritma Penggantian page optimal
Mekanisme algoritma :
Dasar algoritma ini adalah memilih page yang berpeluang dipakai kembali di masa
datang paling kecil.
Strategi ini akan menghasilkan jumlah page fault paling sedikit. Algorima ini tidak
mungkin diterapkan karena tak mungkin dibuat prosedur yang dapat mengetahui
pemakaian suatu page kembali di masa datang.
Algoritma pengganti page diusakan kinerjanya mendekati optimal. Tiap algoritma
pengganti page mengumpulkan dan memakai informasi untuk menentukan page yang
diganti sehingga mendekati optimal.
3. Algoritma penganti page NRU (not recently used)
Meknisme algoritma
Pada lagoritma ini page diberi dua bit mencatat status page, bit R dan M, yaitu :
Bit R : referenced (menatakan page sedang diacu)
Bit R = 1 berarti sedang diacu
Bit R=0 berarti tidak sedang diacu
Bit M : modified (menyatakan page telah dimodifikasi)
Bit M = 1 berarti dimodifikasi
Bit M=0 berarti tidak dimodifikasi

Dengan 2 bit, maka page-page dikelompokan menjadi 4 kelas page, yaitu :


Kelas 0 : tidak sedang diacu, belum di modifikasi (R=0,M=0)
Kelas 1 : tidak sedang diacu, telah dimodifikasi (R=0, M-1)
Kelas 2 : sedang diacu, belum dimodofikasi (R=1, M=0)
Kelas 3 : sedang diacu, telah dimodifikasi (R=1,M=1)
 Memilih mengganti page kelas bernomor terendah(bila terdapat page page dikelas
itu)secara acak.
 Bila kelas tersebut kosong maka dipilih range dikelas lebih tinggi dan seterusnya.
Algoritma ini mengasumsikan kelas-kelas bernomor lebih rendah akan baru akan
digantikan kembali dalam waktu relatif lama.
4. Algoritma Pengganti Page FIFO (First-In, Firs-Out)
Mekanisme algoritma
Algoritma ini memerlukan pengelolaan senarai page di memori. Elemen terdepan
adalah page tertua dan ujung belakang adalah page paling mutakir datang.
 Bila terjadi page fault, page elemen terdepan (page tertua) giganti dan page baru
ditambahkan diujung belakang senarai.
Dengan hanya informasi mengenai lamanya berada di memori maka algoritma ini
dapat memindahkan page yang yang sering digunakan.
Algoritma FIFO murni jarang digunakan tapi dikombinasi (modifikasi)
5. Modifikasi terhadap FIFO
Kelemahan FIFO yang jelas adalah algoritma dapat memilih memindahkan page yang
sering digunakan yang lama berada di memori. Kemungkinan ini dapat dihindari
dengan hanya memindahkan page tidak diacu. Page ditambah bit R mencatat apakah
page diacu atau tidak.
Variasi FIFO :
 Algoritma pengganti page kesempatan kedua (second chance page replacement
algorithm)
 Algoritma pengganti pengganti page clock (clock page replacement lgorithm).
Algoritma pengganti Page Kesempatan Kedua
Mekanisme algoritma :
 Saat terjadi page fault, algoritma memilih page elemen terdepan diganti bila bit R
bernilai 0
 Bila bit R bernilai 1, maka bit page terdepan senarai direset menjadi 0 dan diletakan
ke ujung belakang senarai. Menkanisme ini kembali diterapkan ke elemen berikutnya.
Algoritma Penggantian Page Clock
Algoritma penggantian kesempatan kedua merupakan algoritma yang memadai tapi
tidak efisien karena memindahkan page-page di senarainya. Algoritma penggantian
page clock merupakan perbaikan algoritma pertama.
Mekanisme algoritma :
 Pada algoritma ini, semua page merupakan senarai melingkar membentuk pola jam
terdapat penunjuk (pointer) ke page tertua.
ketika terjadi page fault, page yang ditunjuk diperiksa.
 Jika bit R bernilai 0 maka page diganti. Page baru ditempatkan di tempat page
diganti dan penunjuk dimajukan satu ke page berikutnya.
 Jika bit R bernilai 1, maka bit R direset menjadi 0, dan penunuk dimajukan satu
posisi. Seterusnya sampai menemui page dengan bit R bernilai 0.
6. Algoritma Penggantian page LRU (Least Recently Used)
Berdasarkan obervasi page-page pada beberapa instruksi terakhir berkemungkinan
besar akan dipakai kembali.
Mekanisme Algoritma
Algoritma LRU adalah ketika terjadi page fault maka memindahkan page yang tak
digunakan paling lama.
Masalah
Sangat mahal
Kemahalan disebabkan harus mengelola senarai informasi seluruh page di memori.
Senarai harus berturut berdasarkan kemutakhiran penggunaan.senarai harus
diperbarui setiap terjadi pengacuan memori. Mekanisme ini memerlukan waktu yang
sangat banyak.

PEMODELAN ALGORITMA PAGING

Belady menemukan pada algoritma FIFO, bahwa pada pola-pola pengacuan tertentu
menyebabkan lebih banyak page fault bila alokasi page untuk proses ditambah.
Fenomenanya disebut Anomali Belady.
Fenomena dapat diilustrasikan yaitu :
 Program dengan lima page
 Urutan page yang diacu adalah 0 1 2 3 4 0 1 4 0 1 2 3 4
MESIN ABSTRAKSI EKSEKUSI PROGRAM

Setiap proses dimemori maya menghasilkan barisan pengacuan memori saat berjalan.
Pengacuan memori berkorespondensi dengan satu page.
Sistem Oaging dicirikan 3 hal :
- 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 semuapage 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 stringpengacuan,


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.
Masalah-masalah Utama pada Sistem Paging
Masalah-masalah Utama pada Sistem Paging adalah working setmodel,
kebijaksanaan penggantian lokal vs global, dan frekuensi page fault, serta
ukuran page.

Working Set Model

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.
Gambar Pola Pengacuan-pengacuan Page Selama Eksekusi Sistem

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.

Working Set Model of Program Behavior


Himpunan kerja secara informal didefinisikan sebagai kumpulanpage 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 yangberlebihan. 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-pagehimpunan kerja.
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.

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 harusdecrement 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 kopian-kopian 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.

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.

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.

Keunggulannya adalah proses-proses di memori tidak terikat ketat dengan


suatu ruang swap. Sedangkan kelemahannya adalah, alamat diskperlu 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.

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
programcounter 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 informasi-
informasi 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 framebebas, algoritma
penggantian page dijalankan.

5. Jika page frame telah dimodifikasi, page dijadwalkan untuk transfer kedisk dan
terjadi context switch, menunda proses fault dan membiarkan/menyilahkan proses
lain berjalan sampai transfer diskselesai. Pada suatu kejadian, frame ditandai sedang
sibuk untuk mencegahnya digunakan untuk maksud lain.

6. Begitu page frame bersih, sistem operasi melihat alamat disk dimanapage 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 pagediperbarui


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.

Masalah – masalah Implementasi pada Sistem Paging


Perancang system paging berurusan beragam masalah implementasi system 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
 Paging daemon
 Penanganan page fault (page fault handling)
- 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.
- 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.
- Pemakaian page 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.
- 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.
- 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.
- Penangan page fault (page fault handling)
Implementasi sistem paging harus mengatasi rincian-rincian aksi yang harus dilakukan saat terjadi page fault.
Prosedur untuk menangani page fault adalah sebagai berikut:
 CPU mengambil (load) instruksi dari memori untuk dijalankan. Pengambilan
instruksi dilakukan dari halaman pada memori dengan mengakses tabel halaman.
Ternyata pada tabel halaman bit ter-set tidak valid atau invalid (i).
 Interupsi page fault terjadi sehingga interupsi tersebut menyebabkan
perangkat keras melakukan trap yaitu menjebak proses tersebut ke dalam sistem
operasi.
 Jika referensi alamat yang diberikan ke sistem operasi ilegal atau dengan kata
lain halaman yang ingin diakses tidak ada (tidak berada di disk), maka proses akan
dihentikan. Namun jika referensi alamatnya adalah legal maka halaman yang
diinginkan akan diambil dari disk.
 Halaman yang diinginkan akan dibawa dari disk ke memori utama (memori
fisik).
 Tabel halaman akan diatur ulang lagi sesuai dengan kondisi yang baru. Jika
tidak terdapat ruang kosong (free frame) di memori utama (fisik) untuk menaruh
halaman yang baru maka dilakukan penggantian halaman dengan memilih salah satu
halaman pada memori utama untuk digantikan dengan halaman yang baru tersebut.
Penggantian halaman dilakukan dengan menggunakan algoritma tertentu. Jika
halaman yang digantikan tersebut sudah dimodifikasi oleh proses maka halaman
tersebut harus ditulis kembali ke disk.
 Setelah halaman yang diinginkan sudah dibawa ke memori utama (fisik) maka
proses dapat diulang kembali. Dengan demikian proses sudah bisa mengakses halaman
karena halaman telah diletakkan ke memori utama (fisik).
Perlu diingat bahwa status (register, condition code, counter insruksi) dari proses
yang diinterupsi ketika terjadi page fault akan disimpan sehingga proses dapat diulang
kembali di tempat dan status yang sama, kecuali jika halaman yang diinginkan
sekarang telah berada di memori dan dapat diakses.
Pada berbagai kasus yang terjadi, ada tiga komponen yang akan dihadapi pada saat
melayani page fault:
 Melayani interupsi page fault
 Membaca halaman
 Mengulang kembali proses

Gambar 5.3. Langkah-Langkah dalam Menangani Page Fault


SEGMENTASI
Deskripsi Segmentasi
• Segmentasi memungkinkan pemrogram memandang memori sebagai berisi banyak
ruang alamat atau segmen.
• Dengan segmentasi, pemrogram tidak berurusan dengan batasan memori yang
disebabkan kapasistas memori utama.
Keunggulan Teknik Segmentasi
• Menyederhanakan penanganan struktur data yang berkembang
• Kompilasi ulang independen
• Memudahkan pemakaian memori bersama diantara proses-proses
• Memudahkan untuk proteksi

Kombinasi Paging dan Segmentasi


Teknik Kombinasi
• Ruang alamat pemakai dibagi menjadi sejumlah segmen sesuai kehendak pemrogram.
• Setiap segmen dibagi menjadi sejumlah page berukuran tetap, berukuran sama dengan
page frame memori utama.

Teknik Kombinasi
Sistem paging dan segmentasi mempunyai keunggulan dan kelemahan masing-masing.
Sistem paging transparan bagi pemrogram, mengeliminasi fragmentasi eksternal,
penggunaan memori utama yang efisien.
Teknik Kombinasi Paging Dan Segmentasi
Teknik kombinasi paging 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.
Contoh Sistem Dengan Memori Maya
1. Memori Maya dengan Segmentasi Murni

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.

2. One Level Paging


Keunggulan
Semua bentuk paging mengeliminasifragmentasi eksternal dan menyederhanakan
alokasi dan pertumbuhan dinamis .
Kelemahan
Sejumlah besar ruang memori utama harus dicadangkan untuk tabel page sehingga
menyediakan ruang alamat maya besar dengan page-page berukuran tertentu.
3. Two Level Paging
Keunggulan
Mekanisme ini mengkombinasikan keunggulan segmentasi dan paging.
Kelemahan
Ruang alamat maya sangat besar (misal 4Gbyte) memerlukan jumlah ruang besar tabel
segmen yang harus disimpan di memori utama dan kontigu.
4. Three Level Paging
Keunggulan
Mekanisme tabel page banyak tingkat untuk implementasi memori maya dengan
ruang alamat sangat besar.
Kelemahan
Alokasi dan pertumbuhan dinamis tabel segmen menjadi sulit.
5. Four Level Paging
Keunggulan
Mekanisme ini berguna untuk program yang menggunakan ruang alamat memori yang
sangat besar.
Kelemahan
Kondisi terburuk yang mungkin adalah kondisi untuk translasi memerlukan sebanyak
empat pengacuan memori, masing-masing menghasilkan page fault.

Sumber :
http://reiyza.wordpress.com/2012/07/05/permasalahan-design-pada-sistem-paging/
http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-
2/ch05s03.html
Hariyanto, Bambang, 2012, Sistem Operasi Revisi Kelima. Bandung: Penerbit
Informatika.
SISTEM PAGING DAN SEGMENTASI
Nama : Hendro wibowo

Nim : 12.5.00044

SISTEM PAGING

Pengertian

Sistem Paging merupakan sistem manajemen pada sistem operasi dalam mengatur program
yang sedang berjalan yang berada di memori utama.

Jadi bisa saya simpulkan bahwa Sistem Paging menggunakan ruang alamat besar pada memori kecil
menggunakan index register, base register, dan segment register, dan lain-lain. Pemakai seolah
mempunyai ruang memori sangat besar tanpa mengelola overlay.

Masalah-masalah Utama pada Sistem Paging

1. working set model pun dibagi menjadi 2

a. Lokalitas berdasar waktu (temporal locality).

b. Lokalitas menurut ruang (spatial locality).

2. kebijaksanaan penggantian lokal vs global

3. frekuensi page faul, serta ukuran page.

Masalah-Masalah Implementasi Sistem Paging

1. backup instruksi yang terakhir dijalankan sebelum terjadi page fault,

2. buffer perangkat masukan/keluaran (penguncian page di memori),

3. page yang dipakai bersama,


4. backing store, dan paging daemon,

5. penanganan page fault (page fault handling).

Cara Mengatasi

1. Konsep Overlay

Yaitu program dipecah menjadi bagian-bagian yang dapat dimuat memori. Overlay yang belum
diperlukan (tidak sedang dieksekusi) disimpan di disk, overlay dimuatkan ke memori begitu diperlukan
(kode di overlay akan dieksekusi).

2. Konsep Memori Maya

Yaitu kemampuan mengalamati ruang memori melebihi memori utama yang tersedia. Konsep 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. Jika bagian di disk diperlukan maka bagian dimemori yang tidak diperlukan disingkirkan diganti
bagian di disk yang diperlukan itu.

SEGMENTASI
proses pengalamatan memori berisi banyak ruang alamat atau segmen. Ruang-ruang alamat itu sepenuh
in dan dependen. Tiap segmen berisi barisan linear alamat 0 sampai maksimu. Panjang tiapsegemen
dapat berbeda sampai panjang segmen maksimum. Dengan segmentasi, pemrogram tidak berurusan
dengan batasan-batasan memori yang disebabkan kapasitas memori utama.

Spesifikasialamat pada memori bersegmen adalah 2 dimesi. Yaitu :

1. Nomor segmen

2. Alamat ada segmen itu. (offset)

logical address space adalah kumpulan dari segmen-segmen yang mana tiap-tiap segmen mempunyai
nama dan panjang. alamat tersebut menunjukkan alamat dari segmen tersebut dan offset-nya didalam
segmen-segmen tersebut. pengguna kemudian menentukan pengalamatan dari setiap segmen menjadi
dua bentuk, nama segmen dan offset dari segmen tersebut (Hal ini berbeda dengan pemberian
halaman, dimana pengguna hanya menentukan satu buah alamat, dimana pembagian alamat menjadi
dua dilakukan oleh perangkat keras, semua ini tidak dapat dilihat oleh user).

Untuk kemudahan pengimplementasian, segmen-segmen diberi nomor dan direferensikan dengan


menggunakan penomoran tersebut, daripada dengan menggunakan nama. maka, logical address space
terdiri dari dua tuple yaitu: (nomor-segmen, offset) Pada umumnya, program dari pengguna akan
dikompilasi, dan kompilator tersebut akan membuat segmen-segmen tersebut secara otomatis. Jika
mengambil contoh kompilator dari Pascal, maka kemungkinan kompilator tersebut akan membuat
beberapa segmen yang terpisah untuk:

1. Variabel Global,

2. Prosedur dari pemanggilan stack, untuk menyimpan parameter dan pengembalian alamat,

3. Porsi dari kode untuk setiap prosedur atau fungsi, dan

4. Variabel lokal dari setiap prosedur dan fungsi.

Meskipun seorang pengguna dapat memandang suatu objek dalam suatu program sebagai alamat
berdimensi dua, memori fisik yang sebenarnya tentu saja masih satu dimensi barisan byte. Jadi kita
harus bisa mendefinisikan pemetaan dari dua dimensi alamat yang didefinisikan oleh pengguna ke satu
dimensi alamat fisik. Pemetaan ini disebut sebagai sebuah segment table. Masing-masing masukan dari
mempunyai segment base dan segment limit. Segment base merupakan alamat fisik dan segmen limit
diartikan sebagai panjang dari segmen.

Sumber :

Buku Bambang Hariyanto


http://bugspin.blogspot.com/2012/07/sistem-operasi-segmentasi-memori.html

http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.53-1.pdf

Tgl akses : 16 Juni 2013

Jam akses : 19.45

Nama : Muh Kholid

Nim : 12.5.00063

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 mengeluarkanpage fault, yaitu
permintaan alokasi memori untuk proses itu.

MMU mempunyai fungsi untuk memetakan memori maya ke memori fisik. Apabila alamat memori
yang dipetakan tidak tersedia di memori fisik, MMU menertibkan exception page fault yang melewatkan
ke system operasi untuk menengani.

Gambar memperlihatkan Implementasi pemetaan memori system paging.


Gambar 1. Implementasi Pemetaan Memori sistem paging

Apabila exception page fault meminta alokasi memori akan ditangani oleh system operasi yaitu memilih
partisi yang telah selesai diakses dan kemungkinan proses ini akan digunakan lagi, dalam waktu yang
lama lagi. Jika sudah dipilih maka program akan dikosongkan dari memori dan selanjutnya program
yang alamatnya yang diminta akan dimasukkan ke memori.

 Proses Pemetaan Pada MMU


Dibawah ini adalah suatu proses pemetaaan memori yang terjadi pada MMU. Alamat maya terdiri dari
bagian nomor page dan offset. Alamat ini dicarikan didalam tabel page, bila ketemu maka
MMU mengeluarkan page frame ( register alamat fisik ).Register alamat fisik terdiri darei nomor
page dan offset, dimana nomor page frame lebih sedikit dari nomor page.

Apabila alamat tersebut tidak ada pada tabel page maka MMU mengeluarkan page fault.
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.

Gambar 4. Skema Segmentasi

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.
Sumber :http://frandstino.blogspot.com
SISTEM PAGING DAN SISTEM SEGMENTASI

I. MEMORY MAYA
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 pada disk, dimana nantinya overlay tersebut akan dimuat ke
memori begitu diperlukan dalam eksekusinya.
B. Konsep Memori Maya (Virtual Memory)
Memori Maya 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 di memori yang tidak diperlukan disingkirkan diganti bagian pada disk yang
diperlukan itu.
C. Memori Maya dan Multi Programing
Memori Maya dapat dilakukan pada system mutli programing.
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.

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
yaitu:
1. Sistem Paging

2. Sistem Segmentasi
3. Sistem Kombinasi Paging dan Segmentasi
Oleh : Aris Eka Kuspriyanti
NIM : 12.5.00122
Sumber : Bambang Harianto,”Sistem Operasi” dan
frandstino.blogspot.com/2010/07/sistem-paging.html

II. SISTEM PAGING


Sistem Paging Adalah mengimplemtasikan ruang alamat besar pada memori kecil
menggunakan index register, base register dan segment register, dan lainnya.

Beberapa istilah pada system paging adalah:


A. Alamat Maya (Virtual Address)
Alamat yang dihasilkan dengan perhitungan menggunakan index register, base register dan
segment register, dan sebagainya. Ruang alamat yang dibentuk disebut Ruang Alamat
Maya (Virtual Address Space).

B. Alamat Nyata (Real Address)


Alamat yang tersedia di memori utama fisik. Ruang alamat yang dibentuk disebut Ruang
alamat Nyata (Real Address Space). Jumlah alamat pada R disimbolkan dengan IRI.

C. Page
Unit terkecil virtual address space. Ruang alamat maya merupakan kelipatan page yang
berukuran sama.

D. Page Frame
Unit terkecil memori fisik. Memori fisik secara konseptual dibagi menjadi sejumlah unit
berukuran tetap disebut page frame.

E. Page Fault
Exception untuk permintaan alokasi “page” ke memori. Dalam konteks memori maya, page
fault sering disingkat fault.

F. MMU
Merupakan Chip yang memetakan alamat maya ke alamat fisik.

Pada Komputer tanpa memori maya, alamat langsung diletakkan ke bus dan menyebabkan
word memori fisik alamat itu dibaca atau ditulis.
Pada Komputer dengan memori maya, alamat tidak diletakkan pada bus secara langsung
tapi lewat MMU yang kemudian memetakan alamat maya ke alamat memori fisik.
1. 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).

2. Pemetaan Memori Sistem Paging


Sistem kinerja komputer akan menerjemahkan alamat maya menjadi alamat fisik. Dengan
kata lain dalam system memori maya alamat memori tidak langsung di tuliskan ke BUS
tetapi terlebih dahulu dimasukkan ke MMU untuk diterjemahkan.

Ada dua kemungkinan keluaran MMU yaitu :


Alamat yang dicari ada dimemori nyata, maka proses dapat langsung dikerjakan.
Alamat yang dicari tidak ada didalam memori nyata, maka MMU mengeluarkan page fault,
yaitu permintaan alokasi memori untuk proses itu.

Oleh : Dicy Krisdiyanto


NIM : 12.5.00132
Sumber : Bambang Harianto,”Sistem Operasi”

3. Pemetaan Alamat

MMU mempunyai fungsi sebagai berikut:


- Untuk memetakan memori maya ke memori fisik.
- Bila alamat memori yang dipetakan tidak tersedia di memori fisik, MMU menertibkan
exception page fault yang melewatkan ke system operasi untuk menanganinya.
Gambar memperlihatkan Implementasi pemetaan memori system paging.

Gambar 1. Implementasi Pemetaan Memori sistem paging

Implementasi Pemetaan (Bagian Internal MMU)


4. Komponen terpenting MMU

a. Register Alamat Maya:


Nilai di register alamat maya dibagi menjadi dua bagian yaitu:
• Sejumlah bit beroder tinggi menyatakan nomer page maya
• Bit-bit sisa adalah offset alamat maya
b. Tabel Page
Tiap elemen table sedikitnya berisi informasi berikut:
• Present/Absen bit
Bernilai 1 bila page dimemori fisik, bernilai 0 bila page tidak dimemori fisik
• Nomor Page Frame
Berisi nomor page frame dimana page berada.
c. Register Alamat Fisik
Nilai di register alamat fisik di bagi 2:
• Sejumlah bit berorder tinggi menyatakan nomor page frame
• Bit-bit sisa adalah offset alamat frame
d. Tabel-tabel paging
Pemakaian table page pada system paging menimbulkan dua masalah utama, yaitu:• Table
page dapat berukuran luar biasa besar• Pemetaan Harus dilakukan secara cepat

5. Penggantian Page
Saat terjadi page fault berarti harus diputuskan page frame di memori fisik yang harus
diganti. Kinerja system akan baik jika page yang diganti dipilih yang tidak akan digunakan
di masa datang.
Algoritma Penggantian page antara lain:• Algoritma penggantian page acak• Algoritma
penggantian page optimal• Algoritma penggantian page NRU• Algoritma penggantian page
FIFO• Algoritma penggantian page Modifikasi dari algoritma FIFO• Algoritma penggantian
page LRU

Masalah–Masalah Utama pada Sistem Paging• Working Set Model• Kebijaksanaan


Penggantian local vs global•Frekeunsi page fault• Ukuran Page

6. Masalah–Masalah Implementasi Sistem Paging


Perancang system paging berurusan beragam masalah implementasi system paging, antara
lain:
• Backup instruksi yang terakhir dijalankan sebelum terjadi page fault
• Buffer perangkat masukan/keluaran
• Page yang dipakai bersama
• Backing store
• Paging daemon
• Penangan Page fault
Oleh : Puji Susanto
NIM : 12.5.00198
Sumber : Bambang Harianto,”Sistem Operasi” dan
frandstino.blogspot.com/2010/07/sistem-paging.html

III. SISTEM SEGMENTASI


Segmentasi memungkinkan pemrograman memandang memori sebagai berisi banyak ruang
alamat atau segmen. Ruang-ruang alamat itu sepenuhnya independen. Tiap segmen berisi
barisan linear alamat 0 samapai maksimum. Panjang tiap segmen dapat berbeda sampai
panjang segmen maksimum. Dengan segmentasi pemrograman tidak berurusan dengan
batasan-batasan memori yang disebabkan kapasitas memori utama.

Panjang segmen dapat berubah selama eksekusi. Segmen stack bertambah ketika terjadi
operasi push dan turun saat operasi pop. Karena tiap segmen merupakan ruang alamat
terpisah, segmen-segmen dapat tumbuh dan mengkerut secara bebas tanpa
mempengaruhi lainnya. Jika stack pada segmen tertentu memerlukan ruang alamat lebih
besar untuk tumbuh, stack dapat memperolehnya karena tak ada yang ditabraknya diruang
alamat itu.
Spesifikasi alamat pada memori bersegmen adalah dua dimensi. Alamat terdiri 2 bagian
yaitu:• Nomor Segmen• Alamat pada segmen itu
Segmen adalah entitas logic. Segmen dapat berisi:
• Prosedur
• Array
• Stack
• Atau kumpulan variable scalar
Teknik segmentasi mempunyai sejumlah keunggulan disbanding ruang alamat tak
bersegmen, yaitu:•Menyederhanakan penangan struktur data yang berkembang • Kompilasi
ulang independen tanpa mentautkan kembali seluruh program• Memudahkan pemakaian
memori bersama diantara proses-proses• Memudahkan untuk proteksi
A. Segmentasi Secara Murni
Segmen-segmen dapat berukuran berbeda dan dinamis. Pengacuan-pengacuan memori
berbentu (nomor segmen,offset).

Alamat maya adalah offset disegment. Tiap proses mempunyai tabel segmen. Ketika proses
running alamat awal tabel dimuatkan ke register dasar. Nomor segmen digunakan untuk
mencari descriptor segmen ditable segmen yang menyediakan alamat fisik awal segmen,
panjangnya dan bit-bit proteksi. Alamat fisik dihitung dengan menambahkan alamat dasar
segmen ke alamat maya.
B. 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 ideal 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.

C. Memory Maya dan Segmentasi Maya


Perangkat keras memberikan pengacuan memori suatu segmen tertentu. Pilihan segmen
dapat dibuat dengan sembarang kombinasi berikut :
• Instruksi
• Target dari suatu alamat
• Status saat itu

Oleh : Heru Budi Kusumo


NIM : 12.5.00147
Sumber : Bambang Harianto,”Sistem Operasi” dan
frandstino.blogspot.com/2010/07/sistem-paging.html

D. One level Paging


Nomor page maya digunakan sebagai indeks ke tabel page yang biasanya berlokasi
dimemori utama. Isian table page berisi nomor page fisik dan bit-bit proteksi.
1. Keunggulan
Semua bentuk paging mengeliminasi fragmentasi eksternal dan menyederhanaknan alokasi
dan pertumbuhan dinamis.
2. Kelemahan
Sejumlah besar ruang memori utama harus dicadangkan untuk tabel page sehingga
menyediakan ruang alamat maya besar dengan page-page berukuran tertentu.
E. Two level Paging
Translasi alamat maya ke alamat fisik lebih rumit, yaitu :• Pertama Indeks I ditambahkan
ke alamat root atau dasar• Kedua, STE dibaca dari memori dan alamat dasarnya ditambah
indeks 2 untuk memperoleh alamat isian tabel page• Ketiga, PTE dibaca dari memori untuk
memperoleh nomor page fisik

1. Keunggulan
Mekanisme ini mengkombinasikan keunggulan segmentasi dan paging. Pemakaian bersama
dapat dilakukan dilevel segmen, mereduksi kebutuhan isian-isian tabel page yang
redundan.
2. Kelemahan
Ruang alamat maya sangat besar memerlukan junlah ruang besar table segmen yang harus
disimpan dimemori utama dan harus kontigu.

F. Three level Paging


Translasi nomor page maya ke nomor page fisik memerlukan tiga tahap. Tiap field indeks
ditambahkan alamat dasar tabel yang berkorespondensi untuk menemukan isian tabel
berikutnya.
1. Keunggulan
Mekanisme tabel page banyak tingkat untuk implementasi memori maya dengan ruang
alamat sangat besar. Table page banyak tingkat memerlukan tabel page besar.
Implementasi ruang memori maya sangat besar dengan tabel tidak terlalu banyak.
2. Kelemahan
Alokasi dan pertumbuhan dinamis tabel page tiga tingkat
G. Four level Paging
Translasi nomor page maya ke nomor page fisik memerlukan empat tahap. Tiap field
indeks ditambahkan alamat dasar tabel yang berkorespondensi untuk menemukan isian
tabel berikutnya.
1. Keunggulan
Mekanisme ini berguna untuk program yang menggunakan ruang alamat memori yang
sangat besar. Program-program LISP besar ynag secara kontinyu mengalokasikan dan
melepaskan daerah memori adalah tipe aplikasi yang cocok dengan mekanisme ini.
2. Kelemahan
Kondisi terburuk yang mungkin adalah kondisi untuk translasi memerlukan sebnayk empat
pengacuan memori, masing-masing menghasilakan page fault. Karena kebanyakan page
hanya memiliki beberpa isian, tabel akan mempunyai fragmentasi internal sangat besar.

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

Oleh : Tuti Amalia


NIM : 12.5.00097
Sumber : Bambang Harianto,”Sistem Operasi” dan
frandstino.blogspot.com/2010/07/sistem-paging.html
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.

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. 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.
Implementasi Pemetaan Memori sistem paging
Apabila exception page fault meminta alokasi memori akan ditangani oleh system operasi yaitu
memilih partisi yang telah selesai diakses dan kemungkinan proses ini akan digunakan lagi,
dalam waktu yang lama lagi. Jika sudah dipilih maka program akan dikosongkan dari memori
dan selanjutnya program yang alamatnya yang diminta akan dimasukkan ke memori.
 Proses Pemetaan Pada MMU
Dibawah ini adalah suatu proses pemetaaan memori yang terjadi pada MMU. Alamat maya
terdiri dari bagian nomor page dan offset. Alamat ini dicarikan didalam tabel page, bila ketemu
maka MMU mengeluarkan page frame (register alamat fisik). Register alamat fisik terdiri darei
nomor page dan offset, dimana nomor page frame lebih sedikit dari nomor page.
Apabila alamat tersebut tidak ada pada tabel page maka MMU mengeluarkan page fault.

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

Skema Segmentasi
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.
3. 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.

Ganti halaman dilakukan apabila terjadi page fault. Page fault bukan suatu jenis erroryang
fatal, page fault terjadi apabila ada halaman yang ingin diakses tetapi halaman tersebut tidak
terdapat di dalam memori utama. Page fault pasti terjadi minimal satu kali saat pertama kali
halaman itu ingin diakses.

Prinsip ganti halaman adalah sebagai berikut:

1. Proses meminta halaman tertentu.


2. Jika halaman berada di memori, tidak dilakukan ganti halaman.
3. Jika halaman tidak berada di memori, maka:
1. Jika ada frame kosong, maka halaman itu di-load ke dalam frame yang kosong
tersebut.
2. Jika tidak ada frame yang kosong, maka pilih halaman yang akan di-swap dengan
menggunakan algoritma ganti halaman.
4. Update tabel halaman dan table memori.
5. Restart proses.

ilustrasi Swapping

Semakin banyak dilakukan swap, semakin sibuk pula CPU mengurus hal ini. Bila berkelanjutan,
maka akan terjadi thrashing. Thrashing adalah keadaan di mana banyak terjadi page fault,
sehingga mengakibatkan utilisasi CPU menurun drastis karena lebih sibuk mengurusi pergantian
halaman daripada mengurusi proses.
Untuk menghindari hal ini, diperlukan pemilihan algoritma ganti halaman yang baik. Kriteria
algoritma yang baik adalah:

 Menyebabkan page fault rate yang rendah.


 Tidak menyebabkan thrashing .
 Tidak terlalu sulit untuk diimplementasikan.

Pada umumnya, semakin besar memori, semakin banyak pula jumlah frame-nya. Semakin
banyak frame, semakin banyak pula jumlah halaman yang bisa masuk di memori, sehingga page
fault rate menurun.
ALGORITMA PENGGANTIAN PAGE
Saat terjadi 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
banyak overhead.
1 Algoritma penggantian page acak
Mekanisme algoritma :
Setiap terjadi page fault, page yang diganti dipilih secara acak.
Teknik ini tidak memakai informasi apapun dalam menentukan page yang diganti, semua
page di memori utama mempunyai bobot sama untuk dipilih. Teknik ini memiliki sembarang
page, termasuk page yang sedang diacu. Teknik ini sangat buruk, percobaan menunjukkan
algoritma acak menimbulkan rate terjadinya page fault yang sangat tinggi.

2 Algoritma pengganti page optimal


Mekanisme algoritma
Dasar Algoritma ini adalah memiliki page yang berpeluang dipakai kembali di masa datang
yang paling kecil.
Pendekatan ini dapat dilakukan dengan simulasi, tapi hanya spesifik suatu program. Bila
yang terbaik tidak dimungkinkan, maka yang perlu dilakukan adalah berusaha mendekatinya.
Algoritma pengganti page mengumpulkan dan memakai informasi untuk menentukan page
yang diganti sehingga mendekati optimal.
Algoritma pengganti page optimal penting untuk kajian teoretis, sebagai pembanding bagi
algoritma-algoritma yang lain.
Ilustrasi gambar :

3 Algoritma pengganti page NRU


Mekanisme algoritma
Pada algoritma ini, page diberi dua bit mencatat status page bit R dan M, yaitu:
Bit R : referenced (menyatakan page sedang diacu)
Bit R = 1 berati sedang diacu
= 0 berati tidak sedang diacu
Bit M : modified (menyatakan page telah di modifikasi)
Bit M = 1 berarti dimodifikasi
= 0 berarti tidak dimodifikasi
Dengan 2 bit, maka page-page dikelompokkan menjadi 4 kelas page yaitu:
Kelas 0 : tidak sedang diacu, belum dimodifikasi (R=0,M=0)
Kelas 1 : tidak sedang diacu, telah dimodifikasi (R=0,M=1)
Kelas 2 : sedang diacu, belum dimodifikasi (R=1,M=0)
Kelas 3 : sedang diacu, telah dimodifikasi (R=1,M=1)
1. Memilih mengganti page kelas bernomor terendah secara acak
2. Bila kelas tersebut kosong maka dipilih page di kelas yang lebih tinggi, dan seterusnya.

4 Algoritma pengganti page FIFO


Mekanisme algoritma
Algoritma ini memerlukan pengelolaan senari page di memori, elemen terdepan senari adalah
page tertua dan ujung belakang adalah page paling akhir datang.
Bila terjadi page fault, page elemen terdepan (page tertua) diganti dan page baru
ditambahkan di ujung belakang senari. Algoritma FIFO murni jarang digunakan, tetapi
dikombinasikan (modif)
Ilustrasi gambar :

5 Algoritma penggantian Modifikasi dari FIFO


Kelemahan FIFO yang jelas adalah algoritma dapat memilih memindahkan page yang sering
digunakan yang lama berada di memori kemungkinan ini dapat dihindari dengan hanya
memindahkan page tidak diacu page di tambah 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 :
1. Algoritma Penggantian page kesempatan kedua
Mekanisme algoritma
Saat terjadi page fault, algoritma memilih page elemen terdepan diganti bila bit R bernilai 0
2. Algoritma penggantian clock page
Bila bit R bernilai 1 ,maka bit page terdepan senarai diseret menjadi 0 dan diletakkan di
ujung belakang senarai.mekanisme ini kembali diterapkan ke elemen berikutnya.

6 Algoritma penggantian page LRU


Mekanisme algoritma
Algoritma LRU adalah ketika terjadi page fault maka memindahkan page yang tidak
digunakan paling lama.
Masalah
Sangat mahal
Kemahalan disebabkan harus mengelola senarai informasi seluruh page di memori.senarai harus
terurut berdasarkan kemutkhiran penggunaan.senarai harus di perbaharui setiap terjadi
pengacuan memori.begitu terjadi pengacuan memori,harus di lakukan operasi menemukan page
di senarai.di pindahkan sebagai terdepan yaitu paling akhir di acu.
Ilustrasi gambar :

MASALAH UTAMA PADA SYSTEM PAGING:


1 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.
2 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.
3 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.
4 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.
Penanganan Page Fault
Prosedur untuk menangani page fault adalah sebagai berikut:

 CPU mengambil (load) instruksi dari memori untuk dijalankan. Pengambilan instruksi
dilakukan dari halaman pada memori dengan mengakses tabel halaman. Ternyata pada
tabel halaman bit ter-set tidak valid atau invalid (i).
 Interupsi page fault terjadi sehingga interupsi tersebut menyebabkan perangkat keras
melakukan trap yaitu menjebak proses tersebut ke dalam sistem operasi.
 Jika referensi alamat yang diberikan ke sistem operasi ilegal atau dengan kata lain
halaman yang ingin diakses tidak ada (tidak berada di disk), maka proses akan
dihentikan. Namun jika referensi alamatnya adalah legal maka halaman yang
diinginkan akan diambil dari disk.
 Halaman yang diinginkan akan dibawa dari disk ke memori utama (memori fisik).
 Tabel halaman akan diatur ulang lagi sesuai dengan kondisi yang baru. Jika tidak
terdapat ruang kosong (free frame) di memori utama (fisik) untuk menaruh halaman
yang baru maka dilakukan penggantian halaman dengan memilih salah satu halaman
pada memori utama untuk digantikan dengan halaman yang baru tersebut.
Penggantian halaman dilakukan dengan menggunakan algoritma tertentu. Jika
halaman yang digantikan tersebut sudah dimodifikasi oleh proses maka halaman
tersebut harus ditulis kembali ke disk.
 Setelah halaman yang diinginkan sudah dibawa ke memori utama (fisik) maka proses
dapat diulang kembali. Dengan demikian proses sudah bisa mengakses halaman
karena halaman telah diletakkan ke memori utama (fisik).

Perlu diingat bahwa status (register, condition code, counter insruksi) dari proses yang
diinterupsi ketika terjadi page fault akan disimpan sehingga proses dapat diulang kembali di
tempat dan status yang sama, kecuali jika halaman yang diinginkan sekarang telah berada di
memori dan dapat diakses.
Pada berbagai kasus yang terjadi, ada tiga komponen yang akan dihadapi pada saat
melayani page fault:

 Melayani interupsi page fault


 Membaca halaman
 Mengulang kembali proses

Langkah-Langkah dalam Menangani Page Fault


Kinerja
Dalam proses demand paging, jika terjadi page fault maka diperlukan waktu yang lebih lambat
untuk mengakses memori daripada jika tidak terjadi page fault. Hal ini dikarenakan perlu
adanya penanganan page fault itu sendiri. Kinerja demand pagingini dapat dihitung dengan
menggunakan effective access time yang dirumuskan sebagai berikut:
effective access time = (1 – p) x ma + p x page fault time
ma adalah memory access time, yang pada umumnya berkisar antara 10 hingga 200
nanosecond. p adalah probabilitas terjadinya page fault, yang berkisar antara 0 hingga 1.
Jika p sama dengan 0 yang berarti bahwa tidak pernah terjadi page fault, makaeffective
access time akan sama dengan memory access time, dan itulah yang diharapkan. Sedangkan
jika p sama dengan 1, yang berarti bahwa semua halaman mengalami page fault,
maka effective access time-nya akan semaikin meningkat.
Untuk mendapatkan effective access time, kita harus mengetahui waktu yang diperlukan untuk
menangani page fault. Komponen-komponen dalam penanganan page faultterdiri dari tiga
kelompok besar, yaitu melayani interupsi dari page fault, membaca halaman, dan mengulang
kembali proses.
Penggunaan effective access time dapat ditunjukkan dalam contoh berikut.
Contoh penggunaan effective address
Diketahui waktu pengaksesan memori (ma) sebesar 100 ns. Waktu page fault sebesar 20 ms.
Maka effective access time = (1 – p) x ma + p x page fault time = (1 – p) x 100 + p x
20000000 = 100 – 100p + 20000000p = 100 + 19.999.900p nanosecond
Pada demand paging, diusahakan agar kemungkinan terjadinya page fault rendah, karena
bila effective access time-nya meningkat, maka proses akan berjalan lebih lambat.
EAT Demand Paging
Waktu akses memory = 200 nanosecond
Rata-rata waktu page-fault service time = 8 milliseconds
1 ms=106 ns
EAT = ((1 – p) x 200) + (p x (8 milliseconds))
= ((1 – p) x 200) + (p x 8,000,000)
= 200 + (p x 7,999,800)
Jika 1 dari 1.000 kali akses terjadi fault, maka EAT = 8.2 microseconds.
EAT bertambah menjadi 40 kali lipat dari waktu akses memory
Jika ingin EAT tidak lebih dari 220ns (waktu akses memori bertambah 10 %) maka :
220 > 200+7.999.800 x p
20 > 7.999.800 x p
p < 0,0000025, artinya p harus lebih kecil dari kejadian page-fault sekali dalam 400.000 kali
akses
Tiga komponen waktu utama saat terjadi page fault:
-  service page fault interrupt (1-100 microseconds)
-  baca page/page switch time (8 millisecond)

 Rata-rata latency: 3 ms, seek: 5 ms, transfer: 0.05 ms

-  restart proses (1-100 microseconds)

http://imanjoko1991.blogspot.com/2013/06/sistem-paging.html

http://faizalkustendi.blogspot.com/2016/04/sistem-paging-pada-sistem-operasi.html

http://tugaskita-sistemoperasi.blogspot.com/2013/06/sistem-paging-dan-segmentasi.html

http://opreting.blogspot.com/

http://dicykrisdiyanto.blogspot.com/2013/06/normal-0-false-false-false-en-us-x-none.html

http://aksikreasi.blogspot.com/2013/07/sistem-paging-dan-segmentasi.html

http://tea2aya.blogspot.com/2013/06/v-behaviorurldefaultvmlo.html

https://www.academia.edu/36251587/Makalah_Sistem_Operasi_Pengelolaan_Memori_Cara_Segment
asi_dan_Perbedaan_dengan_Paging

Anda mungkin juga menyukai