Memori adalah pusat dari operasi pada sistem computer modern,
berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga
dengan sebaik-baiknya. Memori adalah array besar dari word atau byte, yang
disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai counter.
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. Kebutuhan
utama manajemen memori adalah untuk menyediakan cara untuk secara dinamis
mengalokasikan bagian-bagian dari memori untuk program atas permintaan mereka,
dan membebaskan untuk digunakan kembali ketika tidak lagi diperlukan.
Ini sangat penting untuk setiap sistem komputer canggih di mana lebih dari satu proses mungkin berlangsung setiap saat.
Ini sangat penting untuk setiap sistem komputer canggih di mana lebih dari satu proses mungkin berlangsung setiap saat.
·
Suatu kegiatan untuk mengelola memori
komputer.
·
Proses ini menyediakan cara
mengalokasikan memori untuk 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.
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.
Entitas Memori sendiri ada 4 macam :
1.
Used-RAM : RAM yang
terpakai.
2. Cached-RAM : RAM yang
dipakai sebagai tempat simpan sementara untuk aplikasi jika dieksekusi kembali.
3.
Free-RAM : RAM yang
tidak terpakai.
4.
Swap : memori tambahan
menggunakan harddisk.
Pemetaan file diperlukan
karena file dipetakan secara teratur sehingga bisa mendapatkan akses ke sumber
daya dan metadata dari dalam memori.
Terdapat
2 (dua) manajemen memori, yaitu :
·
Manajeman memori statis
Dengan pemartisian statis, jumlah, lokasi dan ukuran proses
dimemori tidak beragam sepanjang waktu secara tetap.
·
Manajemen memori
dinamis
Dengan pemartisian dinamis , jumlah, lokasi dan ukuran
proses dimemori dapat beragam sepanjang waktu secara dinamis.
adalah
manajemen memori dengan kemampuan
memindahkan citra proses antara memori utama dan harddisk selama eksekusi.
Contoh
Swapping
·
Ketika
waktu kuantum habis, pengatur memori akan menukar proses yang telah selesai dan
memasukkan proses yang lain ke dalam memori yang sudah bebas.
adalah manajemen memori tanpa kemampuan memindahkan citra
proses antara memori utama dan harddisk selama eksekusi.
o
Hanya
ada satu proses pada satu saat
o
Hanya
satu proses menggunakan semua memori
o
Pemakai
memuatkan program ke seluruh memori dari disk
o
Program
mengambil kendali seluruh mesin
o
Mempermudah pemrogram
o
Dapat
memberi layanan interaktif ke beberapa user secara simultan
o
Efisiensi
penggunaan sumber daya
o
Eksekusi
lebih murah jika proses besar dipecah menjadi beberapa proses
o
Dapat
mengerjakan sejumlah proses secara simultan
ü
Manajemen Memory
dengan Swaping
·
Swapping dapat juga
terdapat dalam penjadwalan berbasis prioritas (priority scheduling).
ü Manajemen Memory tanpa Swaping
1.
Manajemen memori untuk
monoprogramming
2.
Manajemen memori untuk
multiprogramming dengan pemartisan statis
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 :
o Sederhana dan tidak ada rongga
memory bersebaran
o Proses berurutan dapat dieksekusi
secara cepat.
Kekurangan :
o Memori boros dan 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 :
o
sistem dapat
memanfaatkan memori utama secara lebih efesien
o
sistem opersi masih
dapat menyisip proses bila jumlah lubang-lubang memori cukup untuk memuat
proses yang akan dieksekusi.
Kekurangan :
Fungsi Manajemen Memori :
1.
Utilitas CPU meningkat.
2.
Data dan instruksi dapat
diakses dengan cepat oleh CPU.
3.
Tercapai efisiensi
dalam pemakaian memori yang terbatas.
4.
Transfer data dari/ke
memori utama ke/dari CPU dapat lebih efisien.
5.
Mengelola informasi
yang dipakai dan tidak dipakai.
6.
Mengalokasikan memori
ke proses yang memerlukan.
7.
Mendealokasikan memori
dari proses telah selesai.
8.
Mengelola swapping
atau paging antara memori utama dan disk.
Partisi Memori
Partisi memori adalah pembagian
harddisk menjadi beberapa bagian yang digunakan untuk mempermudah manajemen
file.
Terdapat 2 jenis partisi memori, yaitu :
1.
FixedPartitioning
Ciri-ciri :
·
Pembagian memori ditentukan di
awal dan tidak dapat dirubah
·
Ukuran partisi bisa sama
(equal-size) atau berbeda (unequal-size)
Kesulitan yang dihadapi :
·
Ukuran program > ukuran
partisi
·
Penggunaan memori yang tidak
efisien
·
Internal Fragmentation
Contoh OS yang menggunakan : IBM OS/MFT
(Multiprogramming with a Fixed Number of Tasks)
2.
Dynamic Partitioning
Dalam dynamic memory partitioning, memori
dipartisi menjadi bagian-bagian dengan jumlah dan besar yang tidak tentu.
Ciri-ciri :
·
Alokasi memori ditentukan saat
runtime
·
Setiap proses diberikan alokasi
sesuai yang dibutuhkan
Kesulitan yang dihadapi :
·
External Fragmentation
·
Ruang kosong di memori banyak,
tetapi terbagi-bag
Syarat Pengelolaan Memori :
Ø
Relokasi
Prosesor dan sistem operasi harus dapat mentransfer memory referensi ( dalam bentuk kode program ) ke alamat fisik yang mengalokasikan program dalam memory utama.
Prosesor dan sistem operasi harus dapat mentransfer memory referensi ( dalam bentuk kode program ) ke alamat fisik yang mengalokasikan program dalam memory utama.
Ø
Proteksi
User tidak boleh mengakses beberapa bagian dari wilayah sistem operasi.
User tidak boleh mengakses beberapa bagian dari wilayah sistem operasi.
Ø
Sharing
Memory skunder pada manajemen memory dapat mengontrol sharing area pada memory utama.
Memory skunder pada manajemen memory dapat mengontrol sharing area pada memory utama.
Ø
Organisasi Logika
Sistem oerasi dan hardware berusaha untuk dapat berhubungan dengan user program dalamsatu modul.
Sistem oerasi dan hardware berusaha untuk dapat berhubungan dengan user program dalamsatu modul.
Ø
Organisasi Fisik
Harus ada pengaturan yang jelas antara memory utama dngan memory skunder pada Longterm scheduling.
Harus ada pengaturan yang jelas antara memory utama dngan memory skunder pada Longterm scheduling.
Manajemen Memory pada Windows
Sistem Operasi
memiliki memori fisik dan virtual yang dibutuhkan oleh proses sebuah program
atau lebih (multitasking).
Proses adalah
sebuah program yang sedang dieksekusi, sedangkan program adalah kumpulan
instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah
proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya.
Sumber daya tersebut dapat berupa CPU
time, alamat memori, berkas-berkas, dan perangkatperangkat I/O
Memory yang
dapat dibuat oleh user (pengguna komputer), yang digunakan oleh aplikasi untuk
menggunakan sebagian dari memori sekunder seolah-olah menggunakannya sebagai
RAM fisik.Semua sistem operasi membutuhkan Virtual Memory, yang merupakan
kombinasi dari RAM dan sebagian hard drive.
Bagian ini biasanya disebut Swap File,
Paging File, atau Pagefile.
Sistem operasi mengalokasikan
sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang
diproses/dijalankan.
Ketika proses tersebut berhenti dijalankan,
sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan
kembali oleh proses lainnya.
Ketika RAM tidak
cukup untuk kebutuhan komputer, Windows menggunakan Swap File secara sementara
untuk menyimpan file-file, kemudian memindahkannya kembali pada RAM saat
dibutuhkan.
Memori virtual ini juga dapat dianggap
sebagai ekstensi dari memori fisik dari sebuah komputer.
Virtual Memory merupakan sebuah
memory cadangan dari sebuah memory fisik yang berfungsi untuk menyimpan data
sementara dari sebuah proses kerja suatu sistem, mekanisme ini beroperasi
dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di
dalam hard drive yang disebut dengan swap file, page file atau swap partition.
Keuntungan Memory Virtual
Keuntungan dari menggunakan Virtual Memory
ini antara lain :
1.
Lalu
lintas proses input dan output akan menjadi lebih rendah, sehingga proses lebih
cepat
2.
Penggunaan
memory fisik akan lebih sedikit
3.
Tidak
akan terjadi deadlock (error system)
4.
Dapat
menambah jumlah user yang akan ditangani
5.
Memory
Virtual dapat diset melebihi kapasitas memory fisik
Virtual Memory
selalu dimiliki oleh sebuah sistem operasi untuk mencegah terjadinya deadlock
antar aplikasi maupun sistem itu sendiri.
Pada Windows, kita bisa
memajemen memory dengan memantau proses pada aplikasi bawaan windows sendiri,
Task Manager.
Kita dapat memanggil task manager melalui beberapa cara :
1.
Melalui
Ctrl + Shift + Esc
2.
Melalui
Ctrl + Alt + Del dan pilih Start Task Manager
3.
Melalui
Klik kanan pada task bar dan pilih Start Task Manager
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
sistem operasi yang berfungsi sebagai pengatur sumber daya system pada komputer.
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.
Manajemen memori dilinux, dibagi dua komponen :
· Alokasi page dan pengosongan memori fisik
· Memori Virtual ->pemetaan virtual address
Memori Fisik
Memori fisik dibagi dalam tiga wilayah :
· ZONE_DMA : digunakan legacy device (e.g ISA) untuk mengakses memori secara langsung (e.g: transfer data (DMA))
· ZONE_NORMAL : digunakan DMA bila ZONE_DMA tidak ada
· ZONE_HIGHMEM : alokasi sistem (page cache, buffer filesystem, dan lain-lain), jarang digunakan
Untuk mengefisienkan ruang alamat pada memori fisik.
Oleh karena itu, digunakanlah dua macam teknik alokasi :
Alokasi Halaman (Page Allocation)
Alokasi Slab (Slab Allocation)
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.
Memori Virtual
Linux memanfaatkan memori virtual
untuk mendukung kinerja sistem. Sebagai sistem operasi multiprogramming, memori
virtual dapat meningkatkan efisiensi sistem.
·
Mengatur ruang
alamat supaya dapat dilihat oleh setiap proses
·
Membentuk halaman-halaman
yang dibutuhkan
·
Mengatur lokasi
halama-halaman tersebut dari disk ke momori fisik atau sebaliknya, yang disebut
dengan sawpping.
Sistem memori virtual Linux juga mengatur dua view
yang erkaitan dengan ruang alamat :
1. Logical View
Yaitu mendeskripsikan
instruksi-instruksi yang diterima oleh sistem memori virtual mengenai susnan
ruang alamat.
2. Physical View
Yaitu berupa entri-entri
tabel halaman, dimana entri-entrynya akan menetukan apakah halaman itu berada
di memori fisik yang sedang dipakai untuk proses atau masih berada di disk yang
berarti belum dipakai.
Blok pada Memori Virtual
Blok memori virtual, dalam linux
memiliki karakteristik :
·
Backing Strore
untuk Blok
·
Reaksi Blok
dalam melakukan Write
Swapping
Keterbatasan memori fisik
mengharuskan Linux mengatur halaman-halaman mana saja yang harus diletakan
didalam memori fisik atau swap-out. Paging system dari memori virtual dapat
dibagi menjadi dua :
·
The pageout-policy
algorithm
·
The paging
mechanism
Pemetaan memori
Pada Linux, binary loader tidak
perlu meload berkas biner kemomori fisik, melainkan dengan cara memetakan
halaman dari binary file ke region dari memory virtual. Sehingga hanya ketika
program mengakses halaman tertentu akan menyebabkan page fault yang
mengakibatkan halaman yang dibutuhkan di-load kememori fisik.
Link Statis dan
Dinamis
Ketika program di-load dan sudah
mulai dieksekusi, semua berkas biner yang dibutuhkan telah di-load keruang
alamat virtual.
Meskipun demikian, sebagian program
juga butuh menjalankan fungsi yang terdapat disistem pustaka seperti algoritma
sorting, fungsi-fungsi aritmatika dan lain-lainnya. Untuk mendapatkan
fungsi-fungsi yang terdapat di sistem pustaka ada dua cara, yaitu :
1. Link Statis
Aplikasi dikatakan
dikompilasi statis apabila pustaka-pustaka yang dibutuhkan dikompilasi ke dalam
binary application. Denga demikian, aplikasi tidak lagi membutuhkan
pustaka tambahan.
2. Link Dinamis
Pada dasarnya link
dinamis merupakan suatu metode penghubung antara program denga suatu sistem
pustaka secara dinamis dengan cara menghubungkan routine-routine yang ada ked
lam sistem pustaka.
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.
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.
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.
Nah terakhir dari pembahasan
kali ini, Jadi Kesimpulannya..
Memori adalah pusat dari operasi pada sistem computer modern, berfungsi
sebagai tempat penyimpanan informasi yang harus diatur dan dijaga dengan
sebaik-baiknya.
Sedangkan, Manajemen memori adalah suatu kegiatan umtuk 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.
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.
·
Upaya agar pemrogram atau proses tidak dibatasi
kapasitas memori fisik di system komputer.
Konsep dasar Manajemen Memori pada System Operasi
yaitu :
Ø meningkatkan utilitas CPU
yang sebesar-besarnya
Ø data dan instruksi dapat di
akses dengan cepat oleh CPU
Ø memori utama memiliki
kapasitas yang sangat terbatas, sehingga pemakaiannya harus seefisien mungkin
dan transfer data dari memori
Komponen-komponen yang
terdapat dalam Manajemen Memori pada System Operasi yaitu :
Ruang alamat Virtual dan Fisik, Swapping, pemetaan memori, Link
Statis dan Dinamis, Multiprogramming, Monoprograming, pengalokasian berurutan,
dan pengalokasian tak berurutan.
Nah
manajemen memori yang saya bahas disini terbagi 2, yaitu :
Manajemen
memori pada Windows dan Manajemen memori pada Linux















0 Komentar