3. Memori
Managemen Memori Fisik
Bagian ini menjelaskan bagaimana linux menangani memori dalam
sistem. Memori managemen 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.
3
Sistem Operasi 13.12.11
4. Dengan memori virtual kita dapat:
• Ruang alamat yang besar
Sistem operasi membuat memori terlihat lebih besar daripada ukuran
emori sebenarnya. Memori virtual bisa beberapa kali lebih besar
daripada memori fisiknya.
• Pembagian memori fisik yang adil
Managemen memori membuat pembagian yang adil dalam
pengalokasian memori antara proses-proses.
4
Sistem Operasi 13.12.11
5. • Perlindungan
Memori managemen menjamin setiap proses dalam sistem
terlindung dari proses-proses lainnya. Dengan demikian, program
yang crash tidak akan mempengaruhi proses lain dalam sistem
tersebut.
• 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.
5
Sistem Operasi 13.12.11
6. 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 instruksi dalam program, CPU melakukan mapping
dari alamat virtual ke memori fisik yang sebenarnya.
6
Sistem Operasi 13.12.11
7. 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.
7
Sistem Operasi 13.12.11
8. Swaping
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 sebuah
page diakses, semakin muda page tersebut. Page yang tua adalah
kandidat untuk diswap.
8
Sistem Operasi 13.12.11
9. 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.
9
Sistem Operasi 13.12.11
10. 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
managemen memori di linux:
• Page Cache
• Buffer Cache
• Swap Cache
10
Sistem Operasi 13.12.11
11. 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 dari page
ditempatkan pada memori virtual. Hanya pada saat program mencoba
mengakses page yang telah diberikan terjadi page fault, maka page akan
diload ke memori fisik.
11
Sistem Operasi 13.12.11
12. 2. Linking statis dan linking dinamis
a. 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.
b. Linking dinamis:
hanya sekali meload librari sistem menuju memori. Linking dinamis
lebih efisien dalam hal memori fisik dan ruang disk.
12
Sistem Operasi 13.12.11