Manajemen Memory


Pengertian Manajemen Memori


Pengertian Memori dan Manajemen Memori
Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter. Sedangkan manajemen memori adalah suatu kegiatan untuk mengelola memori komputer. Proses ini menyediakan cara mengalokasikan memori untuk proses atas permintaan mereka, membebaskan untuk digunakan kembali ketika tidak lagi diperlukan serta menjaga alokasi ruang memori bagi proses.

Hirarki Memori




Pengelolaan memori utama sangat penting untuk sistem komputer, penting untuk memproses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer. Fungsi manajemen memori mempunyai peranan sangat penting dalam sistem komputer. Fungsi menejemen memori tersebut adalah :


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

Jenis-Jenis memori

Pada prinsipnya memori dalam sistem komputer dibedakan menjadi dua yaitu memori kerja dan memori dukung atau backing store. Memori Kerja mempunyai tugas utaman untuk menampung pekerjaan pada saat sebelum dan sesudah pekerjaan itu dilaksanakan oleh prosesor dan menampung berbagai hal yang diperlukan prosesor, contohnya system operasi, system bahasa, catatan. Beberapa Contoh memori kerja untuk memori tetap adalah: :
  • ROM (Read Only Memory), adalah memori yang hanya dapat baca saja.
  • PROM (Programmable ROM), adalah memori yang dapat diprogram tetapi tidak dapat dihapus lagi
  • EPROM (Electrically PROM), adalah memori yang dapat diisi melalui listrik, dan dapat dihapus.
  • EEPROM (Erasable EPROM), adalah memori yang dapat diisi dan dihapus dengan listrik, maka ciri utamanya adalah isi tetap ada / tidak mudah dihapus meskipun daya listrik computer terputus.
Registe mikroproseso. Memori yang memiliki ukurannya paling kecil tapi memiliki waktu akses paling cepat, umumnya hanya 1 siklus CPU saja.

Sementara itu Contoh memori kerja untuk memori bebas adalah :
  • RAM (Random Access Memory): memori yang dapat diisi dan dapat dibaca. Ciri utamanya adalah mengenal asas pemuktahiran yaitu dapat diisi dengan informasi terbaru dan isi akan hilang jika catu daya padam.
  • Cache memory. Memori berkapasitas kecil tetapi berkecepatan tinggi, yang dipasang diantara prosesor dan memori utama. Instruksi dan data yang sering diakses oleh prosesor ditempatkan dalam chace sehingga dapat lebih cepat diakses oleh prosesor. Jika data atau instruksi yang diperlukantidak tersedia dalam chacce, prosesor akan mencari dalam memori utama. Cach memory disusun berdasarkan kedekatannya dengan prosesor (level-1, level-2, level-3, dan seterusnya). Level cache memori tersebut dibedakan berdasarkan kapasitasnya.

Memori kerja terdiri dari sel memori yang berisi 1 kata sandi, misalnya sistem 8 bit menggunakan 8 bit kata sandi, sistem 1 kbyte menggunakan 1024 byte kata sandi. Sementara itu yang termasuk dalam Memori Dukung / backing store adalah: Floppy, Harddisk, CD, tape magnetik, flash disk dll.

Istilah-istilah dalam manajemen memori
  • Memori manajer adalah bagian dari sistem operasi yang mempunyai pengaruh dalam menentukan proses mana yang diletakkan pada antrian dan mengatur hirarki memori. Memory manager digunakan untuk mencegah satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary memory, mengatur swapping antara memori utama dan disk ketika memori utama terlalu kecil untuk memegang semua proses Swapping merupakan pemindahan proses dari memori utama ke disk dan kembali lagi.
  • Sebuah proses harus berada di memori untuk dieksekusi. Proses juga dapat ditukar (swap) sementara keluar memori ke backing store dan kemudian dibawa kembali ke memori untuk melanjutkan eksekusi. Backing store berupa disk besar dengan kecepatan tinggi yang cukup untuk meletakkan copy dari semua memory image untuk semua user, sistem juga harus menyediakan akses langsung ke memory image tersebut.
  • Fragmentasi Eksternal terjadi pada situasi dimana terdapat cukup ruang memori total untuk memenuhi permintaan, tetapi tidak dapat langsung dialokasikan karena tidak berurutan. Fragmentasi eksternal dilakukan pada algoritma alokasi dinamis, terutama strategi first-fit dan best-fit. Fragmentasi Internal terjadi pada situasi dimana memori yang dialokasikan lebih besar dari pada memori yang diminta tetapi untuk satu partisi tertentu hanya berukuran kecil sehingga tidak digunakan.
  • Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut frame. paging diimplementasikan dalam suatu tabel page. Setiap sistem operasi mempunyai metode sendiri untuk untuk menyimpan tabel page. Tiga prinsip dasar dalam implementasi pageing yaitu: 1)Tabel page diimplementasikan sebagai kumpulan dari “dedicated” register. 2) Tabel page disimpan pada main memori dan menggunakan page table base registe” (PTBR) untuk menunjuk ke tabel page yang disimpan di main memori. 3) Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang disebut associative register atau translation look-aside buffers (TLBs).
  • Multilevel paging digunakan pada sistem yang mempunyai ruang alamat logika yang sangat besar yaitu antara 232 s/d 264. Pada sistem ini, tabel page akan menjadi sangat besar. Misalnya untuk sistem dengan ruang alamat logika 32 bit dan ukuran page 4K byte, maka tabel page berisi 1 juta entry (232 / 212). Solusinya yaitu dengan melakukan partisi tabel ke beberapa beberapa bagian yang lebih kecil.
  • Segmentasi adalah skema manajemen memori yang memungkinkan user untuk melihat memori tersebut. Ruang alamat logika adalah kumpulan segmen. Setiap segmen mempunyai nama dan panjang. Spesifikasi alamat berupa nama segmen dan offset. Segment diberi nomor dan disebut dengan nomor segmen (bukan nama segmen) atau segment number. Segmen dibentuk secara otomatis oleh compiler.

Ruang Alamat Logika Dan Ruang Alamat Fisik

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). Alamat memori yang digunakan oleh program / data berurutan / berjulat. Jika kita menggunakan alamat 1, maka kita pun menggunakan alamat 2,3, … dan untuk 1 informasi jika alamat awalnya 0 dan alamat lainnya relatif terhadap alamat awal 0 ini, maka dinamakan alamat relatif. Dan alamat tersebut adalah logika dari untaian alamat yang menyimpan informasi maka dikenal alamat memori logika.

Himpunan dari semua alamat fisik yang berhubungan dengan alamat logika disebut dengan ruang alamat fisik (physical address space). Sel memori pada memori kerja adalah sumber daya berbentuk fisik, sehingga untuk mencapai sel memori ini digunakan kata pengenal. Maka disebutlah alamat fisik dan karena nomor alamat fisik ini bersifat mutlak (nomor setiap sel adalah tetap), maka disebut juga alamat mutlak.

Memory Manajement Unit (MMU) adalah perangkat keras yang memetakan alamat virtual ke alamat fisik. Pada skema MMU, nilai register relokasi ditambahkan ke setiap alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori.
Contoh : alamat awal relatif 0, alamat awal fisik 14726, maka selisihnya = relokasinya = 14726-0 = 14726.
Tabel Alamat relatif dan alamat mutlak memori




Virtual Memori

Memori virtual adalah teknik manajemen memor yang dikembangkan untuk kerne multi-tuga. Teknik ini divirtualisasika dalam berbagai bentuk arsitektur kompute dari komputer penyimpanan dat (seperti memori akses aca dan cakram penyimpana), yang memungkinkan sebuah progra harus dirancang seolah-olah hanya ada satu jenis memori dan bertindak secara langsung (RAM). Sebagian besar sistem operasi modern yang mendukung memori virtual menjalankan setiap prose di ruang alama khusus. Setiap program memiliki akses tunggal ke memori virtual. Namun, beberapa sistem operasi yang lebih tua (seperti OS/VS dan OS/VS2 SV) dan bahkan yang modern yang (seperti IBM ) memiliki ruang alamat tungga yang terdiri dari memori virtual untuk menjalankan semua proses.

Memori virtual membuat pemrograman aplikasi lebih mudah untuk fragmentas persembunyian dari memori fisik. Dengan mendelegasikan ke kernel beban dalam mengelola hierarki memori. Sehingga menghilangkan keharusan program dalam mengatasi permasalahan secara eksplisit. Ssetiap proses berjalan dalam ruang alamat khususnya, dengan menghindarkan kebutuhan untuk merelokas kode program atau untuk mengakses memori dengan pengalamatan relatif. Virtualisasi memor adalah generalisasi dari konsep memori virtual.

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.

Manajemen Memory Pada Linux

Mengapa file, proses, memori, disk, dan input/output perlu dikelola?
Mari kita simak kembali! Sistem operasi memiliki peran strategis dalam rangka mengelola sumber daya komputer yang terbatas untuk diatur, dikelola sedemikian sehingga sumber daya tersebut dapat digunakan untuk memenuhi permintaan banyak proses, dalam artian mampu mengakomodasi berbagai kebutuhan proses.

Apa itu Manajemen Memori?
Dalam konteks sistem operasi, manajemen memori merupakan mekanisme yang dilakukan oleh sistem operasi dalam rangka mengelola, mengatur, memilih, dan menentukan proses yang dijadwalkan oleh CPU untuk diantrikan pada memori.

Apa Fungsi dari Manajemen Memori?
Dengan adanya mekanisme manajemen memori oleh sistem operasi, maka tentu akan memberikan pengaruh signifikan pada komputer, seperti: (1) pengelolaan informasi, baik yang digunakan maupun tidak digunakan; (2) pengalokasian memori ke proses yang memerlukan; (3) pendealokasian memori dari proses yang telah selesai menggunakan memori; (4) pengelolaan mekanisme swapping atau paging antara memori utama dan harddisk; dan seterusnya.

Bagaimana Manajemen Memori Berdasarkan Keberadaannya?
Manajemen memori berdasarkan keberadaannya dikelompokkan ke dalam 2 jenis, yaitu: (1) Dengan Swapping atau Paging; (2) Tanpa Swapping atau Paging. Mekanisme manajemen memori dengan dukungan mekanisme swapping atau paging memungkinkan pengelolaan memori dengan mekanisme perpindahan proses sewaktu-waktu antara memori utama dan harddisk selama eksekusi berlangsung, sedangkan mekanisme pengelolaan memori tanpa dukungan mekanisme swapping atau paging dapat dikatakan sebagai mekanisme pengelolaan memori tanpa perpindahan proses antara memori utama dan harddisk pada saat dilangsungkannya eksekusi proses.

Bagaimana Implementasi Manajemen Memori pada Sistem Operasi?
Agar tidak terlalu pusing oleh teori-teori tersebut, mari simak implementasi manajamen memori di Sistem Operasi Linux. Linux menyediakan berbagai command untuk memanajemen memori yang ada pada komputer; mulai dari hanya sekadar melihat informasi penggunaan memori, mengoptimalkan penggunaan memori fisik dengan memori virtual, mengubah nilai kecenderungan kernel untuk memindahkan proses dari memori ke swap, pengelolaan partisi, melihat daftar partisi yang dikenali, melihat isi dari flash drive, mencabut flash drive, melihat perangkat input/output yang tertancap pada komputer, mengeluarkan atau meng-eject CD/DVD ROM, dan seterusnya; yang seluruhnya memungkinkan untuk dilakukan menggunakan Bash Terminal Linux. Mau lihat bagaimana perintah-perintahnya? Yuk simak!




Manajemen Memori

Melihat Swap Space dan Banyaknya Swapping yang Terjadi
Untuk melihat swap space dan banyaknya swapping yang terjadi pada komputer, mari kita berikan perintah free pada Terminal.




Melihat Penggunaan Memori dan Swap
Untuk melihat penggunaan memori dan swap pada komputer, berikanlah perintah cat /proc/meminfo pada Terminal.


Mengoptimalkan Penggunaan Memori Fisik dengan Memori Virtual
Untuk mengoptimalkan penggunaan memori fisik (RAM) dengan memori virtual (Swap), kita dapat mengaturnya dengan langkah sebagai berikut. Mula-mula, lihat terlebih dahulu derajat kecenderungan atau agresifitas kernel untuk memindahkan proses dari memori ke swap dengan memberikan perintah swappiness pada Terminal
.

Nilai swappiness sendiri merepresentasikan kecenderungan pemindahan proses dari memori ke swap, dengan range 0-100. Semakin rendah nilai swappiness, maka kernel akan menghindari proses swapping selama mungkin; sebaliknya, jika nilai swappiness semakin tinggi, maka kernel akan melakukan proses swapping sesering mungkin. Bagaimana mengubah nilai swappiness? Untuk mengubah nilai swappiness secara sementara (dalam artian hanya berlangsung selama komputer aktif dan tidak di-reboot), berikan perintah sudo sysctl vm.swappiness=nilai_yang_diberikan.


Manajemen Disk dan I/O

Memanajemen Partisi/Disk
Terdapat beberapa perintah untuk memanajemen disk, yakni dengan menggunakan perintah fdisk. Adapun perintah fdisk memiliki beberapa opsi, seperti -d, -l, -n, dan -v. Perintah fdisk -d digunakan untuk menghapus partisi; fdisk -l digunakan untuk membuat partisi baru; fdisk -n digunakan untuk membuat partisi baru; dan perintah fdisk -v digunakan untuk memverifikasi partisi.

Melihat Daftar Partisi/Drive yang Dikenali
Sesuai dengan deskripsi perintah di atas, untuk melihat daftar partisi atau drive yang dikenali pada sistem operasi, berikan perintah sudo fdisk -l pada Terminal.




Melihat Isi dari Flash Drive
Untuk melihat isi dari flashdrive, maka berikanlah perintah sudo mount /dev/sdb1 /media pada Terminal.

Mencabut Flash Drive
Untuk mencabut flashdrive, berikan perintah umount /media/ pada Terminal.

Meng-eject CD/DVD ROM
Untuk meng-eject CD/DVD ROM, kita dapat memberikan perintah eject /dev/sr0 pada Terminal.


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:


Manajemen memori adalah Tugas yang paling penting dan paling kompleks dari sistemoperasi.
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).
Memori sebagai pengingat dan penyimpan informasi yang berupa data dan program.
Manajemen memori berkaitan dengan memori utama sebagai sumber daya yang harusdialokasikan dan dipakai bersama diantara sejumlah proses yang aktif.
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.

Tidak ada komentar:

Posting Komentar