Senin, April 26, 2010

manajemen memori pada LINUX

MANAJEMEN MEMORI PADA LINUX

Manajemen memori sangat mempengaruhi kinerja komputer. Manajemen memori melakukan tugas penting dan kompleks berkaitan dengan:

· Memori utama sebagai sumber daya yang harus dialokasikan dan dipakai bersama diantara sejumlah proses yang aktif. Agar dapat memanfaatkan pemroses dan fasilitas masukan/keluaran secara efisien, maka diinginkan memori yang dapat menampung sebanyak mungkin proses.

· Upaya agar pemrogram atau proses tidak dibatasi kapasitas memori fisik di system komputer.

Linux adalah sebuah system operasi yang bersifat bebas untuk di gunakan pada computer pribadi (PC) dan juga pada perangkat keras lain. Sebenarnya linux hanya sebuah kernel. Namun dengan pengembangan aplikasi yang dilakukan oleh Free Software Fondation Linux kini menjadi GNU.

Kernel adalah komponen inti pada siste operasi yang berfungsi sebagai pengatur sumber daya system pada computer. Yang di atur oleh kernel antara lain adalah memori. Kernel memiliki akses penuh ke memori sistem dan harus memberikan ijin kepada proses-proses untuk mengakses memori secara aman

Linux memanfaatkan virtual memori untuk mendukung kinerja sistem. Sebagai sistem operasi multiprogramming, virtual memori dapat meningkatkan efisisensi sistem. Sambil proses menunggu bagiannya diswap masuk ke memori, menunggu selesainya operasi masukan/keluaran dan proses diblocked. Jatah waktu pemroses dapat diberikan ke proses-proses lain. Manajemen memori Linux menyediakan:

1. Ruang alamat besar

Ruang alamat dapat lebih besar dibanding memori fisik yang tersedia

2. Proteksi

Tiap proses di sistem mempunyai ruang alamat maya tersendiri. Ruang-ruang alamat maya itu sepenuhnya terpisah. Proses yang berjalan di satu aplikasi tidak dapat mengganggu proses lainnya.

3. Pemetaan memori

Dilakukan pemetaan antara memori maya ke memori fisik yang tersedia.

4. Memori maya bersama (shared virtual memory)

Memori maya bersama ini untuk menghemat ruang memori, seperti pustaka dinamis bagi beberapa proses.

Karena memori fisik lebih sedikit dibanding memori maya, maka sistem hanya memuatkan page-page maya yang saat itu sedang digunakan proses. Linux memuatkan page maya begitu diperlukan. Teknik ini disebut dengan demand paging. Saat pemroses berusaha mengakses alamat maya yang tidak di memori fisik, pemroses tidak dapat menemukan isian di tabel page maya. Pemroses menerbitkan page fault pada saat :

  • Jika alamat maya yang dituju tak absah (yaitu proses berusaha mengakses alamat maya yang tidak dibolehkan), maka sistem operasi mengakhiri proses itu untuk memproteksi proses-proses lain.
  • Jika alamat maya yang dituju absah tapi tidak sedang di memori fisik, maka system operasi harus membawa page ke memori dari disk. Pengaksesan disk memerlukanwaktu lama.
  • Jika terdapat proses lain yang dapat dijalankan, maka sistem operasi memilih proses lain untuk dijalankan. Proses dimulai kembali di instruksi dimana page fault terjadi. Pemroses dapat memetakan memori maya ke memori fisik saat dilakukan pengaksesan memori maya, sehingga proses terus berjalan. Jika tidak terdapat memori bebas, sistem operasi harus membuat ruang bagi page yang akan dimasukkan dengan membuang page lain dari memori.

Linux menempatkan proses pada memori yang dibagi menjadi sejumlah partisi. Pemartisian ini bersifat dinamis maka jumlah, lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segera dibuatkan partisi sesuai kebutuhan. Linux menciptakan ruang disk tempat swap terlebih dahulu, saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses harus dikeluarkan dari memori utama, proses selalu ditempatkan ke ruang yang telah dialokasikan, bukan ke tempat-tempat berbeda setiap kali terjadi swap-out. Ketika proses berakhir, ruang swap pada disk didealokasikan.

Sumber :

http://ilmukomputer.org

http://forum.himatif.or.id/viewtopic.php?f=17&t=949

Tidak ada komentar:

Poskan Komentar