BAB I
PENDAHULUAN
A. LATAR
BELAKANG
Memori adalah pusat dari operasi pada sistem komputer modern. Memori adalah array besar dari word atau
byte, yang disebut alamat. CPU mengambil
instruksi dari memory berdasarkan nilai dari
program counter. Instruksi ini
menyebabkan penambahan muatan dari dan ke alamat memori tertentu.
Instruksi eksekusi yang umum, contohnya, pertama mengambil instruksi
dari memori. Instruksi dikodekan dan
mungkin mengambil operand dari memory.
Setelah instruksi dieksekusi pada
operand, hasilnya ada yang dikirim kembali ke memory. Sebagai catatan, unit memory hanya merupakan
deretan alamat memory; tanpa tahu bagaimana membangkitkan (instruction
counter, indexing, indirection,
literal address dan lainnya) atau untuk apa (instruksi atau data). Oleh karena itu, kita dapat mengabaikan
bagaimana alamat memori dibangkitkan oleh program, yang lebih menarik bagaimana
deretan alamat memori dibangkitkan oleh program yang sedang berjalan.
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. 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 (Eko, 2009).
Memory manager merupakan salah satu bagian sistem operasi yang
mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.
B. RUMUSAN
MASALAH
a.
Manajemen
Memori
b.
Manajemen
Memori Pada Windows
c.
Manajemen
Memori Pada Linux
C.
TUJUAN PENULISAN
a.
Untuk mengetahui bagaimana yang dimaksud Manajemen Memori
b.
Untuk mengetahui bagaimana Manajemen Memori pada Windows
c.
Untuk mengetahui bagaimana Manajemen Memori pada Linux
D. MANFAAT PENULISAN
a.
Memberikan pemahaman bagi penulis dan
pembaca , bagaimana sebenarnya itu Manajemen memori pada windows dan linux,
terkait dengan teknologi , arsitektur dan prinsip kerjanya
b. Sebagai bahan
bacaan bagi para pelajar maupun mahasiwa , sebagai referensi tambahan jika
membuat makalah dengan judul seperti ini.
c. Sebagai bahan
pertimbangan bagi mahasiswa yang ingin membuat makalah sejenis ini.
BAB II
PEMBAHASAN
A. Manajemen Memori
Manajemen
memori (Memory Manager) adalah salah satu bagian sistem operasi yang
mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.Manajemen
memori DOS merupakan mekanisme pengaturan memori pada sistem operasi DOS. Sistem operasi berjalan dalam modus real dengan
arsitektur berbasis prosesor intel x86. Dalam modus real, hanya 20-bit pertama dari bus alamat yang akan digunakan oleh
sistem operasi untuk mengakses memori, sehingga menjadikan jumlah memori yang
dapat diakses hanya mencapai 220=1048576 bytes (1 MB) saja, dari
yang seharusnya 32-bit/40-bit pada prosesor-prosesor modern.
Terdapat 2 (dua)
manajemen memori yaitu :
a. Manajeman memori statis
Dengan pemartisian statis, jumlah, lokasi dan ukuran
proses dimemori tidak beragam sepanjang waktu secara tetap.
b. Manajemen memori dinamis
Dengan pemartisian dinamis , jumlah, lokasi dan ukuran
proses dimemori dapat beragam sepanjang waktu secara dinamis.
Manajemen Memori Berdasarkan Alokasi memori
Terdapat 2 (dua) cara menempatkan informasi ke dalam
memori kerja, yaitu:
a. Alokasi Memori Berurutan (Contiguous Allocation)
Pada alokasi memori berurutan, setiap proses menempati
satu blok tunggal lokasi memori yang berurutan.
Kelebihan : sederhana, tidak ada rongga memory
bersebaran, proses berurutan dapat dieksekusi secara cepat.
Kekurangan : memori boros, tidak dapat disisip apabila
tidak ada satu blok memori yang mencukupi
b. Alokasi Memori Tak Berurutan (Non Contiguous
Allocation)
_ Program/proses ditempatkan pada beberapa segmen
berserakan, tidak perlu saling berdekatan atau berurutan. Biasanya digunakan
untuk lokasi memori maya sebagai lokasi page-page.
Kelebihan : sistem dapat memanfaatkan _ memori utama secara
lebih efesien, dan sistem opersi masih dapat menyisip proses bila jumlah
lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi.
_ Kekurangan : memerlukan pengendalian yang lebih
rumit dan memori jadi banyak yang berserakan tidak terpakai.
Fungsi Manajemen Memori
a. Mengelola informasi
yang dipakai dan tidak dipakai.
b. Mengalokasikan memori ke proses yang memerlukan.
c. Mendealokasikan memori dari proses telah selesai.
d. Mengelola swapping atau paging antara memori utama dan
disk.
Sistem operasi memberikan tanggapan terhadap manajemen
memori utama untuk aktivitas-aktivitas sebagai berikut:
a. Menjaga dan memelihara bagian-bagian memori yang
sedang digunakan dan dari yang menggunakan.
b. Memutuskan proses-proses mana saja yang harus dipanggil
kememori jika masih ada ruang di memori.
c. Mengalokasikan
dan mendelokasikan ruang memori jika diperlukan
Jenis-Jenis Manajemen Memory
Manajemen Memory Untuk
Monoprogramming
Bila program komputer yang dijalankan hanya satu jenis
selama proses berlangsung maka dikatakan mode kerja komputer itu adalah
monoprogramming. Selama komputer itu bekerja maka memory RAM seluruhnya di
kuasai oleh program tersebut. Jadi RAM tidak dapat di masuki oleh program
lain. Mode serupa ini di temui pada komputer berbasis DOS.
Penempatan program di memory diatur sedemikain rupa
sehingga (Eko, 2009) :
a) BIOS selalu di ROM
(BIOS)
b) Sistem Operasi di
RAM bawah (alamat rendah)
c) Program Aplikasi di RAM
tengah (alamat sesudah OS terakhir)
d) Data Sementara di RAM atas
(alamat sesudah Aplikasi terakhi).
Bila sistem operasi telah
selasai dimuat maka tampillah prompt di layar monitor, dan itu adalah tanda
bahwa komputer siap menerima program aplikasi. Letakkan disk yang berisi
program aplikasi pada diskdrive yang aktif lalu eksekusi , sehingga program itu
termuat seluruhnya ke RAM. Dengan demikian program aplikasi siap
digunakan menurut semestinya.Kita lihat ketika komputer mula-mula
dinyalakan maka proses yang dibaca pertama kali adalah apa yang tertulis di
dalam ROM. Setelah semua perintah di adalam ROM BIOS selesai dibaca maka
komputer meminta kita memasukkan DOS ke dalam RAM-nya.Ketika DOS dibaca maka
diletakkan sebagian dari program DOS yang terpenting saja ke dalam RAM, seperti
: COMMAND.COM dan INTERNAL COMMAND. Sedangkan
program DOS yang lain masih tetap di dalam disk dan apabila kita perlukan dapat
di eksekusi. Hal itu berguna untuk mrnjaga agar RAM tidak penuh oleh Sistem
Operasi saja.
Ketika kita bekerja dengan program aplikasi tasdi maka kita
akan menghasilkan data. Data itu akan di simpan sementara di RAM yang masih
tersisa. Data yang disimpan di RAM bersifat voletile, artinya data hanya bisa
bertahan selama catudaya komputer masih ON. Untuk berjaga-jaga biasakan
menyimpan data ke disk dalam jangka waktu yang tidak terlalu lama, misalnya
setiap 5 menit sekali. Selain menjaga data agar tidak amblas menyimpan ke disk
bertujuan juga untuk mengosongkan RAM agar tidak cepat penuh.
Didalam sistem juga
dapat kita lihat bahwa sistem operasi terletak berdekatan dengan program lain
di RAM sehingga kemungkinan sistem operasi ter ganggu atau terubah oleh
proses yang sedang berjalan sangat besar .Hal itu tidak boleh terjadi.Untuk mencegah
terganggu sitem operasi tersebut maka alamat tertinggi dari sistem operasi
dletakkan pada register batas dalam CPU. Jika ada proses yang mengacu ke alamat
itu atau yang lebih rendah dari itu maka proses di hentikan dan program akan
menampilkan pesan kesalahan.
Manajemen Memory Untuk
Multiprogramming
Untuk sistem komputer yang berukuran besar (bukan small
computers), membutuhkan pengaturan memori, karena dalam multiprogramming akan
melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat
lebih dari satu proses bersamaan. Oleh karena itu dibutuhkan sistem
operasi yang mampu mendukung dua kebutuhan tersebut, meskipun hal tersebut
saling bertentangan, yaitu (Ama, 2003) :
a) Pemisahan ruang-ruang
alamat.
b) Pemakaian bersama
memori.
Manajer memori harus memaksakan isolasi ruang-ruang
alamat tiap proses agar mencegah proses aktif atau proses yang ingin berlaku
jahat mengakses dan merusak ruang alamat proses lain. Manajer memori di
lingkungan multiprogramming sekalipun melakukan dua hal, yaitu :
a) Proteksi memori dengan
isolasi ruang-ruang alamat secara dis-joint.
b) Pemakaian bersama
memori.
B.
Sistem Manajemen Memori Pada Windows

Pada waktu Windows kali pertama diperkenalkan, memory
(RAM) sangat mahal dan hampir semua PC di pasaran berjuang untuk berhubungan
dengan operating system yang baru tersebut dengan konfigurasi memory yang
kemudian digunakan sekarang ini. Meskipun mesin DOS telah menawarkan konsep
pengaturan memory (sebagian besar melalui utiliti pihak ketiga), tetapi itu
belum cukup sampai Windows menjadi OS pilihan untuk PC user di mana pengaturan
memory dilakukan secara serius.
Sekarang memory sudah murah, paling tidak dibandingkan
dengan dulu. Hardware PC sekarang bisa mengalamati dan menggunakan sampai 4 GB
memory, jadi mengapa manajemen memory masih menjadi bagian penting dari OS?
Terlepas dari fakta bahwa Windows berkembang dan bertumbuh—dan dengan begitu
menuntut memory lebih—selalu ada alasan mengapa PC yang mengatur memory dengan
baik akan berjalan lebih efisien dibanding yang tidak.
Bagian Memory
Bagian Memory
Memory bisa dibagi ke dalam dua bagian: non-page dan
page (juga dikenal dengan page pool). Untuk memahami perbedaannya, kita perlu
melihat dulu konsep paging, dengan menjelaskan memori virtual. Karena sedikit
PC yang menggunakan RAM fisik sampai 4 GB penuh, Windows mengambil sisanya dan
menggunakannya sebagai memory virtual.
Secara singkat, memory virtual adalah bagian ruang
harddisk yang Windows simpan dan perlakukan seolah-olah itu adalah memory fisik
(sampai batas 4 GB). Memory fisik dan virtual bisa diperlakukan sama seperti
semua program yang berjalan pada PC, karena memory manajer dalam kernel Windows
menangani semua permintaan akses.
Pada waktu Windows atau program membuat permintaan
untuk mendapatkan memory lebih, memory manajer pertama melihat apakah masih ada
memory fisik yang tersedia. Jika ada, ia mengabulkan permintaan tersebut dan
memberi alamat kepada program yang menunjukkan page memory fisik. Kesulitan
muncul jika tidak ada RAM fisik yang cukup. Ketika ini terjadi, memory manajer
memeriksa memory fisik untuk mencari item yang dimuat ke dalam RAM, tetapi
tidak digunakan selama beberapa waktu dan tidak kritis bagi operasional sistem.
Jika ditemukan, ia menyimpan isi dari page memory
tersebut ke harddisk. Ini disebut swapping out, yang mana dari situlah awalnya
istilah swapfile berasal. Dengan dipindahkannya bagian yang tidak terpakai ke
harddisk, Windows bisa membebaskan memory fisik yang mereka gunakan dan
memberikannya kepada proses atau program baru. Ketika item yang di-swap
diperlukan lagi, mereka bisa dimuat ulang ke dalam memory fisik. Tentu, bisa
saja ada yang lainnya yang akan di-swap ke harddisk untuk membantu pemuatan
ulang item asli.
Semua yang di-swap disimpan dalam page pool. Tentu
saja, ada beberapa bagian dari OS yang harus selalu tetap pada memory fisik:
sebagai contoh, Anda tidak bisa menyimpan inti manajemen memory ke harddisk.
Secara umum, item pada area non-page ditaruh ke situ
oleh Windows sendiri, walaupun ada beberapa pengecualian. Beberapa utiliti pada
tingkat sistem—seperti Norton AntiVirus—menganggap sangat penting bagi mereka
untuk memasukkan modul mereka sendiri ke area non-page. Itu masuk akal, karena
virus tidak bisa mengeluarkan mesin scanning virus ke swapfile untuk
mendapatkan akses bebas ke sistem.
Pada Windows XP, swapfile dikenal dengan pagefile atau
paging file, tetapi melakukan pekerjaan yang sama. Secara default, paging file
disimpan dalam direktori root dari drive yang digunakan untuk boot. Ketika
paging file diakses, tidak sulit untuk melihat bahwa meletakkannya pada partisi
harddisk fisik yang sama dengan program, data dan Windows itu sendiri bisa
menyebabkan banyak kelambatan.
Mengoptimalkan Swapfile
Mengoptimalkan Swapfile
Jika Anda mempunyai satu harddisk fisik dan hanya satu
partisi yang tersedia, jelas Anda tidak akan mempunyai pilihan. Jika satu
harddisk fisik dibagi ke dalam dua atau lebih partisi, memindahkan paging file
juga bukan ide yang bagus. Dengan harddisk modern yang berputar pada kecepatan
tinggi, bagian paling lambat dari akses harddisk adalah pencarian file pada
waktu head secara fisik pindah ke sektor harddisk yang berisi data yang
diperlukan. Memindahkan paging file ke partisi kedua kadang-kadang bisa membuat
akses menjadi lambat, karena head berpindah-pindahantara partisi primer dan
sekunder untuk memuat dan menyimpan data.
Cara paling efisien untuk mengoptimalkan penggunaan
memory virtual adalah dengan menaruh paging file pada harddisk fisik terpisah.
Karena mempunyai head sendiri, pencarian yang dilakukan bebas dari akses drive
yang lain. Idealnya, paging file harus menjadi yang pertama yang mengambil
ruang pada harddisk kedua, dan tidak sulit untuk melakukan itu. Jika Anda mulai
dengan partisi baru, pindahkan lokasi paging file (lihat boks “Memindahkan
Paging File”). Jika harddisk kedua sudah berisi data, Anda perlu mengosongkannya
sebelum memindahkan paging file, baru kemudian mengembalikan data. Dalam banyak
kasus, memberi tempat baru kepada paging file pada harddisk fisik kedua dapat
memberikan peningkatan kinerja yang nyata.
C.
Sistem Manajemen Memori Pada Linux
Manajemen Memori
Fisik
Bagian ini menjelaskan bagaimana linux menangani
memori dalam sistem. Memori manajemen 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.
Dengan memori virtual kita dapat:
1. Ruang alamat yang besar
Sistem operasi membuat memori terlihat lebih besar daripada ukuran memori sebenarnya. Memori virtual bisa beberapa kali lebih besar daripada memori fisiknya.
2. Pembagian memori fisik yang dil
Manajemen memori membuat pembagian yang adil dalam pengalokasian memori antara proses-proses.
3. Perlindungan
Memori manajemen menjamin setiap proses dalam sistem terlindung dari proses-proses lainnya. Dengan demikian, program yang crash tidak akan mempengaruhi proses lain dalam sistem tersebut.
4. Penggunaan memori virtual bersama
Memori virtual mengijinkan 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.
1. Ruang alamat yang besar
Sistem operasi membuat memori terlihat lebih besar daripada ukuran memori sebenarnya. Memori virtual bisa beberapa kali lebih besar daripada memori fisiknya.
2. Pembagian memori fisik yang dil
Manajemen memori membuat pembagian yang adil dalam pengalokasian memori antara proses-proses.
3. Perlindungan
Memori manajemen menjamin setiap proses dalam sistem terlindung dari proses-proses lainnya. Dengan demikian, program yang crash tidak akan mempengaruhi proses lain dalam sistem tersebut.
4. Penggunaan memori virtual bersama
Memori virtual mengijinkan 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.
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.
Penerjemahan alamat di antara virtual dan memori fisik
dilakukan oleh CPU menggunakan tabel page untuk proses x dan proses y. Ini
menunjukkan virtial PFN 0 dari proses x dimap ke memori fisik PFN 1. Setiap
anggota tabel page mengandung informasi berikut ini:
1. Virtual PFN
2. PFN fisik
3. informasi akses page dari page tersebut
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 mancari anggota yang sesuai degan
virtual PFN. Ini memberikan PFN fisik yang dicari. CPU kemudian mengambil PFN
fisik dan mengalikannya dengan besar page untuk mendapat alamat basis page
tersebut di dalam memori fisik. Terakhir, CPU menambahkan offset ke instruksi
atau data yang dibutuhkan. Dengan cara ini, memori virtual dapat dimap ke page
fisik dengan urutan yang teracak.
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.
Ketika proses mencoba mengakses alamat virtual yang tidak ada di dalam memori, CPU tidak dapat menemukan anggota tabel page. Contohnya, dalam gambar, tidak ada anggota tabel page untuk proses x untuk virtual PFN 2 dan jika proses x ingin membaca alamat dari virtual PFN 2, CPU tidak dapat menterjemahkan alamat ke alamat fisik. Saat ini CPU bergantung pada sistem operasi untuk menangani masalah ini. CPU menginformasikan kepada sistem operasi bahwa page fault telah terjadi, dan sistem operasi membuat proses menunggu selama sistem operasi menagani masalah ini.
Ketika proses mencoba mengakses alamat virtual yang tidak ada di dalam memori, CPU tidak dapat menemukan anggota tabel page. Contohnya, dalam gambar, tidak ada anggota tabel page untuk proses x untuk virtual PFN 2 dan jika proses x ingin membaca alamat dari virtual PFN 2, CPU tidak dapat menterjemahkan alamat ke alamat fisik. Saat ini CPU bergantung pada sistem operasi untuk menangani masalah ini. CPU menginformasikan kepada sistem operasi bahwa page fault telah terjadi, dan sistem operasi membuat proses menunggu selama sistem operasi menagani masalah ini.
CPU harus membawa page yang benar ke memori dari image
di disk. Akses disk membutuhkan waktu yang sangat lama dan proses harus
menunggu sampai page selesai diambil. Jika ada proses lain yang dapat
dijalankan, maka sistem operai akan memilihnya untuk kemudian dijalankan. page
yang diambil kemudian dituliskan di dalam page fisik yang masih kosong dan
anggota dari virtual PFN ditambahkan dalam tabel page proses. Proses kemudian
dimulai lagi pada tempat dimana page fault terjadi. Saat ini terjadi
pengaksesan memori virtual, CPU membuat penerjemahan dan kemudian proses
dijalankan kembali.
Demand paging terjadi saat sistem sedang sibuk atau
saat image pertama kali diload ke memori. Mekanisme ini berarti sebuah proses
dapat mengeksekusi image dimana hanya sebagian dari image tersebut terdapat
dalam memori fisik.
Swaping
Swaping
Jika memori fisik tiba-tiba habis dan proses ingin
memindahkan sebuah page ke memori, sistem operasi harus memutuskan apa yang
harus dilakukan. Sistem operasi harus adil dalam mambagi page fisik dalam
sistem diantara proses yang ada, bisa juga sistem operasi menghapus satu atau
lebih page dari memori untuk membuat ruang untuk page baru yang dibawa ke
memori. Cara page virtual dipilih dari memori fisik berpengaruh pada efisiensi
sistem.
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.
Pengaksesan memori virtual bersama
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.
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 manajemen memori di linux:
1. Page Cache
Digunakan untuk meningkatkan akses ke image dan data dalam disk. Saat dibaca dari disk, page dicache di page cache. Jika page ini tidak dibutuhkan lagi pada suatu saat, tetapi dibutuhkan lagi pada saat yang lain, page ini dapat segera diambil dari page cache.
2. Buffer Cache
Page mungkin mengandung buffer data yang sedang digunakan oleh kernel, device driver dan lain-lain. Buffer cache tampak seperti daftar buffer. Contohnya, device driver membutuhkan buffer 256 bytes, adalah lebih cepat untuk mengambil buffer dari buffer cache daripada mengalokasikan page fisik lalu kemudian memecahnya menjadi 256 bytes buffer-buffer.
3. Swap Cache
Hanya page yang telah ditulis ditempatkan dalam swap file. Selama page ini tidak mengalami perubahan setelah ditulis ke dalam swap file, maka saat berikutnya page di swap out tidak perlu menuliskan kembali jika page telah ada di swap file. Di sistem yang sering mengalami swap, ini dapat menghemat akses disk yang tidak perlu.
Salah satu implementasi yang umum dari hardware cache adalah di CPU, cache dari anggota tabel page. Dalam hal ini, CPU tidak secara langsung membaca tabel page, tetap mencache terjemahan page yang dibutuhkan.
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.
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.
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 manajemen memori di linux:
1. Page Cache
Digunakan untuk meningkatkan akses ke image dan data dalam disk. Saat dibaca dari disk, page dicache di page cache. Jika page ini tidak dibutuhkan lagi pada suatu saat, tetapi dibutuhkan lagi pada saat yang lain, page ini dapat segera diambil dari page cache.
2. Buffer Cache
Page mungkin mengandung buffer data yang sedang digunakan oleh kernel, device driver dan lain-lain. Buffer cache tampak seperti daftar buffer. Contohnya, device driver membutuhkan buffer 256 bytes, adalah lebih cepat untuk mengambil buffer dari buffer cache daripada mengalokasikan page fisik lalu kemudian memecahnya menjadi 256 bytes buffer-buffer.
3. Swap Cache
Hanya page yang telah ditulis ditempatkan dalam swap file. Selama page ini tidak mengalami perubahan setelah ditulis ke dalam swap file, maka saat berikutnya page di swap out tidak perlu menuliskan kembali jika page telah ada di swap file. Di sistem yang sering mengalami swap, ini dapat menghemat akses disk yang tidak perlu.
Salah satu implementasi yang umum dari hardware cache adalah di CPU, cache dari anggota tabel page. Dalam hal ini, CPU tidak secara langsung membaca tabel page, tetap mencache terjemahan page yang dibutuhkan.
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.
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.
BAB
III
PENUTUP
A.
KESIMPULAN
Manajemen
memori (Memory Manager) adalah salah satu bagian sistem operasi yang
mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.Manajemen
memori DOS merupakan mekanisme pengaturan memori pada sistem operasi DOS. Sistem operasi berjalan dalam modus real dengan
arsitektur berbasis prosesor intel x86. Dalam modus real, hanya 20-bit pertama dari bus alamat yang akan digunakan oleh
sistem operasi untuk mengakses memori, sehingga menjadikan jumlah memori yang
dapat diakses hanya mencapai 220=1048576 bytes (1 MB) saja, dari
yang seharusnya 32-bit/40-bit pada prosesor-prosesor modern.
B. SARAN
Setelah makalah ini dibuat maka saya selaku penulis memberi
saran kepada para pembaca supaya jika ada salah penulisan dalam makalah ini ,
tolong di koreksi karena anda yang bisa merubah semuanya menjadi lebih baik.
DAFTAR PUSTAKA
http://trewelu.itn.ac.id/arsip/manajemen-memory-di-linux.cgi, http://dini3asa.staff.gunadarma.ac.id/Downloads/files/…/mnjmemori-up.pdf
Tidak ada komentar:
Posting Komentar