8
TUGAS MATA KULIAH ARSITEKTUR DAN ORGANISASI KOMPUTER 1 “Proses Pada Swapping, Partitioning dan Paging” Disusun Oleh : Nama : Aditya Dwi Cahyo Nugroho NIM : 123100023 Kelas : B Dosen : Hidayatullah Himawan, ST., MM Prodi Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Yogyakarta 2012

Proses Pada Swapping, Partitioning Dan Paging

Embed Size (px)

Citation preview

Page 1: Proses Pada Swapping, Partitioning Dan Paging

TUGAS MATA KULIAH ARSITEKTUR DAN ORGANISASI KOMPUTER 1 “Proses Pada Swapping, Partitioning dan Paging”

Disusun Oleh :

Nama : Aditya Dwi Cahyo Nugroho

NIM : 123100023

Kelas : B

Dosen :

Hidayatullah Himawan, ST., MM

Prodi Teknik Informatika

Fakultas Teknologi Industri

Universitas Pembangunan Nasional “Veteran” Yogyakarta

2012

Page 2: Proses Pada Swapping, Partitioning Dan Paging

Soal :

1. Berikan Contoh Proses yang terjadi di dalam Swapping, Partitioning dan Paging!!!

Jawab :

a. Swapping

Swapping merupakan Sebuah proses agar bisa dieksekusi bukan hanya membutuhkan

sumber daya dari CPU, tetapi juga harus terletak dalam memori. Dalam tahapannya, suatu

proses bisa saja ditukar sementara keluar memori ke sebuah penyimpanan sementara dan

kemudian dibawa lagi ke memori untuk melanjutkan pengeksekusian. Hal ini dalam

sistem operasi disebut swapping.

Contoh Proses Swapping

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 harddisk memiliki kecepatan transfer data sebesar 20

Page 3: Proses Pada Swapping, Partitioning Dan Paging

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.

Page 4: Proses Pada Swapping, Partitioning Dan Paging

b. Partitioning Partisi (Bahasa Inggris: Partition), dalam sistem berkas dan manajemen media penyimpanan adalah sebuah bagian dari memori atau media penyimpanan yang terpisah secara logis yang berfungsi seolah-olah bagian tersebut terpisah secara fisik. Media penyimpanan yang dapat dipartisi adalah memori (baik itu memori fisik ataupun memori maya oleh manajer memori sistem operasi), hard disk, magneto-optical disk (MO Disk), dan beberapa flash memory. Meskipun demikian, istilah partisi saat ini digunakan untuk merujuk pada bagian dari hard disk. Konsep umum dari proses partitioning adalah sistem operasi akan menempati bagian memori yang tetap, kemudian sisa memori dibagi-bagi untuk keperluan sejumlah proses. Partioning sendiri adalah teknik membagi memori menjadi beberapa bagian sesuai dengan kebutuhan pemogram.

Proses Partisi Memori Tetap

Ketika sebuah proses datang, ia akan diletakkan ke dalam input queue (antrian proses pada

disk yang menunggu dibawa ke memori untuk dieksekusi) sesuai dengan ukuran terkecil

partisi yang mampu menampungnya. Kerugian dari mengurutkan proses ke dalam antrian

yang berbeda berdasarkan ukurannya muncul ketika partisi yang besar akan menjadi

kosong karena tidak ada proses dengan ukuran sesuai yang diletakkan di partisi tersebut.

Namun di lain sisi, antrian untuk partisi dengan ukuran kecil sangat padat karena

banyaknya proses dengan ukuran yang sesuai. Cara alternatif yang dapat dilakukan adalah

dengan membuat sebuah antrian tunggal seperti terlihat pada gambar diatas. Ketika sebuah

partisi bebas, proses dengan ukuran sesuai partisi tersebut yang terletak di depan antrian

Page 5: Proses Pada Swapping, Partitioning Dan Paging

dapat dimasukkan lalu dieksekusi. Namun metode ini memiliki kelemahan, yaitu

bagaimana jika proses yang memasuki partisi yang cukup besar ternyata ukurannya jauh

lebih kecil dari partisi itu sendiri? Masalah ini dapat diatasi dengan mencari proses

terbesar ke dalam seluruh antrian yang dapat ditampung oleh sebuah partisi pada saat itu.

Namun algoritma ini mendiskriminasikan proses yang kecil karena proses yang diambil

adalah proses terbesar yang dapat dimuat ke dalam partisi yang sedang bebas saat itu.

Dalam partisi tetap ini, sistem operasi menggunakan sebuah tabel untuk mengindikasikan

bagian memori mana yang kosong dan mana yang terisi. Pada awalnya semua partisi

kosong dan dianggap sebagai sebuah blok besar yang tersedia (hole). Ketika sebuah proses

datang dan membutuhkan memori, ia akan dicarikan lubang yang cukup besar yang

mampu menampungnya. Setelah menemukannya, memori yang dialokasikan untuknya

hanyalah sebesar memori yang dibutuhkannya sehingga menyisakan tempat untuk

memenuhi kebutuhan proses lain. Sistem operasi mencatat kebutuhan memori masing-

masing proses yang berada dalam antrian serta jumlah memori yang masih tersedia untuk

menentukan proses mana yang harus dimasukkan. Sistem akan memiliki sebuah daftar

yang berisi ukuran blok yang masih tersedia serta antrian masukan proses. Sistem operasi

dapat mengurutkan antrian input tersebut berdasarkan algoritma penjadwalan. Memori

dialokasikan pada proses yang ukurannya sesuai hingga akhirnya kebutuhan memori untuk

proses berikutnya tidak dapat dipenuhi karena tidak ada lagi blok yang cukup untuknya.

Sistem operasi akan menunggu hingga blok yang cukup besar untuk menampung proses

tersebut tersedia atau sistem operasi dapat juga melewati proses tersebut dan mencari

jikalau ada proses dengan kebutuhan memori yang dapat ditampung oleh blok memori

yang tersedia. Pada kenyatannya, partisi tetap kurang mengoptimalkan memori sebagai

sumber daya yang penting karena seringkali terjadi, partisi yang cukup besar dialokasikan

untuk proses dengan ukuran yang lebih kecil sehingga sisa dari partisi tersebut tidak

digunakan.

Proses Pemartisian Dinamis

Dengan menggunkan partisi statis menyebabkan memori terlalu banyak diboroskan

dengan proses-proses yang lebih kecil dibanding partisi yang ditempatinya. Namun

apabila menggunakan partisi 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

Page 6: Proses Pada Swapping, Partitioning Dan Paging

memori. Kelemahan partisi dimanis adalah dapat terjadi lubang-lubang kecil memori di

antara partisi-partisi yang dipakai merumitkan alokasi dan dealokasi memori.

c. Pagging Paging adalah suatu metode yang memungkinkan suatu alamat fisik memori yang tersedia dapat tidak berurutan. Prinsipnya adalah memecah memori fisik dan memori logika menjadi blok-blok dengan ukuran sama (disebut page). Setelah itu kita membuat page table yang akan menerjemahkan memori logika menjadi memori fisik dengan perantara Memory Management Unit (MMU), dan pengeksekusian proses akan mencari memori berdasarkan tabel tersebut. Pengertian Lainnya 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). Contoh proses 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. Gambar memperlihatkan Implementasi pemetaan memori system paging.

Page 7: Proses Pada Swapping, Partitioning Dan Paging

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.

Page 8: Proses Pada Swapping, Partitioning Dan Paging