123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging
Click here to load reader
-
Upload
aconk-a-d-kurniawan -
Category
Documents
-
view
65 -
download
3
Transcript of 123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging
TUGAS
ARSITEKTUR DAN ORGANISASI KOMPUTER 1
Dibuat Oleh :
Asep Dwi Kurniawan / 123080024
Dosen :
Hidayatullah Himawan, ST.,MM
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
YOGYAKARTA
2012
Partitioning
Partitioning adalah teknik membagi memori menjadi beberapa bagian sesuai dengan
kebutuhan. Sistem operasi akan menempati bagian memori yang tetap.
Gambar 2.1. Proses partitioning
Ada dua cara dalam pempartisian, yaitu :
1. Pemartisian Statis
Pemartisian Statis adalah pemartisian memori menjadi partisi tetap yang mana proses-
proses akan ditempatkan pada memori yang telah dipartisi tersebut.
Berdasarkan ukuran dibagi menjadi dua, yaitu :
a. Pemartisian dengan partisi berukuran sama
yaitu teknik pemartisian dengan cara pembagian memori dengan besar kapasitas yang
sama semua. Namun kalemahannya adalah
Bila program berukuran lebih besar dibanding partisi yang tersedia, maka
tidak dapat dimuatkan dan dijalankan. Pemrogram harus mempersiapkan overlay. Overlay
adalah program dipecah menjadi bagian-bagian yang dapat dimuat ke memori. Sehingga
hanya bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan
saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping.
Bila program lebih kecil daripada ukuran partisi yang tersedia, maka akan ada
ruang yang tak dipakai, yang disebut fragmentasi internal atau pemborosan memori.
Kelemahan ini dapat dikurangi dengan membuat partisi tetap dengan ukuran yang berbeda.
Fragmentasi adalah pemborosan memori yang terjadi pada setiap organisasi penyimpanan.
Fragmentasi internal : proses tidak mengisi penuh partisi yang telah ditetapkan
untuk proses
Fragmentasi eksternal : partisi tidak dapat digunakan karena ukuran partisi
lebih kecil dibanding ukuran proses yang menunggu di antrian.
b. Pemartisian dengan partisi berukuran berbeda
yaitu teknik pemartisian dengan cara pembagian memori dengan besar kapasitas yang
berbeda-beda.
2. Pemartisian Dinamis
Dengan menggunkan partisi statis menyebabkan memori terlalu banyak diboroskan
dengan proses-proses yang lebih kecil dibanding partisi yang ditempatinya. Namun apabila
menggunakanpartisi dinamis maka jumlah, lokasi, dan ukuran proses di memori dapat
beragam sepanjang waktu secara dinamis. proses yang akan masuk ke memori segera
dibuatkan partisi untuknya sesuai kebutuhannya. Teknik ini meningkatkan utilitas memori.
Kelemahan partisi dimanis adalah dapat terjadi lubang-lubang kecil memori di antara
partisi-partisi yang dipakai merumitkan alokasi dan dealokasi memori.
Swaping
Memori adalah salah satu pusat kegiatan pada sebuahk omputer, karena setiap proses
yang akan dijalankan harus melalui memori terlebih dahulu. CPU mengambil instruksi dari
memori sesuai yang ada pada program counter. Instruksi memerlukan proses
memasukkan/menyimpan kealamatdi memori.Tugas sistem operasi adalah mengatur
peletakan banyak proses pada suatu memori.
Proses swapping menukarkan sebuah proses keluar dari memori untuk sementara
waktu ke sebuah penyimpanan sementara dengan sebuah proses lain yang sedang
membutuhkan sejumlah alokasi memori untuk dieksekusi. Tempat penyimpanan sementara
ini biasanya berupa sebuah fast disk dengan kapasitas yang dapat menampung semua salinan
dari semua gambaran memori serta menyediakan akses langsung ke gambaran tersebut. Jika
eksekusi proses yang dikeluarkan tadi akan dilanjutkan beberapa saat kemudian, maka ia
akan dibawa kembali ke memori dari tempat penyimpanan sementara tadi.
Bagaimana sistem mengetahui proses mana saja yang akan dieksekusi? Hal ini dapat
dilakukan dengan ready queue. Ready queue berisikan semua proses yang terletak baik di
penyimpanan sementara maupun memori yang siap untuk dieksekusi. Ketika penjadwal CPU
akan mengeksekusi sebuah proses, ia lalu memeriksa apakah proses bersangkutan sudah ada
di memori ataukah masih berada dalam penyimpanan sementara. Jika proses tersebut belum
berada di memori maka proses swapping akan dilakukan seperti yang telah dijelaskan di atas.
Gambar 1.1. Proses Swapping
Pada teknik swapping,terbagi atas :
1.Swap-In
Memasukan program dari logical ke physical memori (dari breaking storage ke
memori).
Swap-Out
Swap-In
frame numberpage number Frame = Page = 2n = 25
Logical Memory Page Table Phiscal Memory
32
5
4
3
2
1
0
2
3
1
4
5
6
1
2
3
4
5
0
2.Swap-Out
Mengeluarkan program dari memori ke breaking storage karena sudah penuh.
Sebuah contoh untuk menggambarkan teknik swapping ini adalah sebagai berikut:
Algoritma Round-Robin yang digunakan pada multiprogramming environment menggunakan
waktu kuantum (satuan waktu CPU) dalam pengeksekusian proses-prosesnya. Ketika waktu
kuantum berakhir, memory manager akan mengeluarkan (swap out) proses yang telah selesai
menjalani waktu kuantumnya pada suatu saat serta memasukkan (swap in) proses lain ke
dalam memori yang telah bebas tersebut. Pada saat yang bersamaan penjadwal CPU akan
mengalokasikan waktu untuk proses lain dalam memori. Hal yang menjadi perhatian adalah,
waktu kuantum harus cukup lama sehingga waktu penggunaan CPU dapat lebih optimal jika
dibandingkan dengan proses penukaran yang terjadi antara memori dan disk.
Teknik swapping roll out, roll in menggunakan algoritma berbasis prioritas dimana
ketika proses dengan prioritas lebih tinggi tiba maka memory manager akan mengeluarkan
proses dengan prioritas yang lebih rendah serta me-load proses dengan prioritas yang lebih
tinggi tersebut. Saat proses dengan prioritas yang lebih tinggi telah selesai dieksekusi maka
proses yang memiliki prioritas lebih rendah dapat dimasukkan kembali ke dalam memori dan
kembali dieksekusi.
Sebagian besar waktu swapping adalah waktu transfer. Sebagai contoh kita lihat
ilustrasi berikut ini: sebuah proses pengguna memiliki ukuran 5 MB, sedangkan tempat
penyimpanan sementara yang berupa harddiskmemiliki kecepatan transfer data sebesar 20
MB per detiknya. Maka waktu yang dibutuhkan untuk mentransfer proses sebesar 5 MB
tersebut dari atau ke dalam memori adalah sebesar 5000 KB / 20000 KBps = 250 ms.
Perhitungan di atas belum termasuk waktu latensi, sehingga jika kita asumsikan waktu
latensi sebesar 2 ms maka waktu swap adalah sebesar 252 ms. Oleh karena terdapat dua
kejadian dimana satu adalah proses pengeluaran sebuah proses dan satu lagi adalah proses
pemasukan proses ke dalam memori, maka total waktu swap menjadi 252 + 252 = 504 ms.
Agar teknik swapping dapat lebih efisien, sebaiknya proses-proses yang
di- swap hanyalah proses-proses yang benar-benar dibutuhkan sehingga dapat mengurangi
waktu swap. Oleh karena itulah, sistem harus selalu mengetahui perubahan apapun yang
terjadi pada pemenuhan kebutuhan terhadap memori. Disinilah sebuah proses memerlukan
fungsi system call, yaitu untuk memberitahukan sistem operasi kapan ia meminta memori dan
kapan membebaskan ruang memori tersebut.
Jika kita hendak melakukan swap, ada beberapa hal yang harus diperhatikan. Kita
harus menghindari menukar proses dengan M/K yang ditunda (asumsinya operasi M/K
tersebut juga sedang mengantri di antrian karena peralatan M/Knya sedang sibuk). Contohnya
seperti ini, jika proses P1dikeluarkan dari memori dan kita hendak memasukkan proses P2,
maka operasi M/K yang juga berada di antrian akan mengambil jatah ruang memori yang
dibebaskan P1 tersebut. Masalah ini dapat diatasi jika kita tidak melakukan swap dengan
operasi M/K yang ditunda. Selain itu, pengeksekusian operasi M/K hendaknya dilakukan
pada buffer sistem operasi.
Tiap sistem operasi memiliki versi masing-masing pada teknik swapping yang
digunakannya. Sebagai contoh pada UNIX, swapping pada dasarnya tidak diaktifkan, namun
akan dimulai jika banyak proses yang membutuhkan alokasi memori yang
banyak. Swapping akan dinonaktifkan kembali jika jumlah proses yang dimasukkan
berkurang. Pada sistem operasi Microsoft Windows 3.1, jika sebuah proses baru dimasukkan
dan ternyata tidak ada cukup ruang di memori untuk menampungnya, proses yang lebih dulu
ada di memori akan dipindahkan ke disk. Sistem operasi ini pada dasarnya tidak menerapkan
teknik swapping secara penuh, hal ini disebabkan pengguna lebih berperan dalam
menentukan proses mana yang akan ditukar daripada penjadwal CPU. Dengan ketentuan
seperti ini proses-proses yang telah dikeluarkan tidak akan kembali lagi ke memori hingga
pengguna memilih proses tersebut untuk dijalankan.
PAGING
Paging adalah suatu metode yang mengizinkan alamat logika proses untuk dipetakan
ke alamat fisik memori yang tidak berurutan, yaitu sebagai solusi dari masalah fragmentasi
ekstern. Metode dasar dari paging adalah dengan memecah memori fisik menjadi blok-blok
yang berukuran tertentu (frame) dan memecah memori logika menjadi blok-blok yang
berukuran sama (page). Penerjemahan alamat virtual ke alamat fisik dilakukan oleh page
table melalui perantara Memory Management Unit (MMU).
Paging menjamin keamanan data di memori saat suatu proses sedang berjalan.
Proteksi memori dapat diterapkan pada sistem paging dengan meletakkan bit proteksi pada
setiap frame. Setiap sistem operasi mengimplementasikan paging dengan caranya masing-
masing. Hierarchical paging dan hashed page table merupakan metode yang umum
digunakan karena bisa menghemat ruang memori yang dibutuhkan.
Hal-hal penting dalam Paging
Tidak ada fragmentasi eksternal
User melihat ruang memori sebagai suatukesatuan
Meningkatkan waktu context-switch
Kebanyakan dukungan paging terdapatpada hardware
Ukuran page: besar?kecil?
Ilustrasi konsep paging
Contoh Paging Sederhana
Keuntungan dan kerugian Paging adalah:
1. Jika kita membuat ukuran dari masing-masing halaman menjadi lebih besar.
• Keuntungan. Akses memori akan relatif lebih cepat.
• Kerugian. Kemungkinan terjadinya fragmentasi intern sangat besar.
2. Jika kita membuat ukuran dari masing-masing halaman menjadi lebih kecil.
• Keuntungan. Kemungkinan terjadinya internal Framentasi akan menjadi lebih kecil.
• Kerugian. Akses memori akan relatif lebih lambat.
Keuntungan lainnya dari paging adalah, konsep memori virtual bisa
diterapkan dengan menuliskan halaman ke disk, dan pembacaan halaman dari disk
ketika dibutuhkan. Hal ini dikarenakan jarangnya pengunaan kode-kode dan data suatu
program secara keseluruhan pada suatu waktu. Kerugian lainnya dari paging adalah, paging
tidak bisa diterapkan untuk beberapa prosesor tua atau kecil (dalam keluarga Intel
x86, sebagai contoh, hanya 80386 dan di atasnya yang punya MMU, yang bisa diterapkan
paging). Hal ini dikarenakan paging membutuhkan MMU (Memory Management Unit).
SISTEM PAGING
Sistem Paging Adalah sistem manajemen pada sistem operasi dalam mengatur
program yang sedang berjalan. Program yang berjalan harus dimuat di memori utama.
Kendala yang terjadi apabila suatu program lebih besar dibandingkan dengan memori utama
yang tersedia.
Untuk mengatasi hal tersebut Sistem Paging mempunyai 2 solusi, yaitu:
a. Konsep Overlay
Dimana program yang dijalankan dipecah menjadi beberapa bagian yang dapat
dimuat memori (overlay). Overlay yang belum diperlukan pada saat program berjalan (tidak
sedang di eksekusi) disimpan di disk, dimana nantinya overlay tersebut akan dimuat ke
memori begitu diperlukan dalam eksekusinya.
b. Konsep Memori Maya (virtual Memory)
Adalah kemampuan mengalamati ruang memori melebihi memori utama yang
tersedia. Konsep ini pertama kali dikemukakan Fotheringham pada tahun 1961 untuk sistem
komputer Atlas di Universitas Manchester, Inggris.
Gagasan Memori Maya adalah ukuran gabungan program, data dan stack melampaui
jumlah memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian proses yang
sedang digunakan di memori utama dan sisanya di disk. Begitu bagian di disk diperlukan
maka bagian memori yang tidak diperlukan disingkirkan dan diganti bagian disk yang
diperlukan. Didalam menejemen memori dengan system partisi statis dan system dinamis
sudah dapat menyelesaikan masalah menejemen memori didalam banyak hal, tetapi masih
memiliki kekurangan atau keterbatasan di dalam pengakses. Dimana keterbatasan akses
hanya sebatas addres memori yang ada secara fisik ( memori nyata ).
Misalnya memori 64 MB maka addres maksimum yang dapat diakses hanya sebesar
64 MB saja. Pada hal banyak program yang akan diakses yang melebihi 64 MB. Untuk
mengatasi hal tersebut agar kemampuan akses lebih besar lagi maka dibentuklah memori
maya ( yang pertama sekali di kemukakan oleh Fotheringham pada tahun 1961 untuk system
komputer Atlas di Universitas Manchester, Inggris).
Dengan memori maya program yang besar tadi akan dapat diterapkan pada memori
kecil saja, misalnya program 500 MB dapat ditempatkan secara maya di memori 64 MB.
Untuk mengimplementasikan memori maya tersebut dapat dilakukan dengan tiga cara :
Sistem Paging
Sistem Segmentasi
Sistem kombinasi Paging dan Segmentasi
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 :
Alamat yang dicari ada dimemori nyata, maka proses dapat langsung
dikerjakan.
Alamat yang dicari tidak ada didalam memori nyata, maka MMU
mengeluarkan page fault, yaitu permintaan alokasi memori untuk proses itu.
MMU mempunyai fungsi untuk memetakan memori maya ke memori fisik.
Apabila alamat memori yang dipetakan tidak tersedia di memori fisik, MMU menertibkan
exception page fault yang melewatkan ke system operasi untuk menengani.
Gambar memperlihatkan Implementasi pemetaan memori system paging.
Gambar 1. Implementasi Pemetaan Memori sistem paging
Apabila exception page fault meminta alokasi memori akan ditangani oleh system
operasi yaitu memilih partisi yang telah selesai diakses dan kemungkinan proses ini akan
digunakan lagi, dalam waktu yang lama lagi. Jika sudah dipilih maka program akan
dikosongkan dari memori dan selanjutnya program yang alamatnya yang diminta akan
dimasukkan ke memori.
Proses Pemetaan Pada MMU
Dibawah ini adalah suatu proses pemetaaan memori yang terjadi pada MMU. Alamat
maya terdiri dari bagian nomor page dan offset. Alamat ini dicarikan didalam tabel page,
bila ketemu maka MMU mengeluarkan page 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.
Sumber : SistemOperasi, BambangHariyanto. Ir., EdisiKedua, PenerbitInformatika, 1999