Anda di halaman 1dari 11

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 prosesproses 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. untuk proses b. 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 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 counter. Instruksi memerlukan proses memasukkan/menyimpan kealamatdi memori.Tugas sistem operasi adalah mengatur peletakan Fragmentasi eksternal : partisi tidak dapat digunakan karena ukuran partisi lebih Pemartisian dengan partisi berukuran berbeda kecil dibanding ukuran proses yang menunggu di antrian. yaitu teknik pemartisian dengan cara pembagian memori dengan besar kapasitas yang Fragmentasi internal : proses tidak mengisi penuh partisi yang telah ditetapkan

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

Logical Memory Memory

Page Table
page number frame Page = 2n = 25 number
0

Phiscal
Frame = 1 2 3 4

1 2 3 4

SwapIn

1 2 3

SwapOut

4 5 6

5 32

Pada teknik swapping,terbagi atas : 1.Swap-In

Memasukan program dari logical ke physical memori (dari breaking storage ke memori). 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 prosesproses 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 : dikerjakan.

Alamat yang dicari ada dimemori nyata, maka proses dapat langsung 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