Selasa, 01 Juni 2010

Manajemen memori Linux

Pada linux manajemen memorinya terbagi menjadi dua buah yaitu:

• Memori Fisik
Bagian ini menjelaskan bagaimana linux menangani memori dalam system. Manajemen memori merupakan salah satu bagian terpenting dalam system 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 dari pada ukuran yang sebenarnya.

Dengan memori virtual kita dapat:

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

• Memori virtual
Memori fisik dan memori virtual dibagi menjadi bagian-bagian yang disebut page. Page ini memiliki ukuran yang sama besar. Tiap page ini punya nomor yang unik, yaitu page frame number (PFN). Untuk setiap intruksi 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 menunjukan virtual PFN 0 dari proses di map ke memori fisik PFN 1.

setiap anggota tabel page megandung informasi berikit 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 mencari anggota yang sesuai dengan virtul PFN. Ini memberikan PFN fisik yang di cari. CPU kemudian megambil PFN fisik dan mengalikanya dengan besar page untuk mendapatka alamat basis page tersebut di dalam memori fisik. Terakhir CPU menambahkan offset ke intruksi atau data yang di butuhkan. Dengan cara ini memori virtual dapat dimap ke page fisik dengan urutan teracak.

Tidak ada komentar:

Posting Komentar