makalah manajemen memoriebook.repo.mercubuana-yogya.ac.id/fti/tugas_doc... · sebuah laser dapat...
TRANSCRIPT
MAKALAH
MANAJEMEN MEMORI
DI
SUSUN OLEH :
SUGIYARTI
14121031
UNIVERSITAS MERCU BUANA YOGYAKARTA
FAKULTAS TEKNOLOGI INFORMASI
PRODI SISTEM INFORMASI
2016-2017
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.
Fungsi manajemen memori :
Utilitas CPU meningkat.
Data dan instruksi dapat diakses dengan cepat oleh CPU.
Tercapai efisiensi dalam pemakaian memori yang terbatas.
Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.
Mengelola informasi yang dipakai dan tidak dipakai.
Mengalokasikan memori ke proses yang memerlukan.
Mengalokasikan memori dari proses telah selesai.
Mengelola swapping atau paging antara memori utama dan disk.
Hirarki organisasi memori pada sistem komputer
Hierarki Memori dalam arsitektur komputer adalah sebuah pedoman yang dilakukan oleh
para perancang demi menyetarakan kapasitas, waktu akses, dan harga memori untuk tiap
bitnya. Secara umum, hierarki memori terdapat dua macam yakni hierarki memori tradisional
dan hierarki memori kontemporer.
Contoh hirarki memori yang disusun sedemikian rupa agar semakin ke bawah, memori
dapat mengalami hal-hal berikut:
Peningkatan waktu akses (access time) memori (semakin ke bawah semakin lambat,
semakin ke atas semakin cepat).
Peningkatan kapasitas (semakin ke bawah semakin besar, semakin ke atas semakin
kecil)
Peningkatan jarak dengan prosesor (semakin ke bawah semakin jauh, semakin ke atas
semakin dekat)
Penurunan harga memori tiap bitnya (semakin ke bawah semakin semakin murah,
semakin ke atas semakin mahal)
Penerapan hirarki memori dalam sistem komputer:
1. Cache mikroprosesor, yang disusun berdasarkan kedekatannya dengan prosesor
(level-1, level-2, level-3, dan seterusnya). Memori cache mikroprosesor dikelaskan ke
dalam tingkatan-tingkatannya sendiri.
2. Memori utama: memiliki akses yang jauh lebih lambat dibandingkan dengan memori
cache, dengan waktu akses hingga beberapa ratus siklus CPU, tapi ukurannya
mencapai satuan gigabyte. Waktu akses pun kadang-kadang tidak seragam, khususnya
dalam kasus mesin-mesin Non-uniform memory access (NUMA).
3. Cache cakram magnetis, yang sebenarnya merupakan memori yang digunakan dalam
memori utama untuk membantu kerja cakram magnetis.
4. Cakram Magnetis, merupakan piranti penyimpanan sekunder yang paling banyak
dijumpai pada sistem komputer modern. Pada saat disk digunakan, motor drive
berputar dengan kecepatan yang sangat tinggi.
5. Cakram Optik, adalah suatu medium penyimpanan data komputer dapat berupa film
atau music dan data yang dapat dibaca dengan optic reader pada room dan setiap
cakram optic memiliki room yang berbeda utuk setiap jeniscakram optic tertentu,
jenis-jenis cakram optik.
Level-1: memiliki ukuran paling kecil di antara semua cache, sekitar puluhan
kilobyte saja. Kecepatannya paling cepat di antara semua cache.
Level-2: memiliki ukuran yang lebih besar dibandingkan dengan cache level-
1, yakni sekitar 64 kilobyte, 256 kilobyte, 512 kilobyte, 1024 kilobyte, atau
lebih besar. Meski demikian, kecepatannya lebih lambat dibandingkan dengan
level-1, dengan nilai latency kira-kira 2 kali hingga 10 kali. Cache level-2 ini
bersifat opsional. Beberapa prosesor murah dan prosesor sebelum Intel
Pentium tidak memiliki cache level-2.
Level-3: memiliki ukuran yang lebih besar dibandingkan dengan cache level-
2, yakni sekitar beberapa megabyte tapi agak lambat. Cache ini bersifat
opsional. Umumnya digunakan pada prosesor-prosesor server dan workstation
seperti Intel Xeon atau Intel Itanium. Beberapa prosesor desktop juga
menawarkan cache level-3 (seperti halnya Intel Pentium Extreme Edition),
meski ditebus dengan harga yang sangat tinggi.
6. CD-RW menggunakan logam perpaduan antara perak, indium, antimon, dan telurrium
untuk lapisan perekaman yang dapat dugunakan untuk merekam data kapasitas 600-
800 MB dapat dihapus dan direkan mengunakan konsep pelelehan logam
7. DVD-RW Format ini dikembangkan oleh Pioneer pada November 1999 Mirip dengan
konsep CD-RW dengan dapat menulis dan menghapus data di dalam nya tapi
kapasitas 4-6 GB
8. Blu-ray Disc Nama Blu-ray diambil dari laser biru-ungu yang digunakan untuk
membaca dan menulis cakram jenis ini.Cakram Blu-ray dapat menyimpan 25 GB
pada setiap lapisannya dengan menggunakan konsep Minimum “spot size” di mana
sebuah laser dapat terfokus dibatasi oleh difraksi, dan bergantung pada panjang
gelombang dari cahaya untuk penyimpanan lebih pada suatu daerah sama
Tujuan dari manajemen hirarki sistem komputer:
a) Meningkatkan utilitas CPU.
b) Data dan instruksi dapat diakses dengan cepat oleh CPU.
c) Efisiensi dalam pemakaian memori yang terbatas.
d) Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien.
Pengalamatan memori
Mode pengalamatan merupakan metode penentuan alamat operand pada instruksi. Operand
instruksi diletakan pada memori utama dan register CPU. Tujuan yang mempengaruhi
arsitektur komputer ketika memilih mode pengalamatan.
Contoh dan penerapan pengalamatan memori
1. Direct Addressing (Pengalamatan Langsung)
Penjelasan :
Suatu proses penyalinan data pada register dan suatu alamat efektif (Effective
Address, Alamat ini disimpan pada byte berikut setelah opcode instruksi). Dalam
mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung
dalam alamat memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca
data dari RAM internal dengan alamat 30h dan kemudian disimpan dalam
akumulator. Mode pengalamatan ini cukup cepat, meskipun harga yang didapat tidak
langsung seperti immediate, namun cukup cepat karena disimpan dalam RAM
internal. Demikian pula akan lebih mudah menggunakan mode ini daripada mode
immediate karena harga yang didapat bisa dari lokasi memori yang mungkin variabel.
Kelebihan:
Field alamat berisi efektif address sebuah operand.
Kekurangan :
Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil
dibandingkan panjang word.
Contoh: :
ADD A ; tambahkan isi pada lokasi alamat A ke akumulator.
2. Indirect Addressing (Pengalamatan tak langsung).
Penjelasan:
Merupakan mode pengalamatan tak langsung. Field alamat mengacu pada alamat
word di dalam memori, yang pada gilirannya akan berisi alamat operand yang
panjang atau untuk mentransfer DATA/byte/word antar register dan lokasi yang
alamatnya ditunjukkan oleh isi suatu register. Mode pengalamatan indirect addressing
sangat berguna karena dapat memberikan fleksibilitas tinggi dalam mengalamati suatu
harga. Mode ini pula satu-satunya cara untuk mengakses 128 byte lebih dari RAM
internal pada keluarga 8052. Contoh: MOV A, @R0. Dalam instruksi tersebut, 89C51
akan mengambil harga yang berada pada alamat memori yang ditunjukkan oleh isi
dari R0 dan kemudian mengisikannya ke akumulator. Mode pengalamatan indirect
addressing selalu merujuk pada RAM internal dan tidak pernah merujuk pada SFR.
Karena itu, menggunakan mode ini untuk mengalamati alamat lebih dari 7Fh hanya
digunakan untuk keluarga 8052 yang memiliki 256 byte spasi RAM internal.
Kelebihan:
Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi.
Kekurangan:
Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses
operasi
Contoh:
ADD (A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator.
3. Immediate Addressing (Pengalamatan Segera).
Penjelasan :
Suatu proses penyalinan data yang berukuran byte atau word langsung ke dalam
register tujuan. Data yang dimaksud di sini adalah suatu nilai atau bilangan tertentu
atau bisa juga berupa sebuah konstanta (didefinisikan dengan instruksi EQU). Data
segera merupakan data konstan, sedangkan data yang dipindahkan dari register adalah
data berubah (variable). Mode pengalamatan immediate addressing sangat umum
dipakai karena harga yang akan disimpan dalam memori langsung mengikuti kode
operasi dalam memori. Dengan kata lain, tidak diperlukan pengambilan harga dari
alamat lain untuk disimpan. Contohnya: MOV A, #20h. Dalam instruksi tersebut,
akumulator akan diisi dengan harga yang langsung mengikutinya, dalam hal ini 20h.
Mode ini sangatlah cepat karena harga yang dipakai langsung tersedia.
Keuntungan :
Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk
memperoleh operand.
Menghemat siklus instruksi sehingga proses keseluruhanakan akan cepat.
Kekurangan: :
· Ukuran bilangan dibatasi oleh ukuran field
Overlay
Overlay merupakan suatu metode untuk memungkinkan suatu proses yang membutuhkan
memori yang cukup besar menjadi lebih sederhana. Penggunaan overlays ini dapat
menghemat memori yang digunakan dalam pengeksekusian instruksi-instruksi. Hal ini sangat
berguna terlebih jika suatu program yang ingin dieksekusi mempunyai ukuran yang lebih
besar daripada alokasi memori yang tersedia.
Contoh Cara kerjanya yaitu pertama-tama membuat beberapa overlays yang
didasarkan pada instruksiinstruksi yang dibutuhkan pada satu waktu tertentu. Setelah itu,
membuat overlays drivernya yang digunakan sebagai jembatan atau perantara antara overlays
yang dibuat. Proses selanjutnya ialah me-load instruksi yang dibutuhkan pada satu waktu ke
dalam absolut memori dan menunda instruksi lain yang belum di butuhkan pada saat itu.
Setelah selesai dieksekusi maka instruksi yang tertunda akan diload menggantikan instruksi
yang sudah tidak dibutuhkan lagi.
Dynamic Loading
Dynamic Loading adalah program utama di-load dahulu dan dieksekusi. Bila suatu routine
perlu memanggil routine lain, routine yang dipanggil lebih dahulu diperiksa apakah rutin
yang dipanggil sudah di-load. Jika tidak, relocatable linking loader dipanggil untuk me-load
rutin yg diminta ke memori dan meng-ubah tabel alamat.
Keuntungan dari dynamic loading adalah rutin yang tidak digunakan tidak pernah di-load.
Skema ini lebih berguna untuk kode dalam jumlah besar diperlukan untuk menangani kasus-
kasus yang jarang terjadi seperti error routine. Dinamic loading tidak memerlukan dukungan
khusus dari sistem operasi. Sistem operasi hanya perlu menyediakan beberapa rutin pustaka
untuk implementasi dynamic loading.
Contoh pemakaian Dynamic Loading
Cara pemakaian API dari Dynamic Loading akan diperlihatkan di sini dengan
menggunakan program demo yang sederhana. Source code program terdiri dari dua file, yaitu
main.c dan simple_dl.c (Lihat list program: script-1 adalah main.c, script-2 adalah
simple_dl.c dan script-3 adalah Makefile). File main.c adalah program utama yang
mempunyai fungsi main(). Sedangkan file simple_dl.c adalah file modul yang berisi simbol
variabel dan simbol pengimplementasi fungsi yang akan diakses dari fungsi main() dengan
menggunakan fasilitas API Dynamic Loading. Dua simbol didefinisikan di dalam
simple_dl.c. Yang pertama adalah simbol variabel yang didefinisikan sebagai berikut: char*
info_linux = "Info Linux!"; Nama simbol variabel ini adalah info_linux yang merupakan
pointer dari tipe data char. Pada pointer ini juga secara langsung dialokasikan sejumlah
memori yang berisikan karakter string "Info Linux!". Simbol kedua adalah hello_world yang
merupakan simbol dari pengimplementasi fungsi hello_world(). Pada prinsipnya nama simbol
tidak selalu sama dengan nama pengimplementasi fungsi. Kita akan membahas hal ini secara
ringkas pada bagian akhir dari artikel ini pada kasus penulisan program menggunakan C++.
Simbol fungsi ini didefinisikan sebagai berikut: void hello_world(void); Fungsi ini hanya
akan menampilkan kalimat "Hello world!" di layar monitor. Sebelum kita membahas kode di
file main.c, kita akan mencoba untuk mengkompilasi file simple_dl.c. Untuk dapat
menghasilkan shared library, pada proses kompilasi harus digunakan parameter -fPIC. PIC
adalah kepanjangan dari position independent code
Dynamic Linking
Dynamic Linking adalah proses dengan banyak langkah, ditemukan juga penghubung-
penghubung pustaka yang dinamis, yang menghubungkan semua rutin yang ada di pustaka.
Beberapa sistem operasi hanya mendukung penghubungan yang statis, dimana seluruh rutin
yang ada dihubungkan ke dalam suatu ruang alamat. Setiap program memiliki salinan dari
seluruh pustaka. Konsep penghubungan dinamis, serupa dengan konsep pemanggilan
dinamis.
Contoh penerapan dynamic linking
Pemanggilan lebih banyak ditunda selama waktu eksekusi, dari pada lama penundaan oleh
penghubungan dinamis. Keistimewaan ini biasanya digunakan dalam sistem kumpulan
pustaka, seperti pustaka bahasa subrutin. Tanpa fasilitas ini, semua program dalam sebuah
sistem, harus mempunyai salinan.
Virtual Memori
Virtual Memori adalah uatu teknik yang memisahkan antara memori logis dan memori
fisiknya. Memori logis merupakan kumpulan keseluruhan halaman dari suatu program. Tanpa
memori virtual, memori logis akan langsung dibawa ke memori fisik (memori utama).
Disinilah memori virtual melakukan pemisahan dengan menaruh memori logis ke secondary
storage (disk sekunder) dan hanya membawa halaman yang diperlukan ke memori utama
(memori fisik).
Penerapan keseluruhan program di disk sekunder dan membawa halaman-halaman yang
diperlukan ke memori fisik sehingga memori utama hanya akan menyimpan sebagian alamat
proses yang sering digunakan dan sebagian lainnya akan disimpan dalam disk sekunder dan
dapat diambil sesuai dengan kebutuhan. Jadi jika proses yang sedang berjalan membutuhkan
instruksi atau data yang terdapat pada suatu halaman tertentu maka halaman tersebut akan
dicari di memori utama. Jika halaman yang diinginkan tidak ada maka akan dicari ke disk
sekunder.
Virtual memory juga bisa dikatakan sebagai Memori Tambahan yang menjadi fitur
setiap masing masing Sistem Operasi , misalnya Linux terdapat Swap . Memori virtual ini ,
digunakan Sistem Operasi ketika Komputer sedang menjalankan sebuah Program aplikasi
yang kapasitasnya melebih Memori yang tersedia .
Teknik memori virtual akan memudahkan pekerjaan seorang programmer ketika besar data
dan programnya melampaui kapasitas memori utama. Sebuah multiprogramming dapat
mengimplementasikan teknik memori virtual sehingga sistem multiprogramming menjadi
lebih efisien.
Contohnya: 10 program dengan ukuran 2 MB dapat berjalan di memori berkapasitas 4 MB.
Tiap program dialokasikan 256 Kbyte dan bagian - bagian proses (swap in) masuk ke dalam
memori fisik begitu diperlukan dan akan keluar (swap out) jika sedang tidak diperlukan.
Mekanisme Demand Paging
Demand paging adalah sistem paging dengan swapping. Page diletakkan di memori hanya
jika diperlukan. Hal ini menyebabkan kebutuhan I/O lebih rendah, kebutuhan memori lebih
rendah, respon lebih cepat dan lebih banyak user yang menggunakan.
Contoh:
Proses disimpan di memori sekunder (disk). Jika proses akan dieksekusi, maka dipindah
(swap) ke memori. Menggunakan lazy swapper untuk melakukan swapping bila page tersebut
akan digunakan yang berarti sebuah page tidak pernah ditukar ke
memori kecuali page diperlukan. Jika page diperlukan, dilakukan acuan ke page tersebut,
tetapi jika acuan invalid maka dilakukan penghentian. Page yang sedang tidak berada di
memori tersebut akan dibawa ke memori dari backing store. Untuk membedakan antara page
pada memori dengan page pada disk digunakan valid-invalid bit. Tabel page untuk page yang
berada di memori diset “valid’, sedangkan tabel page untuk page yang tidak sedang di
memori (ada pada disk) diset “invalid”.
DAFTAR PUSTAKA
http://defibungsyu.blogspot.co.id/2013/02/pengertian-virtual-memory.html
http://systemoperasiwin.blogspot.co.id/2012/12/manajemen-memori-pada-sistem.html
http://jejaringberbagi.blogspot.co.id/2015/01/mode-pengalamatan.html
https://dodotif.wordpress.com/2014/09/21/hirarki-memori/
https://docs.google.com/document/d/1_TW8Gn7aniwNku3kFvI-D-
GuJ_YfY_mQ0hoeoIOHC2g/edit?hl=en_US
http://defibungsyu.blogspot.co.id/2013/02/pengertian-virtual-memory.html
http://diyanawatiy.blogspot.co.id/2013/02/virtual-memori.html
http://alfianwarisman.blogspot.co.id/2015/12/contoh-dan-devinisi-virtual-memory.html
https://fairuzelsaid.wordpress.com/2011/05/16/sistem-operasi-virtual-memori/