SISTEM OPERASI MODUL Manajemen Memori Yuli Haryanto, M.Kom Modul Sistem Operasi / Unindra / 2011
Pengantar Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan harus melalui memori terlebih dahulu. CPU mengambil instruksi dari memori sesuai yang ada pada program counter.
Pengantar Instruksi memerlukan proses memasukkan/menyimpan ke alamat di memori. Tugas sistem operasi adalah mengatur peletakan banyak proses pada suatu memori. Bagian operating system yang mengatur memori disebut dengan memory manager.
Pengantar Algoritma untuk manajemen memori bervariasi dari yang menggunakan pendekatan primitif pada mesin sampai pemberian halaman dan strategi segmentasi. Memori harus dapat digunakan dengan baik, sehingga dapat memuat banyak proses dalam suatu waktu.
Pengantar Memori utama sebagai sumber daya yang harus dialokasikasikan dan dipakai bersama di antara sejumlah proses yang aktif, sehingga dapat memanfaatkan pemroses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses. Upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.
Fungsi Manajemen Memori Mengelola informasi memori yang dipakai dan tidak dipakai. Mengalokasikan memori ke proses yang memerlukan. Mendealokasikan memori dari proses yang telah selesai. Mengelola swapping antara memori utama dan disk.
Klasifikasi Manajemen Memori Skema klasifikasi menurut Deitel [Dei-90]
Manajemen Memori Berdasarkan Keberadaan Swapping Manajemen memori dengan kemampuan memindahkan citra proses antara memori utama dan harddisk selama eksekusi.
Manajemen Memori Berdasarkan Keberadaan Swapping Multiprogramming dengan pemartisian dinamis Pemartisian dinamis akan meningkatkan utilisasi memori karena jumlah, lokasi, dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis.
Manajemen Memori Berdasarkan Keberadaan Swapping Pencatatan pemakaian memori 1. Pencatatan memakai peta bit Memori dibagi menjadi unit-unit alokasi, berkorespondensi dengan tiap unit alokasi adalah satu bit pada peta bit.
Manajemen Memori Berdasarkan Keberadaan Swapping 2. Pencatatan memakai senarai berkait Sistem operasi mengelola senarai berkait (linked list) untuk blok-blok memori yang dialokasikan dan bebas.
Manajemen Memori Berdasarkan Keberadaan Swapping 3. Pencatatan memakai sistem buddy Sistem buddy adalah algoritma pengelolaan memori yang memanfaatkan kelebihan penggunaan bilangan biner untuk pengalamatan memori.
STRATEGI ALOKASI MEMORY 1. First-fit Algorithm Manajer memori menelusuri peta bit atau senarai berkait sampai menemukan lubang besar yang memadai untuk ditempati proses. Lubang dibagi dua, untuk proses dan lubang yang tidak digunakan kecuali ketika besar lubang tepat sama dengan ukuran yang diperlukan proses.
STRATEGI ALOKASI MEMORY 2. Next-fit Algorithm Penelusuran sama dengan first-fit algorithm, namun dimulai dari posisi terakhir kali menemukan segmen untuk proses.
STRATEGI ALOKASI MEMORY 2. Next-fit Algorithm Penelusuran sama dengan first-fit algorithm, namun dimulai dari posisi terakhir kali menemukan segmen untuk proses. 3. Best-fit Algorithm Algoritma mencari sampai akhir dan mengambil lubang terkecil yang dapat memuat proses.
STRATEGI ALOKASI MEMORY 4. Worst-fit algorithm Selalu mencari lubang besar yang tersedia 5. Quick-fit algorithm Hanya untuk pencatatan pada senarai berkait. Hanya menelusuri senarai lubang memori bukan di senarai proses.
Manajemen Memory Tanpa Swapping Manajemen memori tanpa kemampuan memindahkan citra proses antara memori utama dan harddisk selama eksekusi. Manajemen memori untuk monoprogramming Manajemen memori untuk multiprogramming dengan pemartisan statis
Manajemen Memory Tanpa Swapping Manajemen memori untuk monoprogramming Hanya ada satu proses pada satu saat Hanya satu proses menggunakan semua memori Pemakai memuatkan program ke seluruh memori dari disk Program mengambil kendali seluruh mesin
Manajemen Memory Tanpa Swapping Manajemen memori untuk multiprogramming Mempermudah pemrogram Dapat memberi layanan interaktif ke beberapa user secara simultan Efisiensi penggunaan sumber daya Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses Dapat mengerjakan sejumlah proses secara simultann
Manajemen Memory Berdasarkan alokasi memori Alokasi memori berturutan Masing-masing proses menempati satu blok tunggal lokasi memori yang berturutan. Alokasi memori tak berturutan Program dibagi menjadi beberapa blok atau segmen dan ditempatkan tanpa harus berdekatan. Teknik ini biasa digunakan pada sistem memori maya sebagai alokasi page- page dilakukan secara global.
SISTEM PAGING Mengimplementasikan ruang alamat besar pada memori kecil menggunakan index register, base register, dan segment register. Virtual Address Real Address Page Page Frame Page Fault MMU
Sistem Paging
Sistem Paging Alamat Maya Alamat yang dihasilkan perhitungan menggunakan index register, base register, dan segment register. Alamat Nyata Alamat di memori fisik. Page Unit terkecil pada ruang alamat maya (virtual address space).
Sistem Paging Page Frame Unit terkecil pada ruang alamat fisik (real address space). Page Fault Exception untuk permintaan alokasi “page” ke memori. Memory Management Unit (MMU) Kumpulan chip yang memetakan alamat maya ke alamat fisik.
Rutinitas Sistem Paging
Rutinitas Sistem Paging 1. Mencari lokasi dari halaman yang diinginkan pada disk. 2. Mencari frame yang kosong: a. Jika ada, maka gunakan frame tersebut. b. Jika tidak ada, maka : tentukan frame yang tidak sedang dipakai atau yang tidak akan digunakan dalam jangka waktu lama, lalu kosongkan frame tersebut.
Rutinitas Sistem Paging > Gunakan algoritma pemindahan halaman untuk menentukan frame yang akan dikosongkan. > Usahakan agar tidak menggunakan frame yang akan digunakan dalam waktu dekat. > Jika terpaksa, maka sebaiknya segera masukkan kembali frame tersebut agar tidak terjadi overhead.
Rutinitas Sistem Paging c. Tulis halaman yang dipilih ke disk, ubah tabel halaman dan tabel frame. Membaca halaman yang diinginkan ke dalam frame kosong yang baru. 4. Mengulangi proses pengguna dari awal.
Rutinitas Sistem Paging
Hirarki Sistem Paging
Manajement memory unit Pemetaan memori maya ke memori fisik dan menerbitkan exception adanya page fault yang melewatkan ke sistem operasi yang menanganinya.
Manajement memory unit Nomor page maya digunakan sebagai indeks ke tabel page untuk menemukan isian page maya. Dari isian tabel page dapat diketahui, apakah page dipetakan ke memori fisik (dengan memeriksa presen/absent bit).
Manajement memory unit Apabila alamat terdapat di memori fisik maka isian tabel page memuat nomor page frame. Nomor page frame di tabel page dikopi sebagai bit-bit berorder tinggi di register alamat fisik dan ditambah offset di alamat maya. Bila alamat tidak ada di memori fisik maka MMU menerbitkan page fault.
Manajement memory unit
Manajement memory unit Contoh instruksi : MOV REG, 0x08 Alamat maya 8 dikirim ke MMU MMU mengetahui alamat 8 di page 0 (page 0 memuat alamat maya 0-4095) Dari tabel, page 0 dipetakan ke frame 7 (page 7 adalah alamat fisik 28672-32768) MMU mentransformasikan alamat 8 sebagai (28672+8=28680) MMU mengeluarkan alamat 28680 ke bus
Manajement memory unit
Komponen MMU 1. Register Alamat Maya Menyimpan alamat maya yang diacu Nilai di register alamat maya dibagi dua : Bit berorder tinggi menyatakan nomor page maya Bit-bit sisa adalah offset alamat maya
Komponen MMU 2. Page Table Present/absent bit (bernilai 1 jika page di memori fisik, bernilai 0 jika tidak) Nomor page frame Berisi nomor page frame dimana page berada
Komponen MMU 3. Register Alamat Fisik Menyimpan alamat fisik yang disinyalkan ke bus. Nilai di register alamat fisik dibagi menjadi : Bit berorder tinggi menyatakan nomor page frame Bit-bit sisa adalah offset alamat fram
Penggantian Page Algoritma Penggantian Random Setiap terjadi page fault, penggantian page dipilih secara acak. Tidak memakai informasi apapun untuk menentukan page yang akan diganti. Semua page di memori utama dianggap memiliki bobot yang sama. Dapat memilih sembarang page termasuk page yang sedang diacu.
Penggantian Page Algoritma Penggantian Optimal Memilih page yang berpeluang dipakai kembali di masa datang yang paling kecil. Strategi ini menghasilkan jumlah page fault sedikit tapi tidak mungkin diterapkan.
Penggantian Page Algoritma Penggantian Optimal Memilih page yang berpeluang dipakai kembali di masa datang yang paling kecil. Strategi ini menghasilkan jumlah page fault sedikit tapi tidak mungkin diterapkan.
TUGAS KELOMPOK Jumlah maksimal 6 orang / kelompok Tugas : Diskusi & Presentasi Nilai : Diskusi = 5 point File Presentasi = 5 point Presentasi = 5 point (bonus) File presentasi diupload di group Batas akhir : UTS Tidak ada nilai jika upload melewati batas akhir pengumpulan tugas
Materi tugas DOS & Windows 3.11 DOS & Windows 95/98 DOS & Windows XP DOS & LINUX DOS & Windows Server / Windows NT
Materi Diskusi Latar Belakang / Pendahuluan Analisa : Keunggulan Kelemahan Implementasi Kesimpulan
Materi presentasi Bab 1 Pendahuluan 1. Sejarah/Latar Belakang 2. Perkembangan/Evolusi Bab 2 Pembahasan 1. Struktur Sistem 2. Arsitektur Sistem 3. Keunggulan 4. Kelemahan 5. Implementasi Bab 3 Kesimpulan