Manajemen Memori Pada Sistem Operasi Bagian 1

Setelah instruksi dieksekusi pada operand, hasilnya ada yang dikirim kembali ke memory. Sebagai catatan, unit reminiscence hanya merupakan deretan alamat reminiscence; tanpa tahu bagaimana membangkitkan (training counter, indexing, indirection, literal deal with dan lainnya) atau untuk apa (instruksi atau statistics). Oleh karena itu, kita dapat mengabaikan bagaimana alamat memori dibangkitkan oleh program, yang lebih menarik bagaimana deretan alamat memori dibangkitkan oleh software yang sedang berjalan.

Memori pada komputer

Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan harus melalui memori manager lebih dahulu. Sedangkan manajemen adalah cara / pengaturan agar sesuatu dapat bekerja secara maksimal dan efisien. Sehingga dapat didefinisikan bahwa Manajemen Memori adalah cara / pengaturan memori agar kegiatan pada sebuah komputer dapat bekerja secara maksimal dan efisien.

Memori harus diatur sebaik mungkin agar

  • Meningkatkan utilitas CPU yang sebesar-besarnya
  • Data dan instruksi dapat diakses dengan cepat oleh CPU
  • Memori utama memiliki kapasitas yang sangat terbatas sehingga pemakaiannya harus seefisien mungkin
  • Transfer data dari/ke memori utama ke/dari CPU dapat efisien

Fungsi manajemen memori adalah

  1. Mengelola informasi memori yang dipakai dan tidak dipakai
  2. Mengatur strategi alokasi memori
  3. Mengalokasikan memori ke proses yang memerlukan
  4. Mendealokasikan memori dari proses yang telah selesai
  5. Mengelola swapping antara memori utama dan disk
  6. Manejemen input/output data dari dan ke memori
Manajemen Memori dibedakan menjadi 2 (berdasarkan keberadaan swapping) yaitu manajemen memori dengan swapping dan manajemen memori tanpa swapping.

Manajemen Memori Tanpa Swapping adalah manajemen memori tanpa pemindahan proses antara memori utama dan disk selama eksekusi. Sedangkan Manajemen Memori Dengan Swapping adalah manajemen memori dengan pemindahan proses antara memori utama dan disk selama eksekusi.

Baca juga :

  • Memahami Fungsi dan Cara Kerja Memori RAM Pada Komputer
  • Cara Menghitung Bandwidth Memori Pada VGA Card Modern

Contoh manajemen memori pada Sistem Operasi Multi-tasking

  • Relokasi
    • Pada sebuah sitem operasi, menejemen memori harus bisa mengatur program dalam memori seperti alamat dan referensi program
    • Memori tidak mencukupi untuk menampung keseluruhan program dan tidak semua bagian program diproses dalam memori
  • Proteksi
    • Proteksi memori digunakan untuk mencegah suatu proses mereferensi proses lainnya tanpa ijin
    • Selain itu proteksi memori digunakan untuk mencegah adanya gangguan dari program jahat pada proses tertentu
  • Sharing
    • Dengan adanya sharing memori, suatu proses bisa berkomunikasi dengan proses lainnya
    • Contohnya berbagi informasi dan mengakses bagian memori yang sama
    • Sharing memori ini merupakan teknik yang tercepat untuk komunikasi antar proses
  • Logical Organization
    • Menejemen memori melakukan segmentasi pada  proses di memori tersebut
    • Dengan adanya segmentasi tersebut, modul-modul yang dimiliki setiap program dapat diakses atau dimodifikasi oleh program yang lain
  • Physical Organization
    • Menejemen memori bisa mengatasi perpindahan informasi diantara dua level memori yang digunakan
Pengikatan alamat adalah cara instruksi dan data (yang berada di disk sebagai file yang dapat dieksekusi) dipetakan ke alamat memori. Sebagian besar sistem memperbolehkan sebuah proses user (user process) untuk meletakkan di sembarang tempat dari memori fisik. Sehingga, meskipun alamat dari komputer dimulai pada 00000, alamat pertama dari proses user tidak perlu harus dimulai 00000.

Pada beberapa kasus, program person akan melalui beberapa langkah sebelum dieksekusi Alamat pada supply application umumnya merupakan alamat simbolik. Sebuah compiler biasanya melakukan pengikatan alamat simbolik (symbolic address) ke alamat relokasi dipindah (relocatable deal with).

Instruksi pengikatan instruksi dan data ke alamat memori dapat dilakukan pada saat :

  • Compile time : Jika lokasi memori diketahui sejak awal, kode absolut dapat dibangkitkan, apabila terjadi perubahan alamat awal harus dilakukan kompilasi ulang. Misalnya : program format .com pada MS-DOS adalah kode absolut yang diikat pada saat waktu kompilasi
  • Load time : Harus membangkitkan kode relokasi jika lokasi memori tidak diketahui pada saat waktu kompilasi.
  • Execution time : Pengikatan ditunda sampai waktu eksekusi jika proses dapat dipindahkan selama eksekusi dari satu segmen memori ke segmen memori lain.
Alamat yang dibangkitkan oleh CPU disebut alamat logika (logical address) dimana alamat terlihat sebagai unit memory yang disebut alamat fisik (physical address). Tujuan utama manajemen memori adalah konsep meletakkan ruang alamat logika ke ruang alamat fisik.

Hasil skema waktu kompilasi dan waktu pengikatan alamat pada alamat logika dan alamat memori adalah sama. Tetapi hasil skema waktu pengikatan alamat waktu eksekusi berbeda. dalam hal ini, alamat logika disebut dengan alamat maya (virtual address). Himpunan dari semua alamat logika yang dibangkitkan oleh program disebut dengan ruang alamat logika (logical address space); himpunan dari semua alamat fisik yang berhubungan dengan  alamat logika disebut dengan ruang alamat fisik (physical address space).

Memory Manajement Unit (MMU) adalah perangkat keras yang memetakan alamat virtual ke alamat fisik. Pada skema MMU, nilai sign up relokasi ditambahkan ke setiap alamat yang dibangkitkan oleh proses person pada waktu dikirim ke memori.

0 comments