Thursday, May 7, 2015

Session 11 - 12 | Memory Management

Memory Management

  • Pengelompokan memori untuk menampung beberapa proses
  • Memori butuh untuk dialokasikan secara efesien untuk dikemas sebagai banyak proses dalam memori
Memory Management Requirement
  • Relocation
    • Programmer tidak tahu dimana program akan ditempatkan di memori ketika akan dieksekusi
    • Selama program mengeksekusi, dapat bertukar ke disk dan kembali ke memori utama dilokasi yang berbeda (relocated)
    • Referensi memori harus diterjemahkan dalam kode untuk alamat memori yang sebenarnya fisik
  • Protection
    • Proses seharusnya tidak dapat referensi lokasi memori proses tanpa izin
    • Mustahil untuk cek alamat mutlak dalam program sejak program ini dapat direlokasikan
    • Harus dicek selama eksekusi
      • Sistem operasi tidak dapat mengantisipasi semua memori referensi program akan membuat
  • Sharing
    • Memungkinkan beberapa proses untuk mengakses bagian yang sama dari memori
    • Lebih baik untuk memungkinkan setiap proses (orang) akses ke salinan yang sama dari program dari pada memiliki salinan mereka sendiri secara terpisah
  • Logical Organization
    • Program ditulis didalam modul - modul
    • Modul dapat ditulis dan dikompile secara independen
    • Tingkat perlindungan yang berbeda diberikan ke modul - modul
    • Membagikan modul (Share modules)
  • Physical Organization
    • Memori yang tersedia untuk program plus data mungkin tidak cukup
      • Overlaying memungkinkan berbagai modul - modul akan ditugaskan kedaerah atau tempat yang sama dari memori
    • Programmer tidak tahu berapa besar ruang yang tersedia


Addressing
  • Logical
    • Referensi ke lokasi memori independen dari tugas saat ini dari data ke memori
    • Terjemahan harus dilakukan untuk physical address
  • Relative
    • Alamat dinyatakan sebagai lokasi relativ untuk beberapa titik (point) yang diketahui
  • Physical
    • Alamat absolute atau alamat yang sebenarnya didalam memori utama
Memory Allocation Algorithm
  1. First Fit
  2. Next Fit
  3. Best Fit
  4. Worst Fit
  5. Quick Fit
  6. Buddy System
Buddy System
  • Seluruh ruang yang tersedia diperlakukan sebagai single blok dari 2^u
  • Jika permintaan dari ukuran s seperti  2^u-1 < s < = 2^u, seluruh blok akan dialokasikan seperti:
    • Jika tidak blok akan displit kedalam 2 teman yang sama
    • Proses akan berlanjut sampai blok terkecil lebih besar dari pada atau sama dengan s yang akan digenerate

No comments:

Post a Comment