You are on page 1of 49

Pengelolaan Memori

Sistem Operasi (TKE074073)


Program Studi Teknik Elektro, Unsoed Iwan Setiawan <stwn at unsoed.ac.id>

Tahun Ajaran 2012/2013

006.jpg 20-03-2 _ M A R _DD module emory_ :M e il F iki/ ia.org/w .wikiped n /e :/ s p htt publik, domain , x e rd e Cyb

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

Memori adalah sebuah sumber daya.


stwn at unsoed.ac.id

IBM 7094

ArnoldReinhold, CC-BY-SA, http://en.wikipedia.org/wiki/File:IBM_7094_console.agr.JPG

Jumlah transistor pada rangkaian terintegrasi (IC) meningkat kurang lebih 2 kali setiap 2 tahun. Hukum Moore

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Wgsimon, CC BY-SA, https://en.wikipedia.org/wiki/File:Transistor_Count_and_Moore%27s_Law_-_2011.svg

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Program expand to fill the memory available to hold them. Parkinson's Law

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Kita ingin memori berukuran tak terbatas, cepat, tersimpan lama, dan murah! :D

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Hirarki Memori

O'Hallaron, D.R., Bryant, R.E. 2003. Computer Systems: A Programmer's Perspective

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Pengelola memori adalah bagian dari Sistem Operasi yang mengelola hirarki memori tersebut.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Tugas Pengelola Memori

Melacak bagian memori yang digunakan, dan tidak. Menyediakan memori untuk proses yang membutuhkan, dan menghapus alokasinya ketika proses telah selesai menggunakan. Mengelola pertukaran atau swapping antara memori utama dan disk ketika memori utama terlalu kecil untuk menyimpan semua proses.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Kita perlu ingat bahwa perangkat lunak cenderung berkembang lebih cepat daripada memori.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Kebutuhan pengelolaan memori akan selalu ada, apalagi jika dihubungkan dengan kebutuhankebutuhan komputasi saat ini.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Pengelolaan Memori (1)

Tidak ada abstraksi memori.

Penerapan pada generasi awal komputer mainframe, minikomputer, komputer personal. Setiap program yang dijalankan benar-benar melihat memori fisiknya. Tidak memungkinkan/sulit menjalankan banyak program dalam memori yang sama. Pada sebagian kasus, hanya ada satu proses saja di memori dalam satu waktu.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

BIOS

mainframe/ minikomputer

sistem tertanam PC generasi awal

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Bagaimana cara melakukan paralelisasi pada sistem tanpa abstraksi memori?

Bagaimana cara menjalankan banyak program pada sistem tanpa abstraksi memori?

Pertukaran memori, atau swapping.


(cara lain dengan perangkat keras khusus, baca buku referensi)

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Apa permasalahan pada sistem tanpa abstraksi memori?

Pengelolaan Memori (2)

Abstraksi memori dengan ruang alamat.

Permasalahan pada sistem tanpa abstraksi memori: semua program dapat mengalamati setiap bita memori, dan sulit untuk menjalankan banyak program dalam satu waktu. Proteksi dan relokasi. Set alamat yang dapat digunakan proses untuk mengalamati memori. Setiap proses memiliki ruang alamatnya sendiri.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Proteksi

Sebuah program dapat membuat instruksi baru dan membuat lompatan ke lokasi alamat tertentu di dalam memori. Solusi: membagi memori menjadi blok-blok kecil, dan memberikan kode bit proteksi (Program Status Word, PSW).

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Relokasi

Proses berbeda membutuhkan alamat memori yang berbeda pula. Ketika sebuah program ditautkan/link pada ruang alamat tunggal, penaut/linker harus tahu awal alamat memori tempat program disimpan. Solusi: memodifikasi instruksi ketika program dimuat di dalam memori.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Ruang Alamat

Relokasi dinamis.

Register dasar dan register batas (base register dan limit register). Kekurangannya perlu melakukan penambahan dan perbandingan setiap referensi memori.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Swapping

Swapping (1)

Menjalankan proses dengan memuatnya ke dalam memori, kemudian meletakkannya kembali ke disk, sesuai dengan kebutuhan sistem. Proses yang diletakkan ke disk umumnya adalah proses yang menganggur. Jumlah, lokasi, dan ukuran partisi berubah secara dinamis. Kekurangan: perlu proses alokasi, pembersihan memori, dan terdapat lubang memori. Terdapat teknik pemadatan memori, tapi hal ini membutuhkan waktu pemrosesan CPU.
stwn at unsoed.ac.id

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

Swapping (2)

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Swapping (3)

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Pengelolaan Memori: Bitmap


Memori dibagi menjadi unit-unit alokasi. Setiap unit alokasi dipetakan ke dalam sebuah bit di dalam bitmap: 0 berarti bebas, dan 1 berarti sudah teralokasi. Ukuran unit alokasi menentukan banyaknya bitmap. Masalah: pencarian unit alokasi tempat menyimpan program sesuai dengan (ukuran) bitmap.
stwn at unsoed.ac.id

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Pengelolaan Memori: Linked List (1)


Daftar diurutkan berdasar alamat. Proses yang akan dihentikan umumnya memiliki 2 tetangga proses, kecuali proses tersebut berada di lokasi paling atas atau paling bawah. Terdapat beberapa algoritma alokasi memori: first-fit, next-fit, best-fit, worst-fit, dan quick-fit. Baca buku referensi.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Pengelolaan Memori: Linked List (2)

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Memori Virtual

Sering program terlalu besar untuk dimuat ke dalam memori.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

SATA1: 150 MB/detik SATA2: 300 MB/detik SATA3: 600 MB/detik


(teori)

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Solusi: membagi program menjadi bagianbagian kecil yang disebut overlay, dan terdapat pengelola overlay.
(tahun 1960an)

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Memori Virtual (1)

Memori virtual: konsep menggabungkan bermacam penyimpanan, umumnya memori fisik (RAM) dan cakram/disk, sehingga program melihat memori virtual seperti sebuah memori fisik saja. Setiap program memiliki ruang alamatnya sendiri, yang masing-masing dibagi menjadi bagian kecil berupa halaman-halaman (pages). Setiap halaman terdiri dari kisaran alamat yang saling berdekatan. Halaman-halaman tersebut akan dipetakan ke memori fisik, tapi tidak semuanya berada di memori fisik.
stwn at unsoed.ac.id

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

Kebanyakkan sistem memori virtual menggunakan teknik paging.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Memori Virtual (2)

Pada sistem komputer, terdapat set alamat memori yang dapat dibangkitkan.

Ketika sebuah program menggunakan instruksi MOV REG, 1000 maka program akan menyalin isi alamat memori 1000 ke REG, atau sebaliknya.

Alamat dapat dibangkitkan dengan menggunakan indexing, base register, segment register, dll. Alamat yang dibangkitkan oleh program tersebut disebut dengan alamat virtual dan membentuk ruang alamat virtual.
stwn at unsoed.ac.id

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

Memori Virtual (3)

Pada komputer tanpa memori virtual, alamat virtual diletakkan langsung pada bus memori dan menjadikan memori fisik dengan alamat yang sama dapat dibaca dan ditulis. Ketika memori virtual digunakan, akses ke alamat virtual tidak langsung diarahkan ke bus memori, tetapi diarahkan dulu ke Memory Management Unit (MMU) untuk dipetakan alamat virtualnya ke alamat fisik memori.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Memori Virtual (4)

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Memori Virtual (5)

Sebuah komputer membangkitkan alamat virtual 16 bit dari 0K sampai 64K Komputer hanya punya alamat fisik (RAM) 32KB saja. Ruang alamat virtual akan dibagi menjadi unit-unit yang disebut (virtual) page. Setiap unit yang dituju disebut sebagai page frame. Keduanya memiliki ukuran yang sama.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Program berukuran 64K dapat dijalankan, tetapi tidak dimuat semua ke dalam memori fisik.

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id

Memori Virtual (6)

Dengan ruang alamat virtual 64KB dan 32KB alamat fisik, maka kita mendapatkan 16 virtual page dan 8 page frame. Transfer dari RAM ke cakram dan sebaliknya selalu menggunakan unit page. Contoh:

MOVE REG,0 Alamat virtual 0 dikirim ke MMU MMU melihat alamat virtual ada di page 0 (0-4095) Sesuai dengan pemetaan memori virtual ada pada page frame 2 (8192-12287)
stwn at unsoed.ac.id

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

Memori Virtual (7)

Bit present/absent digunakan untuk melacak page mana yang secara fisik ada di memori. Contoh:

MOV REG,32780 Alamat virtual 8 (32768) MMU akan mengetahui bahwa page tersebut tidak terpetakan (tanda X) CPU memberitahukan sistem operasi dengan trap yang disebut dengan page fault
stwn at unsoed.ac.id

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

Penggantian Page

Ketika page fault muncul maka sistem operasi akan: memilih sebuah page dari memori fisik, memberikan tempat untuk page yang dicari. Page yang telah dimodifikasi akan disimpan ke cakram, dan yang belum dimodifikasi akan ditimpa.

Algoritma penggantian page: Optimal, NRU, FIFO, Second Chance, Clock, LRU, WSClock.
stwn at unsoed.ac.id

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

Referensi

O'Hallaron, D.R., Bryant, R. E. 2003. Computer Systems: A Programmer's Perspective, Prentice Hall Tanenbaum, A. 2009. Modern Operating Systems, Third Edition, Prentice Hall

Sistem Operasi (TKE074073) - Program Studi Teknik Elektro, Unsoed

stwn at unsoed.ac.id