MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga...
Transcript of MAKALAH SISTEM OPERASIebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc... · GUI/CLI. Sehingga...
MAKALAH SISTEM OPERASI
Manajemen Memori
(Dosen pengampu : Putri Taqwa Prasetyaningrum)
Di SUSUN OLEH :
RICKY ARIF SUKOCO
14121022
UNIVERSITAS MERCUBUANA YOGYAKARTA
FAKULTAS TEKNOLOGI INFORMASI
PRODI SISTEM INFORMASI
2016-2017
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah SWT, karena atas nikmat dan karunianya
kami mampu menyelesaikan makalah dengan judul manajemen memori yang meliputi
hierarki organisasi memori pada system computer, pengalamatan memori, overlay, dynamic
loading, dynamic linking, virtual memory, dan mekanisme demand paging..
Makalah ini ditulis dengan tujuan untuk memberikan pengetahuan untuk dapat
mempelajari, memahami dan mencoba manajemen memori secara mudah dan sesuai dengan
kebutuhan. Selain itu, makalah ini ditujukan juga untuk memenuhi tugas semester lima dalam
matakuliah Sistem Operasi.
Dalam makalah ini juga kami berusaha memberikan materi secara lengkap, sederhana
dan mudah untuk dipahami. Ada pepatah bahwa tidak ada gading yang tidak retak maka
makalah ini pun tidak lepas dari kekurangan baik dari segi teknis maupun segi materi
sehingga jika ada saran dan kritik yang membangun anda dapat memberitahukannya kepada
kami. Akhir kata kami ucapakan terimakasih.
Yogyakarta, 26 November 2016
Ricky Arif Sukoco
Daftar Isi
COVER ................................................................................................................................................... 1
KATA PENGANTAR ........................................................................................................................ 2
Daftar Isi ............................................................................................................................................. 3
BAB 1 PENDAHULUAN .................................................................................................................. 4
1.1 Latar Belakang ........................................................................................................................... 4
1. Hierarki organisasi memori pada sistem komputer ..................................................................... 4
1.1 Gambar ................................................................................................................................ 5
1.2 Contoh dan Penerapannya ................................................................................................... 5
2. Pengalamatan Memori ................................................................................................................ 7
2.1 Immediate Addressing (Pengalamatan Segera) ........................................................................ 8
2.2 Direct Addressing (Pengalamatan Langsung) ........................................................................... 8
2.3 Indirect Addressing (Pengalamatan tak langsung) .................................................................... 9
2.4 Register addressing (Pengalamatan Register) ......................................................................... 10
2.5 Register indirect addressing (Pengalamatan tak-langsung register) ....................................... 11
2.6 Displacement addressing......................................................................................................... 11
2.7 Stack addressing ...................................................................................................................... 12
3. Overlay ...................................................................................................................................... 13
3.1 Gambar .............................................................................................................................. 13
3.2 Contoh dan Penerapannya ................................................................................................. 13
4. Dynamic Loading ...................................................................................................................... 14
4.1 Gambar .............................................................................................................................. 14
4.2 Contoh dan Penerapannya ................................................................................................. 14
5. Dynamic Linking ...................................................................................................................... 15
6. Virtual Memory ........................................................................................................................ 16
6.1 Gambar .............................................................................................................................. 16
6.2 Contoh dan Penerapannya ................................................................................................. 16
7. Mekanisme Demand Paging ..................................................................................................... 17
7.1 Gambar .............................................................................................................................. 17
7.2 Contoh dan Penerapannya ................................................................................................. 17
8. DAFTAR PUSTAKA...................................................................................................................... 20
BAB 1 PENDAHULUAN
1.1 Latar Belakang Sistem operasi adalah perangkat lunak sisitem yang bertugas untuk melakukan kontrol dan
manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan perangkat lunak
aplikasi seperti program-program pengolah kata dan peramban web. Secara umum, Sistem Operasi adalah
perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer
dinyalakan booting. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan
Sistem Operasi akan melakukan layanan inti untuk software-software itu. Layanan inti
tersebut seperti akses ke disk, manajemen memori, penjadwalan tugas schedule task, dan antar-muka user
GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut,
karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti
dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Jika sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah penghubung antara
lapisan hardware dengan lapisan software. Sistem Operasi melakukan semua tugas-tugas penting dalam
komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar.
Sistem Operasi menjamin aplikasi lainnya dapat menggunakan memori, melakukan input dan output
terhadap peralatan lain, dan memiliki akses kepada sistem berkas. Apabila beberapa aplikasi berjalan
secara bersamaan, maka Sistem Operasi mengatur schedule yang tepat, sehingga sedapat mungkin semua
proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak
saling mengganggu.
1. Hierarki organisasi memori pada sistem komputer
Memori adalah salah satu bagian dari komputer yang berfungsi sebagai menyimpan
program – program dan data – data disimpan, sehingga data akan diolah menjadi suatu data
hasil olahan atau sistem informasi yang akan di outputkan, sedangkan program atau intruksi
digunakan untuk mengolah data tersebut. Memori bersifat volatile (yaitu memori yang
datanya dapat ditulis dan dihapus tapi data akan hilang jika kehilangan tenaga/power)
dan non-volatile (yaitu memori yang datanya dapat ditulis dan dihapus dan tidak akan hilang
walaupun kehilangan tenaga/power) dan juga memori dengan kecepatan akses yang tinggi
dan rendah. Hirarki dari memori dapat digambarkan sebagai berikut;
1.1 Gambar
Gambar1.1 Hierarki organisasi memori pada system komputer
1.2 Contoh dan Penerapannya
1.2.1 Register Memori Merupakan jenis memori dengan kecepatan akses yang paling
cepat , memori ini terdapat pada CPU/ prosesor. Contoh : Register Data, Register
Alamat, Stack Pointer Register, Memori Addres Register, Instruction Register, dll.
1.2.2 Cache Memori Merupakan memori berkapasitas kecil yang lebih mahal dari
memori utama. Cache memori terletak antara memori utama dan register
pemroses, berfungsi agar pemroses tidak langsung mengacu pada memori utama
agar kinerja dapat ditingkatkan. Cache Memory ini ada dua macam yaitu :
a. Cache Memory yang terdapat pada internal Processor , chace memory jenis ini
kecepatan aksesnya sangat tinggi, dan harganya sangat mahal. Contohnya pada
Processor yang berharga mahal seperti P4,P3,AMD-Athlon dll, semakin tinggi
kapasitas L1,L2 Chace memori maka semakin mahal dan semakin cepat
Processor.
b. Chace Memory yang terdapat diluar Processor, yaitu berada pada MotherBoard,
memori jenis ini kecepatan aksesnya sangat tinggi, meskipun tidak secepat chache
memori jenis pertama ( yang ada pada internal Processor ). Semakin besar
kapasitasnya maka semakin mahal dan cepat. Hal ini bisa kita lihat pada
Motherboard dengan beraneka ragam kapasitas chace memory yaitu 256kb,
512kb, 1Mb, 2Mb dll.
1.2.3 Memori Utama Memori yang berfungsi untuk menyimpan data dan program. Jenis
Memori Utama :
a. ROM ( Read Only memory) yaitu memory yang hanya bisa dibaca saja
datanya atau programnya. Pada PC, ROM terdapat pada BIOS ( Basic Input
Output System ) yang terdapat pada Mother Board yang berfungsi untuk men-
setting peripheral yang ada pada system. Contoh: AMIBIOS, AWARD BIOS,
dll. ROM untuk BIOS terdapat beragam jenis diantaranya jenis Flash
EEPROM BIOS yang memiliki kemampuan untuk dapat diganti programnya
dengan software yang disediakan oleh perusahhan pembuat Mother Board,
yang umumnya penggantian tersebut untuk peningkatan unjuk kerja dari
peripheral yang ada di Mother Board.
b. RAM (Random Acces Memory) yang memiliki kemampuan untuk dirubah
data atau program yang tersimpan didalamnya. Ada beberapa jenis RAM yang
ada dipasaran saat ini : SRAM, EDORAM , SDRAM, DDRAM, RDRAM,
VGRAM.
1.2.4 Cache Disk
Memori berkecepatan tinggi yang sifat nya sementara.Fungsi dari chache memory
adalah tempat menyimpan data/instruksi sementara yang diperlukan prosessor jadi
chache memori ini berfungsi untuk mempercepat akses data pada komputer kerena
chace menyimpan data/informasi yang telah diakses oleh suatu buffer sehingga
meringankan kinerja komputer.
Cara kerja memori chache,jika prosessor membutuhkan data pertama dia akan
mencarinya di chache memori,jika data ditemukan prosesor akan membacanya
dengan delay yang sangat kecil, jika data tidak ditemukan maka prosessor akan
mencarinya pada RAM yang kecepatannya lebih rendah.Pada dasarnya chace
memori dapat memberikan data yang dibutuhkan prosessor sehingga kinerja RAM
yang lambat dapat dikurangi.
1.2.5 Cakram Magnetis
merupakan piranti penyimpanan sekunder yang paling banyak dijumpai pada
sistem komputer modern. Pada saat disk digunakan, motor drive berputar dengan
kecepatan yang sangat tinggi. Ada sebuah read-write head yang ditempatkan di
atas permukaan piringan tersebut. Permukaan disk terbagi atas beberapa track
yang masih terbagi lagi menjadi beberapa sektor. Cakram fixed-head memiliki
satu head untuk tiap-tiap track, sedangkan cakram moving-head (atau sering
dikenal dengan nama cakram keras ) hanya memiliki satu head yang harus
dipindah-pindahkan untuk mengakses dari satu track ke track yang lainnya.
1.2.6 Magnetic Disk
suatu medium untuk perekaman magnetis, dibuat dari suatu mantel magnetizable
tipisyang panjang. Kebanyakan audio, video dan penyimpanan data komputer jenis ini
dikembangkan Negara Jerman, berdasar pada konsep kawat magnetis adalah Alat yang
merekam dan memainkan kembali audio dan pita perekam penggunaan video adalah alat
perekam dan video recorder. Suatu alat yang menyimpan data komputer pada pita
perekam adalah suatu tape drive ( unit tape ).
1.2.7 Cakram Optis
Adalah suatu medium penyimpanan data komputer dapat berupa vilm atau music
dan data yang dapat dibaca dengan optic reader pada room dan setiap cakram
optic memiliki room yang berbeda utuk setiap jeniscakram optic tertentu.
2. Pengalamatan Memori
2.1 Immediate Addressing (Pengalamatan Segera)
Adalah bentuk pengalamatan yang paling sederhana.
2.1.1 Penjelasan :
a. Operand benar-benar ada dalam instruksi atau bagian dari intruksi.
b. Operand sama dengan field alamat
c. Umumnya bilangan akan disimpan dalam bentuk complement dua
d. Bit paling kiri sebagai bit tanda
e. Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri
hingga maksimum word data.
2.1.2 Keuntungan :
a. Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk
memperoleh operand.
b. Menghemat siklus instruksi sehingga proses keseluruhanakan akan cepat
2.1.3 Kekurangan :
a. Ukuran bilangan dibatasi oleh ukuran field
2.1.4 Contoh : ADD 7 ; tambahkan 7 pada akumulator
2.2 Direct Addressing (Pengalamatan Langsung)
2.2.1 Penjelasan :
a. Teknik ini banyak digunakan pada komputer lama dan komputer kecil
b. Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus
khusus.
2.2.2 Kelebihan :
a. Field alamat berisi efektif address sebuah operand.
2.2.3 Kekurangan :
a. Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil
dibandingkan panjang word.
2.2.4 Contoh :ADD A ; tambahkan isi pada lokasi alamat A ke akumulator
Gambar 1.2 pengalamatan langsung
2.3 Indirect Addressing (Pengalamatan tak langsung)
2.3.1 Penjelasan :
a. Merupakan mode pengalamatan tak langsung
b. Field alamat mengacu pada alamat word di alamat memori, yang pada
gilirannya akan berisi alamat operand yang panjang
2.3.2 Kelebihan :
a. Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat
referensi
2.3.3 Kekurangan :
a. Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat
proses operasi
2.3.4 Contoh : ADD (A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke
akumulator
Gambar 1.3 pengalamatan tak langsung
2.4 Register addressing (Pengalamatan Register)
2.4.1 Penjelasan :
a. Metode pengalamatan register mirip dengan mode pengalamatan langsung
b. Perbedaanya terletak pada field alamat yang mengacu pada register, bukan
pada memori utama.
c. Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat
mereferensi 8 atau 16 register general purpose
2.4.2 Keuntungan :
a. Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan
referensi memori
b. Akses ke register lebih cepat daripada akses ke memori, sehingga proses
eksekusi akan lebih cepat
2.4.3 Kerugian :
a. Ruang alamat menjadi terbatas
2.4.4 Contoh :
Gambar 1.4 Pengalamatan Register
2.5 Register indirect addressing (Pengalamatan tak-langsung register)
2.5.1 Penjelasan :
a. Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan
tidak langsung
b. Perbedaannya adalah field alamat mengacu pada alamat register
c. Letak operand berada pada memori yang dituju oleh isi register
d. Keuntungan dan keterbatasan pengalamatan register tidak langsung pada
dasarnya sama dengan pengalamatan tidak langsung
e. Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak
langsung sehingga alamat yang dapat direferensi makin banyak
f. Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan
register tidak langsung hanya menggunakan satu referensi memori utama
sehingga lebih cepat daripada mode pengalamatan tidak langsung
2.5.2 Contoh :
Gambar 1.5 Pengalamatan tak-langsung register
2.6 Displacement addressing
2.6.1 Penjelasan :
a. Menggabungkan kemampuan pengalamatan langsung dan pengalamatan
register tidak langsung
b. Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya
sebuah field yang eksplisit
c. Operand berada pada alamat A ditambahkan isi register
d. Tiga model displacement
o Relative addressing : register yang direferensi secara implisit adalah Program
Counter (PC)
Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke
field alamat
Memanfaatkan konsep lokalitas memori untuk menyediakan operand-
operand berikutnya
o Base register addressing : register yang direferensi berisi sebuah alamat
memori dan field alamat berisi perpindahan dari alamat itu
Referensi register dapat eksplisit maupun implisit
Memanfaatkan konsep lokalitas memori
o Indexing : field alamat mereferensi alamat memori utama, dan register yang
direferensikan berisi pemindahan positif dari alamat tersebut
Merupakan kebalikan dari mode base register
Field alamat dianggap sebagai alamat memori dalam indexing
Manfaat penting dari indexing adalah untuk eksekusi program-
pprogram iteratif
2.6.2 Contoh : Field eksplisit bernilai A dan field imlisit mengarah pada register
Gambar 1.6 Pengalamatan Displacement addressing
2.7 Stack addressing
2.7.1 Penjelasan :
a. Stack adalah array lokasi yang linier = pushdown list = last-in-firs-out
b. Stack merupakan blok lokasi yang terbaik
Btir ditambahkan ke puncak stack sehingga setiap blok akan terisi secara
parsial
c. Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat
bagian paling atas stack
d. Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal
ini stack pointer mereferensi ke elemen ketiga stack
e. Stack pointer tetap berada dalam register
f. Dengan demikian, referensi-referensi ke lokasi stack di dalam memori pada
dasarnya merupakan pengalamatan register tidak langsung.
3. Overlay
3.1 Gambar
Gambar 1.7 Overley
3.2 Contoh dan Penerapannya
Hanya instruksi dan data yang diperlukan pada suatu waktu yang disimpan di memori.
Overlay diperlukan jika ukuran proses lebih besar dari memori yang dialokasikan untuknya.
Overlay tidak membutuhkan dukungan khusus dari SO antara lain :
• User dapat mengimplementasikan secara lengkap menggunakan struktur file sederhana.
• OS memberitahu hanya jika terdapat I/O yang melebihi biasanya.
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. 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.
Cara kerjanya yaitu dengan membuat beberapa overlays yang didasarkan pada
perintah-perintah yang diperlukan pada satu waktu tertentu. Setelah itu, membuat overlays
drivernya yang digunakan sebagai jembatan atau perantara antara overlays yang dibuat.
Proses selanjutnya ialah me-load instruksi yang dibutuhkan pada satu waktu ke dalam absolut
memori dan menunda instruksi lain yang belum di butuhkan pada saat itu. Setelah selesai
dieksekusi maka instruksi yang tertunda akan diload menggantikan instruksi yang sudah tidak
dibutuhkan lagi.
4. Dynamic Loading
4.1 Gambar
Gambar 1.8 dynamic loading
4.2 Contoh dan Penerapannya
Dynamic Loading adalah program utama di-load dahulu dan dieksekusi. Bila suatu
routine perlu memanggil routine lain, routine yang dipanggil lebih dahulu diperiksa apakah
rutin yang dipanggil sudah di-load. Jika tidak, relocatable linking loader dipanggil untuk me-
load rutin yg diminta ke memori dan meng-ubah tabel alamat.
Keuntungan dari dynamic loading adalah rutin yang tidak digunakan tidak pernah di-load.
Skema ini lebih berguna untuk kode dalam jumlah besar diperlukan untuk menangani kasus-
kasus yang jarang terjadi seperti error routine. Dinamic loading tidak memerlukan dukungan
khusus dari sistem operasi. Sistem operasi hanya perlu menyediakan beberapa rutin pustaka
untuk implementasi dynamic loading.
Contoh pemakaian Dynamic Loading;
Cara pemakaian API dari Dynamic Loading akan diperlihatkan di sini dengan
menggunakan program demo yang sederhana. Source code program terdiri dari dua file, yaitu
main.c dan simple_dl.c (Lihat list program: script-1 adalah main.c, script-2 adalah
simple_dl.c dan script-3 adalah Makefile). File main.c adalah program utama yang
mempunyai fungsi main(). Sedangkan file simple_dl.c adalah file modul yang berisi simbol
variabel dan simbol pengimplementasi fungsi yang akan diakses dari fungsi main() dengan
menggunakan fasilitas API Dynamic Loading. Dua simbol didefinisikan di dalam
simple_dl.c. Yang pertama adalah simbol variabel yang didefinisikan sebagai berikut: char*
info_linux = "Info Linux!"; Nama simbol variabel ini adalah info_linux yang merupakan
pointer dari tipe data char. Pada pointer ini juga secara langsung dialokasikan sejumlah
memori yang berisikan karakter string "Info Linux!". Simbol kedua adalah hello_world yang
merupakan simbol dari pengimplementasi fungsi hello_world(). Pada prinsipnya nama simbol
tidak selalu sama dengan nama pengimplementasi fungsi. Kita akan membahas hal ini secara
ringkas pada bagian akhir dari artikel ini pada kasus penulisan program menggunakan C++.
Simbol fungsi ini didefinisikan sebagai berikut: void hello_world(void); Fungsi ini hanya
akan menampilkan kalimat "Hello world!" di layar monitor. Sebelum kita membahas kode di
file main.c, kita akan mencoba untuk mengkompilasi file simple_dl.c. Untuk dapat
menghasilkan shared library, pada proses kompilasi harus digunakan parameter -fPIC. PIC
adalah kepanjangan dari position independent code.
5. Dynamic Linking
Sebagian besar sistem operasi hanya men-support static linking, dimana sistem library
language diperlakukan seperti obyek modul yang lain dan dikombinasikan dengan loader ke dalam
binary program image. Konsep dynamic linking sama dengan dynamic loading. Pada saat loading,
linking ditunda sampai waktu eksekusi. Terdapat kode kecil yang disebut stub digunakan untuk
meletakkan rutin library di memori dengan tepat. Stub diisi dengan alamat rutin dan mengeksekusi
rutin. Sistem operasi perlu memeriksa apakah rutin berada di alamat memori.
Dinamic linking biasanya digunakan dengan sistem library, seperti language subroutine
library. Tanpa fasilitas ini, semua program pada sistem perlu mempunyai copy dari library language
di dalam executable image. Kebutuhan ini menghabiskan baik ruang disk maupun memori utama.
Bagaimanapun, tidak seperti dynamic loading, dynamic linking membutuhkan beberapa
dukungan dari sistem operasi, misalnya bila proses-proses di memori utama saling diproteksi, maka
sistem operasi melakukan pengecekan apakah rutin yang diminta berada diluar ruang alamat.
Beberapa proses diijinkan untuk mengakses memori pada alamat yang sama. File dynamic linking
berekstensi .dll, .sys atau .drv.
6. Virtual Memory
6.1 Gambar
Gambar 1.8 Virtual Memory
6.2 Contoh dan Penerapannya
Virtual memory adalah sebuah mekanisme yang digunakan oleh aplikasi untuk
menggunakan sebagian dari memori sekunder seolah-olah ia menggunakannya sebagai RAM
fisik yang terinstal di dalam sebuah sistem. Mekanisme ini beroperasi dengan cara
memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard drive
yang disebut dengan swap file , page file atau swap partition.
Setiap program yang dijalankan harus berada di memori. Memori merupakan suatu
tempat penyimpanan utama ( primary storage) yang bersifat sementara (volatile). Ukuran
memori yang terbatas dapat menimbulkan masalah bagaimana menempatkan program yang
berukuran yang lebih besar dari ukuran memori fisik (memori utama) dan
masalah penerapan multiprogramming yang membutuhkan tempat yang lebih besar di
memori. Memori virtual memisahkan antara memori logis dan memori fisiknya. Memori
logis merupakan kumpulan keseluruhan halaman dari suatu program. Tanpa memori virtual,
memori logis akan langsung dibawa ke memori fisik (memori utama). Di sinilah memori
virtual melakukan pemisahan dengan menaruh memori logis ke secondary
storage (disk sekunder) dan hanya membawa halaman yang diperlukan ke memori utama
(memori fisik). Teknik ini menempatkan keseluruhan program di disk sekunder dan
membawa halaman-halaman yang diperlukan ke memori fisik sehingga memori utama hanya
akan menyimpan sebagian alamat proses yang sering digunakan dan sebagian lainnya akan
disimpan dalam disk sekunder dan dapat diambil sesuai dengan kebutuhan. Jadi jika proses
yang sedang berjalan membutuhkan instruksi atau data yang terdapat pada suatu halaman
7. Mekanisme Demand Paging
7.1 Gambar
Demand paging adalah sistem paging dengan swapping seperti pada ilustrasi gambar
dibawah.
Gambar 1.9 Mekanisme Demand Paging
7.2 Contoh dan Penerapannya
Page diletakkan di memori hanya jika diperlukan. Hal ini menyebabkan kebutuhan
I/O lebih rendah, kebutuhan memori lebih rendah, responlebih cepat dan lebih banyak
user yang menggunakan.
Proses disimpan di memori sekunder (disk). Jika proses akan dieksekusi, maka
dipindah (swap) ke memori. Menggunakan lazy swapper untuk melakukan swapping bila
page tersebut akan digunakan yang berarti sebuah page tidak pernah ditukar ke memori
kecuali page diperlukan. Jika page diperlukan, dilakukan acuan ke page tersebut, tetapi jika
acuan invalid maka dilakukan penghentian.
Untuk membedakan antara page pada memori dengan page pada disk digunakan
valid-invalid bit. Tabel page untuk page yang berada di memori diset "valid', sedangkan tabel
page untuk page yang tidak sedang di memori (ada pada disk) diset "invalid" seperti Gambar
Gambar 2.0 Mekanisme Demand Paging
Akses ke page yang diset "invalid" menyebabkan page fault, yan menyebabkan trap
ke sistem operasi. Karena status (register, kode kondisi, counter instruksi) dari proses ter-
interrupt disimpan bila terjadi page fault, proses dapat dimulai lagi pada tempat dan status
yang sama, kecuali page yang cocok sedang di memori dan sedang diakses. Prosedur untuk
menangani page fault seperti Gambar sebagai berikut :
1. Sistem operasi melihat tabel untuk menentukan jika acuan invalid maka proses
dihentikan dan page sedang tidak berada di memori.
2. Jika acuan invalid dilakukan trap ke sistem operasi.
3. Sistem mencari frame kosong
4. Sistem melakukan proses swapping ke frame bebas.
5. Tabel page di-reset, bit valid-invalid diset 1 atau valid
6. instruksi di-restart.
Apabila tidak ditemukan frame bebas maka dilakukan page replacement yaitu
mencari beberapa page di memori yang tidak digunakan kemudian dilakukan swap out ke
backing store. Terdapat beberapa algoritma page replacement dimana performansi algoritma
diharapkan menghasilkan jumlah page faultminimum. Beberapa page kemungkinan dibawa
ke memori beberapa kali. Perangkat keras yang dibutuhkan untuk mendukung demand
paging sama dengan perangkat keras untuk sistem paging denganswapping yaitu;
Tabel page : tabel mempunyai kemampuan untuk memberi entry bit valid-invalid atau
nilai khusus untuk bit proteksi
Memori sekunder : digunakan untuk membawa page yang tidak di memori dan
biasanya adalah disk kecepatan tinggi yang disebut swap device.
7.3 Unjuk Kerja DEMAND PAGING
Demand paging memberikan efek yang signifikan dalam kinerja system computer.
Diasumsikan ma adalah access time ke memori dan Padalah probabilitas terjadi page fault (0
≤ p ≤ 1), maka effective access time didefinisikan sebagai :
EAT = (1-p) x ma + p x page_fault-time
Untuk menghitung effective access time, harus diketahui berapa waktu yang
diperlukan untuk melayani page fault. Page fault menyebabkan terjadi
1. Trap ke sistem operasi.
2. Menyimpan register dan status proses.
3. Menentukan interrupt adalah page fault
4. Memeriksa page acuan legal atau tidak dan menentukan lokasi page pada disk.
5. Sementara menunggu, alokasikan CPU untuk user lain.
6. Interrupt dari disk (melengkapi I/O).
7. Menyimpan register dan status process user lain.
8. Menentukan interrupt dari disk.
9. Memperbaiki tabel page dan tabel lain untuk menunjukkan pageyang dimaksud sudah
di memori.
10. Menunggu CPU dialokasikan untuk proses ini kembali.
8. DAFTAR PUSTAKA 1. http://informatikateknologi.blogspot.co.id/2015/06/sistem-hirarki-pada-
komputer.html#sthash.lvNGvpKM.dpuf
2. http://dheyylant.blogspot.co.id/2013/02/pengertian-dan-konsep-viirtual-meemory.html
3. https://penawikara.wordpress.com/2013/05/31/mode-pengalamatan/
4. https://iu33.blogspot.co.id/2014/10/hirarki-sistem-memori.html
5. http://mukhtarizafunna.blogspot.co.id/2015/04/makalah-sistem-operasi-manajemen-
memori.html
6. https://rifkiewahyuferriana.wordpress.com/2011/06/09/6-manajemen-memori/
7. https://docs.google.com/document/d/1_TW8Gn7aniwNku3kFvI-D-
8. http://systemoperasiwin.blogspot.co.id/2012/12/manajemen-memori-pada-sistem.html
9. http://www.academia.edu/11430106/Virtual_Memory
10. https://rifkiewahyuferriana.wordpress.com/2011/06/09/6-manajemen-memori/
11. https://dodotif.wordpress.com/2014/09/21/hirarki-memori/
.