Professional Documents
Culture Documents
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
IBM 7094
Jumlah transistor pada rangkaian terintegrasi (IC) meningkat kurang lebih 2 kali setiap 2 tahun. Hukum Moore
stwn at unsoed.ac.id
stwn at unsoed.ac.id
Program expand to fill the memory available to hold them. Parkinson's Law
stwn at unsoed.ac.id
Kita ingin memori berukuran tak terbatas, cepat, tersimpan lama, dan murah! :D
stwn at unsoed.ac.id
Hirarki Memori
stwn at unsoed.ac.id
Pengelola memori adalah bagian dari Sistem Operasi yang mengelola hirarki memori tersebut.
stwn at unsoed.ac.id
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.
stwn at unsoed.ac.id
Kita perlu ingat bahwa perangkat lunak cenderung berkembang lebih cepat daripada memori.
stwn at unsoed.ac.id
Kebutuhan pengelolaan memori akan selalu ada, apalagi jika dihubungkan dengan kebutuhankebutuhan komputasi saat ini.
stwn at unsoed.ac.id
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.
stwn at unsoed.ac.id
BIOS
mainframe/ minikomputer
stwn at unsoed.ac.id
Bagaimana cara menjalankan banyak program pada sistem tanpa abstraksi memori?
stwn at unsoed.ac.id
stwn at unsoed.ac.id
stwn at unsoed.ac.id
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.
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).
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.
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.
stwn at unsoed.ac.id
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
Swapping (2)
stwn at unsoed.ac.id
Swapping (3)
stwn at unsoed.ac.id
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
stwn at unsoed.ac.id
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.
stwn at unsoed.ac.id
stwn at unsoed.ac.id
stwn at unsoed.ac.id
Memori Virtual
stwn at unsoed.ac.id
stwn at unsoed.ac.id
Solusi: membagi program menjadi bagianbagian kecil yang disebut overlay, dan terdapat pengelola overlay.
(tahun 1960an)
stwn at unsoed.ac.id
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
stwn at unsoed.ac.id
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
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.
stwn at unsoed.ac.id
stwn at unsoed.ac.id
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.
stwn at unsoed.ac.id
Program berukuran 64K dapat dijalankan, tetapi tidak dimuat semua ke dalam memori fisik.
stwn at unsoed.ac.id
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
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
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
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
stwn at unsoed.ac.id