123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging

15

Click here to load reader

Transcript of 123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging

Page 1: 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

Page 2: 123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging

Partitioning

Partitioning adalah teknik membagi memori menjadi beberapa bagian sesuai dengan

kebutuhan. Sistem operasi akan menempati bagian memori yang tetap.

Gambar 2.1. Proses 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.

Page 3: 123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging

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

Page 4: 123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging

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

Page 5: 123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging

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

Page 6: 123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging

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

Page 7: 123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging

Kebanyakan dukungan paging terdapatpada hardware

Ukuran page: besar?kecil?

Ilustrasi konsep paging

Contoh Paging Sederhana

Page 8: 123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging

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

Page 9: 123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+Paging

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.

Page 10: 123080024 Asepdwikurniawan AOK1 Partitioning+Swapping+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