Saturday, October 8, 2016

Sistem Managemen Memori Pada Linux

Sistem Managemen Memori Pada Linux - Memori merupakan inti dari operasi pada sistem komputer modern. Memori adalah array besar dari word atau byte, yang disebut dengan alamat. CPU (Central Processor Unit) mengambil instruksi dari memori berdasarkan nilai dari program counter. Instruksi ini mengakibatkan penambahan muatan dari alamat atau ke alamat memori tertentu.

Instruksi eksekusi  yang biasa, seperti, pertama mengambil instruksi dari memori. Instruksi di-kode-kan dan mengambil operand dari memori. Setelah instruksi dieksekusi pada operand, hasilnya ada yang dikirim kembali ke memori.

Unit memori adalah deretan alamat memori; tanpa diketahui bagaimana membangkitkan instruction counter, indirection, indexing, literal address dll. atau untuk apa itu data dan intruksi? Oleh karena itu, kalian boleh boleh saja mengabaikan bagaimana alamat memori dibangkitkan oleh program? atau kalian juga boleh mengabaikan bagaimana deretan alamat memori dibangkitkan oleh program yang sedang berjalan.

Baca juga : Perangkat Lunak Bahasa Pemrograman

Pengikatan alamat adalah cara instruksi dan data dipetakan ke alamat memori. Kebanyankan sistem membolehkan proses pengguna (user process) untuk meletakkan di tempat mana saja dari memori fisik. Sehingga, walaupun alamat dari komputer dimulai pada 00000, alamat pertama dari proses user tidak harus dimulai 00000. Alamat pada source program biasanya berupa alamat simbolik.

Sebuah compiler umumnya melakukan pengikatan alamat simbolik ke alamat relokasi dipindah. Contonhya compiler mengikatkan alamat simbolik ke alamat relokasi -14 byte from the beginning of this module. Editor Linkage mengikatkan alamat relokasi ini ke alamat absolute (absolute addresses) ―74014.

Instruksi pengikatan instruksi dan data ke alamat memori dapat dilakukan pada saat Compile time, Load time, Execution time.
 
- Compile time :  Apabila lokasi memori diketahui dari awal, kode absolut bisa dibangkitkan, jika terjadi perubahan alamat pertama harus dilakukan kompilasi ulang.


- Load time : Wajib membangkitkan kode relokasi apabila lokasi memori tak diketahui pada saat kompilasi.


- Execution time : Pengikatan ditunda sampai jangka waktu eksekusi apabila proses bisa dipindahkan selama eksekusi dari satu segmen memori ke segmen memori lain. Membutuhkan dukungan perangkat keras untuk mempetakan alamat (misalnya register basis dan limit).

Alamat Logika (Logical Address) dan Alamat Fisik (Physical Address)
Alamat yang dibangkitkan oleh CPU (Central Proseccor Unit) disebut alamat logika dimana alamat tersebut terlihat sebagai unit memori yang disebut alamat fisik. Tujuan inti manajemen memori adalah konsep meletakkan ruang Logical Address ke ruang Physical Address.

Hasil skema waktu kompilasi dan hasil waktu pengikatan alamat pada Logical Address dan alamat memori adalah sama. Namun hasil skema waktu pengikatan alamat dan waktu eksekusi berbeda. dalam hal ini, Logical Address disebut dengan virtual address/ alamat maya.

Kumpulan dari semua Logical Address yang dibangkitkan oleh program disebut dengan ruang logical address space; kumpulan dari semua Physical Addres yang berhubungan dengan Logical Address disebut dengan physical address space.

MMU atau Memory Manajement Unit merupakan perangkat keras komputer yang mempetakan alamat maya ke Physical Address. Pada skema MMU, nilai register relokasi tambahkan ke setiap alamat yang dibangkitkan oleh proses pengguna pada waktu dikirim ke memory.

Register basis dinamakan register relokasi. Nilai dari register relokasi ditambahkan ke setiap address yang dibangkitkan oleh pengguna proses pada saat dikirim ke memory. Kita ambil contoh, Jika basis 14000, maka pengguna mencoba menempatkan ke alamat lokasi 0 dan secara dinamis direlokasi ke lokasi 14000.

Baca Juga: Pengertian Perangkat Lunak

Pengaksesan ke lokasi logika 346, maka akan dipetakan ke lokasi 14346, seperti pada gambar berikut ini.
Sistem Managemen Memori Pada Linux
Relokasi dinamis menggunakan register relokasi
User program tidak pernah melihat physical address secara jelas dan nyata. Program bisa membuat sebuah penunjuk ke lokasi 346, mengirimkan ke memori, memanipulasi, membandingkan dengan address lain, semua menggunakan alamat 346. Hanya pada waktu digunakan sebagai alamat memori akan direlokasi secara relatif ke register basis.

Swapping
Swapping adalah sebuah proses harus berada di memory untuk dieksekusi. Proses juga bisa ditukar/di swap sementara keluar memori ke backing store dan sealnjutnya ddiambil kembali ke memory untuk melanjutkan eksekusi.

Backing store adalah disk besar dengan kecepatan tinggi yang bisa untuk meletakkan copy dari semua memory image untuk semua pengguna, sistem juga harus menyediakan akses langsung ke memori image tersebut. Contohnya, sebuah lingkungan multiprogramming dengan penjadwalan CPU menggunakan algoritma round-robin.

Baca juga: Fungsi Perangkat Lunak

Kesimpulan
Memori adalah inti dari operasi pada sistem komputer modern. Memori merupakan array besar dari word ataupun byte, yang disebut alamat atau address. Central Processor Unit (CPU) mengambil instruksi dari memori berdasarkan nilai dari program counter. Instruksi ini mengakibatkan penambahan muatan dari alamat dan ke alamat memori tertentu.
Share on Facebook
Share on Twitter
Share on Google+
Buku Sekolah
Buku Sekolah Updated at: 3:14:00 AM

Related : Sistem Managemen Memori Pada Linux

0 komentar:

Post a Comment