2/20/2015
Tahun Akademik 2014/2015 Semester II
DIG1I3 - Instalasi dan Penggunaan Sistem Operasi Manajemen Memori Mohamad Dani (MHM) (
[email protected]) 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
2/20/2015
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
2/20/2015
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
2/20/2015
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
2/20/2015
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
2/20/2015
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
2/20/2015
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
2/20/2015
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
2/20/2015
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
2/20/2015
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
2/20/2015
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
Next-fit
• Mulai memindai memori dari awal dan memilih blok partisi pertama yang tersedia yang cukup besar.
• Mulai memindai memori dari lokasi dari penempatan terakhir dan memilih blok yang tersedia berikutnya yang cukup besar.
11
2/20/2015
Contoh Konfigurasi Memori untuk penempatan sebuah proses 16MB
Latihan dulu ya! 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! 1.
12
2/20/2015
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 2K word, L ≤ K ≤ U, dengan
2L = ukuran blok terkecil yang dialokasikan 2U = Ukuran blok terbesar yang dialokasikan; umumnya 2U adalah ukuran seluruh memori yang tersedia untuk alokasi
Contoh Buddy System
13
2/20/2015
Respresentasi Pohon Buddy System
Tugas 3: Manajemen Memori 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. 1.
14
2/20/2015
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