Tahun Akademik 2014/2015 Semester II DIG1I3 - Instalasi dan Penggunaan Sistem Operasi Manajemen Memori Mohamad Dani (MHM) (mohamad.dani@gmail.com) Saluran Youtube saya : youtube.com/danstama Hanya dipergunakan untuk kepentingan pengajaran di lingkungan Telkom Applied Science School Tujuan Pembelajaran Mahasiswa mampu : Menjelaskan persyaratan utama untuk manajemen memori, Memahami dan menjelaskan internal fragmentation dan external fragmentation, Memahami alasan pempartisian memori dan menjelaskan berbagai macam teknik pempartisian memori yang digunakan, Menjelaskan Virtual Memory (dijadikan tugas). 1
Definisi Manajemen memori adalah sebuah proses dari: Mengalokasikan memori utama ke program user, Melakukan reklaim memori utama yang tidak lagi dibutuhkan/digunakan, Melindungi tiap area memori yang digunakan user dari program user lain misal memastikan bahwa tiap program hanya mengacu ke lokasilokasi yang telah dialokasikan untuk programprogram tersebut. Persyaratan Agar melakukan manajemen memori efektif, Sistem Operasi harus memenuhi persyaratan sebagai berikut : Kebijakan alokasi memori, Metode untuk melacak status dari lokasi-lokasi memori (bebas/tidak digunakan atau dialokasikan) Kebijakan untuk mengalihkan memori dari proses satu ke untuk dialokasikan proses yang lainnya. 2
Istilah-istilah Manajemen Memori Swap in : penempatan proses dari memori sekunder ke memori utama, Swap out : penempatan proses dari memori utama ke memori utama, Internal fragmention : Ruang yang terbuang (lubang) karena blok data yang dimasukkan lebih kecil dari ukuran partisi yang disediakan. External fragmention : Ruang yang terbuang (lubang) karena penempatan dan penghapusan proses dari memori. Contiguous memory allocation is a classical memory allocation model that assigns a process consecutive memory blocks (that is, memory blocks having consecutive addresses). Persyaratan Manajemen Memori Manajemen memori harus memenuhi persyaratanpersyaratan berikut: Relocation Protection Sharing Logical organization Physical organization 3
Relocation Relocation adalah proses mengatur alamat-alamat program untuk dicocokkan dengan alamat-alamat memori fisik yang sebenarnya dimana program disimpan/ditempatkan untuk dieksekusi, Relocation ini dibuat karena: Programmer/translator tidak mengetahui program yang akan disimpan dan dieksekusi akan ditempatkan di alamat-alamat memori yang mana. Proses yang aktif harus mampu saling ditukarkan dari alamat memori asal ke alamat lainnya untuk memaksimalkan penggunaan prosesor Protection Proses-proses membutuhkan ijin untuk melakukan pembacaan atau penulisan ke lokasi-lokasi memori tertentu yang dialokasikan bukan untuk proses bersangkutan, Lokasi sebuah dalam memori utama tidak dapat diprediksi, Mekanisme yang mendukung relocation juga mendukung protection. 4
Sharing Tiap process dapat mengakses salinan program yang sama daripada masing-masing proses memiliki salinannya sendiri yang terpisah, Manajemen memori harus dapat mengontrol akses ke area memori tanpa adanya proteksi, Mekanisme yang mendukung relocation mendukung kemampuan sharing. Logical Organization Memori utama diorganisasikan sebagai sebuah ruang alamat (1-D) linear yang terdiri dari deretan byte atau word. Program tidak perlu diorganisasikan dengan cara ini. 5
Physical Organization Two-level memory untuk penyimpanan program: Disk (lambat dan murah) & RAM (cepat dan lebih mahal) Memori utama adalah volatile, disk tidak User tidak bertanggung jawab untuk mengorganisasikan pergerakan kode/data antara memori-memori di atas. Pempartisian Memori Virtual memory management menempatkan proses-proses ke memori utama untuk dieksekusi oleh prosesor Melibatkan virtual memory Berbasis segmentation dan paging Partitioned memory management Tidak melibatkan virtual memory Digunakan dalam beberapa variasi sistem operasi yang tidak digunakan lagi sampai yang masih digunakan sampai sekarang 6
Tabel Teknik Manajemen Memori Fixed Partitioning : Equal Size Partition Equal-size partitions Setiap proses yang memiliki ukuran yang kurang atau sama dengan ukuran partisi dapat ditempatkan ke sebuah partisi yang tersedia Sistem Operasi dapat memindahkan sebuah proses dari memori utama ke memori sekunder jika semua partisi penuh dan tidak ada proses dalam state Ready atau Running 7
Kekurangan Fixed Partitioning Equal Size Partition Sebuah program atau lebih bisa jadi terlalu besar untuk masuk ke dalam sebuah partisi program perlu didesain dengan menggunakan overlay Penggunaan memori utama tidak efisien Segala program, tidak peduli ukurannya, menempati semua partisi yang disediakan internal fragmentation Ruang yang terbuang karena blok data yang dimasukkan lebih kecil dari ukuran partisi yang disediakan. Fixed Partitioning : Unequal Size Partition Mengurangi kekurangan pada Equal size partitition program sampai16m dapat diakomodasi tanpa overlay Partisi yang kurang dari 8M mengijinkan program yang lebih kecil dapat diakomodasi dengan sedikit internal fragmentation 8
Kekurangan Fixed Partitioning Unequal Size Partition Jumlah partisi pada waktu pembangkitan sistem membatasi jumlah proses yang aktif dalam sistem tersebut, Pekerjan-pekerjaan kecil tidak dapat memanfaatkan ruang partisi secara efisien. Penunjukkan Memori 9
Dynamic Partitioning Jumlah partisi dan ukuran partisi dinamis, Proses yang dialokasikan sama dengan kapasitas memori yang diminta, Teknik ini digunakan oleh Sistem Operasi mainframe IBM, OS/MVT Efek Dynamic Partitioning 10
Dynamic Partitioning External Fragmentation Memori menjadi semakin banyak terfragmentasi Utilisasi memori menurun Compaction Teknik untuk mencegah external fragmentation OS menggeser proses-proses yang jadi proses-proses tersebut contiguous Memori-memori yang tidak terpakai digabungkan dalam 1 blok Menghabiskan waktu dan membunag waktu CPU Algoritma Penempatan Best-fit Memilih blok partisi yang mendekati ukuran proses yang meminta First-fit Mulai memindai memori dari awal dan memilih blok partisi pertama yang tersedia yang cukup besar. Next-fit Mulai memindai memori dari lokasi dari penempatan terakhir dan memilih blok yang tersedia berikutnya yang cukup besar. 11
Contoh Konfigurasi Memori untuk penempatan sebuah proses 16MB Latihan dulu ya! 1. Sebuah Memori memiliki 6 partisi yaitu : Partisi 1 : 300 KB Partisi 2 : 600 KB Partisi 3 : 350 KB Partisi 4 : 200 KB Partisi 5 : 750 KB Partisi 6 : 125 KB a) Bagaimana penempatan proses-proses berikut yang datang secara berurutan dengan ukuran : P1 : 115 KB, P2 : 500 KB, P3 : 358 KB, P4 : 200 KB P5 : 375KB Menggunakan Algoritma Penempatan Best Fit, First Fit, Next Fit? b) Buatlah rangking algoritma penempatan mulai yang terbaik sampai terburuk untuk soal ini! 12
Buddy System Menggabungkan keuntungan skema dari fixed dan dynamic partitioning, Ruang yang tersedia untuk alokasi diperlakukan sebagai sebuah blok tunggal, Blok-blok memori yang tersedia dengan ukuran 2 K word, L K U, dengan 2 L = ukuran blok terkecil yang dialokasikan 2 U = Ukuran blok terbesar yang dialokasikan; umumnya 2 U adalah ukuran seluruh memori yang tersedia untuk alokasi Contoh Buddy System 13
Respresentasi Pohon Buddy System Tugas 3: Manajemen Memori 1. Diketahui daftar lokasi bebas di memori untuk partisi dinamis sebagai berikut : 20 MB, 60 MB, 10 MB, 40 MB, 30 MB, 40 MB. Tiga program baru masing-masing berukuran 40 MB, 20 MB dan10mb akan masuk. Dimana program baru ini akan ditempatkan jika menggunakan algoritma penempatan: a) First-Fit b) Best-Fit c) Next-Fit (pointer ada di awal alamat memori) 2. Memori 1 MB dipakai untuk buddy system. Berturut-turut ada permintaan berikut : A 70 KB, B 35KB, C 80 KB, A released, D 60 KB, B released, D released, C released. Buatlah representasi blok dan representasi pohonnya! 3. Jelaskan apa yang dimaksud dengan Virtual Memory pada manajemen memori! 4. Jelaskan kelebihan dan kekurangan algoritma penempatan First-Fit, Best-Fit dan Next-Fit! Catatan : Diupload ke IDEA dalam bentuk file dokumen (doc, docx) paling lambat hari Kamis, 26 Februari 2015 Pukul 18.26 WIB. 14
Daftar Pustaka William Stallings(2012). Operating Systems 7th Edition. Prentice Hall. New Jersey halaman 305 334. Avi Silberschatz, Peter Galvin, dan Grag Gagne (2013). Operating Systems CONCEPTS ninth Edition. John Wiley & Sons. USA Halaman 351 389. 15