Rangkuman Materi 5

Pengertian Manajemen Memori dan Fungsinya


Pengertian Manajemen Memori dan Fungsinya - Manajemen memori adalah proses pengendalian dan koordinasi memori komputer, menugaskan bagian yang disebut blok ke berbagai program untuk mengoptimalkan kinerja sistem secara keseluruhan. Manajemen memori berada di perangkat keras (hardware), dalam OS (sistem operasi), dan dalam program dan aplikasi.

Pada perangkat keras, manajemen memori melibatkan komponen penyimpanan data, seperti RAM (random access memory) chip, memori cache, dan flash berbasis SSD (solid-state drive). Manajemen memori sistem operasi adalah menangani atau mengelola memori utama dan bergerak bolak-balik antara memori utama dan disk selama eksekusi.

Manajemen memori melacak setiap lokasi memori, terlepas dari dialokasikan untuk beberapa proses. Ia memeriksa berapa banyak memori yang akan dialokasikan untuk proses.


Fungsi Manajemen Memori
Fungsi manajemen memori mempunyai peranan sangat penting dalam sistem komputer. Fungsi menejemen memori tersebut antara lain adalah;

1. Dapat meningkatkan kinerja atau Utilitas CPU.
2. Dapat meningkatkan kecepatan akses CPU pada data dan instruksi Data dan instruksi dapat diakses dengan cepat oleh CPU.
3. Dapat meningkatkan efisensi pemakaian memori  yang terbatas.
4. Dapat Meningkatkan efisiensi transfer atau perpindahan data dari memori atau ke memori utama dan dari CPU atau ke CPU.
5. Untuk Mengelola informasi yang digunakan dan tidak digunakan.
6. Untuk mengalokasikan memori ke proses yang memerlukannya.
7. Untuk Mendealokasikan memori dari proses telah selesai.
8. Untuk Mengelola swapping atau paging antara memori utama dan disk.

Jenis-Jenis Memori

Pada prinsipnya memori dalam sistem komputer dapat dibedakan menjadi dua bagian yaitu memori kerja dan memori backing store. Memori Kerja bertugas untuk menampung pekerjaan pada saat sebelum atau sesudah pekerjaan itu dilaksanakan oleh prosesor dan untuk menampung segala hal yang diperlukan oleh prosesor, contohnya sistem operasi, system bahasa, catatan. 

Beberapa Contoh memori kerja untuk memori tetap adalah: :
- ROM atau Read Only Memory adalah memori yang hanya dapat baca saja.
PROM atau Programmable ROM adalah memori yang dapat diprogram tetapi tidak dapat dihapus kembali.
- EPROM atau Electrically PROM adalah memori yang dapat diisi melalui listrik dan dapat dihapus kembali.
- EEPROM atau Erasable EPROM adalah memori yang dapat diisi dan dihapus dengan listrik dan tidak akan hilang meskipun daya listrik pada komputer terputus.
-Register mikroprosesor adalah Memori yang berukuran paling kecil tapi memiliki waktu akses yang cepat.
Pengertian Manajemen Memori dan Fungsinya


Sementara itu Contoh memori kerja untuk memori bebas adalah :
- RAM (Random Access Memory): memori yang dapat diisi dan dapat dibaca.

Baca juga : Cara Melihat Kapasitas RAM
- Cache memory adalah Memori yng memiliki kapasitas kecil tetapi berkecepatan tinggi, Cache memory dipasang diantara prosesor dan memori utama. Instruksi dan data yang sering diakses oleh prosesor ditempatkan dalam chace sehingga dapat lebih cepat diakses oleh prosesor. 

                                     manajemen memory pada windows 

  Windows memiliki memori fisik dan virtual yang dibutuhkan oleh proses sebuah program atau lebih (multitasking). Sebelum kita membahas tentang memory-nya kita patut mengetahui dulu apa itu proses. Proses adalah sebuah program yang sedang dieksekusi, sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat I/O. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya.

                Kita pasti sudah mengenal apa itu memory fisik, sedangkan virtual memory? Virtual Memory merupakan sebuah memory cadangan dari sebuah memory fisik yang berfungsi untuk menyimpan data sementara dari sebuah proses kerja suatu sistem, mekanisme ini beroperasi dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard drive yang disebut dengan swap file, page file atau swap partition.

Keuntungan dari menggunakan Virtual Memory ini antara lain:
  • Lalu lintas proses input dan output akan menjadi lebih rendah, sehingga proses lebih cepat

·         Penggunaan memory fisik akan lebih sedikit
·         Tidak akan terjadi deadlock (error system)
·         Dapat menambah jumlah user yang akan ditangani
·         Memory Virtual dapat diset melebihi kapasitas memory fisik
Singkatnya, Virtual Memory selalu dimiliki oleh sebuah sistem operasi untuk mencegah terjadinya deadlock antar aplikasi maupun sistem itu sendiri.
                Nah dalam manajemen memory Windows ini kita akan mengetahui beberapa hal yang di perlukan untuk melakukan hal tersebut. Dikarenakan penulisan saya hanya dibatasi 3 halaman oleh dosen saya, maka saya mencoba menjelaskannya dengan singkat dan berharap dapat dengan mudah dicerna oleh pembaca sekalian.
                Pada Windows, kita bisa memajemen memory dengan memantau proses pada aplikasi bawaan windows sendiri, Task Manager.
                Kita dapat memanggil task manager melalui beberapa cara :
1)      Melalui Ctrl + Shift + Esc
2)      Melalui Ctrl + Alt + Del dan pilih Start Task Manager
3)      Melalui Klik kanan pada task bar dan pilih Start Task Manager






Dengan menggunakan Task Manager, adalah hal paling mudah untuk memanajemen proses sekaligus memanajemen memory pada Windows.

Deskripsi Manajemen Memori:

  1. Manajemen memori adalah Tugas yang paling penting dan paling kompleks dari sistemoperasi.
  2. Memori adalah sumber daya Komputer yang sangat penting, sehingga dikelolasangat hati-hati oleh sistem operasi. CPU berhubungan dengan waktu eksekusi( runningtime/CPU time), Memori berhubungan dengan ruang dan alamat ( space dan address).
  3. Memori sebagai pengingat dan penyimpan informasi yang berupa data dan program.
  4. Manajemen memori berkaitan dengan memori utama sebagai sumber daya yang harusdialokasikan dan dipakai bersama diantara sejumlah proses yang aktif.
  5. Manajemen memori berkaitan juga dengan usaha agar pemrogram atau proses tidakdibatasi oleh kapasitas memori fisik yang terdapat pada sistem komputer.
Manajemen Memori Terdapat 2 (dua) manajemen memori yaitu:
1)      Manajeman memori statis, Dengan pemartisian statis, jumlah, lokasi dan ukuran proses dimemori tidak beragam sepanjang waktu secara tetap.
2)      Manajemen memori dinamis Dengan pemartisian dinamis , jumlah, lokasi dan ukuran proses dimemori dapat beragam sepanjang waktu secara dinamis.

Fungsi-fungsi Manajemen memori:
  • Mengelola informasi memori yang terpakai dan yang tidak terpakai.
  • Mengalokasikan memori ke proses yangmemerlukan.
  • Mendealokasikan memori dari prosesyang telah selesai.
  • Mengelola swapping antara memoriutama dan disk.



Entitas memori sendiri ada 4 macam:
·         Used-RAM                  : RAM yang terpakai.
·         Cached-RAM             : RAM yang dipakai sebagai tempat simpan sementara untuk aplikasi jika dieksekusi  kembali.
·         Free-RAM                   : RAM yang tidak terpakai.
·         Swap                             : memori tambahan menggunakanharddisk.
Pemetaan file diperlukan karena file dipetakan secara teratur sehingga bisa mendapatkan akses ke sumber daya dan metadata dari dalam diri mereka.




                Dengan mengetahui pemetaan file, kita secara dasar mengerti proses-proses yang sedagn berjalan dan ini sangat-amat diperlukan karena menghindari terjadinya kesalahan saat melakukan manajemen memory pada windows.

                                          Manajemen memory di linux

Manajemen Memori di Linux

Manajemen Memori Fisik

Bagian ini menjelaskan bagaimana linux menangani memori dalam sistem. Memori manajemen merupakan salah satu bagian terpenting dalam sistem operasi. Karena adanya keterbatasan memori, diperlukan suatu strategi dalam menangani masalah ini. Jalan keluarnya adalah dengan menggunakan memori virtual. Dengan memori virtual, memori tampak lebih besar daripada ukuran yang sebenarnya.
Dengan memori virtual kita dapat:

  1. Ruang alamat yang besar
    Sistem operasi membuat memori terlihat lebih besar daripada ukuran memori sebenarnya. Memori virtual bisa beberapa kali lebih besar daripada memori fisiknya.
  2. Pembagian memori fisik yang dil
    Manajemen memori membuat pembagian yang adil dalam pengalokasian memori antara proses-proses.
  3. Perlindungan
    Memori manajemen menjamin setiap proses dalam sistem terlindung dari proses-proses lainnya. Dengan demikian, program yang crash tidak akan mempengaruhi proses lain dalam sistem tersebut.
  4. Penggunaan memori virtual bersama
    Memori virtual mengizinkan dua buah proses berbagi memori diantara keduanya, contohnya dalam shared library. Kode library dapat berada di satu tempat, dan tidak dikopi pada dua program yang berbeda.

Memori Virtual

gambar model mapping virtual to physical address
Memori fisik dan memori virtual dibagi menjadi bagian-bagian yang disebut pagePage ini memiliki ukuran yang sama besar. Tiap page ini punya nomor yang unik, yaitu Page Frame Number (PFN). Untuk setiap instruksi dalam program, CPU melakukan mapping dari alamat virtual ke memori fisik yang sebenarnya.
Penerjemahan alamat di antara virtual dan memori fisik dilakukan oleh CPU menggunakan tabel page untuk proses x dan proses y. Ini menunjukkan virtial PFN 0 dari proses x dimap ke memori fisik PFN 1. Setiap anggota tabel page mengandung informasi berikut ini:

  1. Virtual PFN
  2. PFN fisik
  3. informasi akses page dari page tersebut
Untuk menerjemahkan alamat virtual ke alamat fisik, pertama-tama CPU harus menangani alamat virtual PFN dan offsetnya di virtual page. CPU mencari tabel page proses dan mancari anggota yang sesuai degan virtual PFN. Ini memberikan PFN fisik yang dicari. CPU kemudian mengambil PFN fisik dan mengalikannya dengan besar page untuk mendapat alamat basis page tersebut di dalam memori fisik. Terakhir, CPU menambahkan offset ke instruksi atau data yang dibutuhkan. Dengan cara ini, memori virtual dapat dimap ke page fisik dengan urutan yang teracak.

Demand Paging

Cara untuk menghemat memori fisik adalah dengan hanya meload page virtual yang sedang digunakan oleh program yang sedang dieksekusi. Tehnik dimana hanya meload page virtual ke memori hanya ketika program dijalankan disebut demand paging.
Ketika proses mencoba mengakses alamat virtual yang tidak ada di dalam memori, CPU tidak dapat menemukan anggota tabel page. Contohnya, dalam gambar, tidak ada anggota tabel page untuk proses x untuk virtual PFN 2 dan jika proses x ingin membaca alamat dari virtual PFN 2, CPU tidak dapat menterjemahkan alamat ke alamat fisik. Saat ini CPU bergantung pada sistem operasi untuk menangani masalah ini. CPU menginformasikan kepada sistem operasi bahwa page fault telah terjadi, dan sistem operasi membuat proses menunggu selama sistem operasi menagani masalah ini.
CPU harus membawa page yang benar ke memori dari image di disk. Akses disk membutuhkan waktu yang sangat lama dan proses harus menunggu sampai page selesai diambil. Jika ada proses lain yang dapat dijalankan, maka sistem operai akan memilihnya untuk kemudian dijalankan. Page yang diambil kemudian dituliskan di dalam page fisik yang masih kosong dan anggota dari virtual PFN ditambahkan dalam tabel page proses. Proses kemudian dimulai lagi pada tempat dimana page fault terjadi. Saat ini terjadi pengaksesan memori virtual, CPU membuat penerjemahan dan kemudian proses dijalankan kembali.
Demand paging terjadi saat sistem sedang sibuk atau saat image pertama kali diload ke memori. Mekanisme ini berarti sebuah proses dapat mengeksekusi image dimana hanya sebagian dari image tersebut terdapat dalam memori fisik.

Swaping

Jika memori fisik tiba-tiba habis dan proses ingin memindahkan sebuah page ke memori, sistem operasi harus memutuskan apa yang harus dilakukan. Sistem operasi harus adil dalam mambagi page fisik dalam sistem diantara proses yang ada, bisa juga sistem operasi menghapus satu atau lebih page dari memori untuk membuat ruang untuk page baru yang dibawa ke memori. Cara page virtual dipilih dari memori fisik berpengaruh pada efisiensi sistem.
Linux menggunakan tehnik page aging agar adil dalam memilih page yang akan dihapus dari sistem. Ini berarti setiap page memiliki usia sesuai dengan berapa sering page itu diakses. Semakin sering sebuahpage diakses, semakin muda page tersebut. Page yang tua adalah kandidat untuk diswap.

Pengaksesan memori virtual bersama

Memori virtual mempermudah proses untuk berbagi memori saat semua akses ke memori menggunakan tabel page. Proses yang akan berbagi memori virtual yang sama, page fisik yang sama direference oleh banyak proses. Tabel page untuk setiap proses mengandung anggota page table yang mempunyai PFN fisik yang sama.

Efisiensi

Desainer dari CPU dan sistem operasi berusaha meningkatkan kinerja dari sistem. Disamping membuat prosesor, memori semakin cepat, jalan terbaik adalah manggunakan cache. Berikut ini adalah beberapa cache dalam manajemen memori di linux:

  1. Page Cache
    Digunakan untuk meningkatkan akses ke image dan data dalam disk. Saat dibaca dari disk, page dicache di page cache. Jika page ini tidak dibutuhkan lagi pada suatu saat, tetapi dibutuhkan lagi pada saat yang lain, page ini dapat segera diambil dari page cache.
  2. Buffer Cache
    Page mungkin mengandung buffer data yang sedang digunakan oleh kernel, device driver dan lain-lain. Buffer cache tampak seperti daftar buffer. Contohnya, device driver membutuhkan buffer 256 bytes, adalah lebih cepat untuk mengambil buffer dari buffer cache daripada mengalokasikan page fisik lalu kemudian memecahnya menjadi 256 bytes buffer-buffer.
  3. Swap Cache
    Hanya page yang telah ditulis ditempatkan dalam swap file. Selama page ini tidak mengalami perubahan setelah ditulis ke dalam swap file, maka saat berikutnya page di swap out tidak perlu menuliskan kembali jika page telah ada di swap file. Di sistem yang sering mengalami swap, ini dapat menghemat akses disk yang tidak perlu.
Salah satu implementasi yang umum dari hardware cache adalah di CPU, cache dari anggota tabel page. Dalam hal ini, CPU tidak secara langsung membaca tabel page, tetap mencache terjemahan page yang dibutuhkan.

Load dan Eksekusi Program


  1. Penempatan program dalam memori
    Linux membuat tabel-tabel fungsi untuk loading program, memberikan kesempatan kepada setiap fungsi untuk meload file yang diberikan saat sistem call exec dijalankan. Pertama-tama file binari daripage ditempatkan pada memori virtual. Hanya pada saat program mencoba mengakses page yang telah diberikan terjadi page fault, maka page akan diload ke memori fisik.
  2. Linking statis dan linking dinamis


    1. Linking statis:
      librari-librari yang digunakan oleh program ditaruh secara langsung dalam file binari yang dapat dieksekusi. Kerugian dari linking statis adalah setiap program harus mengandung kopi library sistem yang umum.
    2. Linking dinamis:
      hanya sekali meload librari sistem menuju memori. Linking dinamis lebih efisien dalam hal memori fisik dan ruang disk.

No comments:

Post a Comment

Pengertian Sistem Operasi (OS) Beserta Fungsi dan Contoh Sistem Operasi

Pengertian Sistem Operasi Operating System (OS) atau sistem operasi adalah  salah satu perangkat lunak atau software yang bertanggunga ja...