SISTEM OPERASI Manajemen Memoriebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20161/... ·...
Transcript of SISTEM OPERASI Manajemen Memoriebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20161/... ·...
SISTEM OPERASI
Manajemen Memori
Disusun Oleh :
Zamri : 14111076
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS MERCUBUANA YOGYAKARTA
2016
2
Daftar Isi
Manajemen Memori ........................................................................................................................3
1. Hierarki Organisasi Memori Pada Sistem Komputer .........................................................3
2. Pengalamatan Memori ........................................................................................................ 6
2.1.Pengalamatan secara fisik (Physical / absolute address) .............................................. 6
2.2.Pengalamatan Relative .................................................................................................. 6
2.3.Pengalamatan Logical ................................................................................................... 7
3. Overlay ................................................................................................................................ 8
4. Dynamic Loading................................................................................................................ 9
5. Dynamic Linking .............................................................................................................. 10
6. Memory Virtual ................................................................................................................ 10
7. Mekanisme Demand Paging ............................................................................................. 12
7.1.Langkah-langkah swap-in ........................................................................................... 12
7.2.Keuntungan demand paging ....................................................................................... 13
7.3.Demand Paging butuh perangkat keras....................................................................... 13
7.4.Cara-cara untuk mengatasi page fault ......................................................................... 14
Daftar Pustaka ............................................................................................................................... 15
3
MANAJEMEN MEMORI
Manajemen memori adalah suatu tindakan untuk mengelola memori komputer.
Managemen memori digunakan untuk mencegah suatu proses dari penulisan dan pembacaan
oleh proses lain yang dialokasikan di primary memory, mengatur swapping antara memori utama
dan disk ketika memori utama terlalu kecil untuk memegang semua proses.
Fungsi managemen memori yaitu :
Mengelola informasi yang digunakan dan tidak digunakan
Mengalokasikan memori ke proses yang memerlukan.
Mendealokasikan memori dari proses yang telah selesai.
Mengelola swapping atau paging antara memori utama dan disk.
1. Hierarki Organisasi Memori Pada Sistem Komputer
Hierarki organisasi memori dalam sistem komputer merupakan sebuah pedoman yang
dilakukan oleh para perancang demi menyetarakan kapasitas, waktu akses, dan harga
memori untuk tiap bitnya.
Hierarki memori disusun berdasarkan :
Waktu akses (semakin ke bawah semakin lambat, dan semakin ke atas semakin
cepat),
Kapasitas (semakin ke bawah semakin besar, dan semakin ke atas semakin kecil),
Jarak dengan prosesor (semakin ke bawah semakin jauh, dan semakin ke atas
semakin cepat),
Harga memori tiap bitnya (semakin ke bawah semakin murah, dan semakin ke
atas semakin mahal).
4
Register adalah memori berukuran kecil yang memiliki kecepatan akses yang tinggi.
Register ini digunakan untuk menyimpan data dan instruksi yang sedang diproses,
sementara itu data lain yang belum diproses akan tersimpan di dalam main memory
menunggu untuk diproses.
Bagian-bagian register yaitu:
o Instruction Register (IR) berfungsi untuk menyimpan instruksi yang diproses,
o Program Counter (PC) berfungsi untuk menyimpan alamat lokasi main memory
yang berisi instruksi yang sedang diproses,
o General Purpose Register (GPR) memiliki berbagai fungsi yang berhubungan
dengan data yang sedang diproses misalnya menampung data yang sedang
diproses dan menampung hasil proses,
o Memory Data Register (MDR) berfungsi untuk menampung data/instruksi yang
dikirimkan dari main memory ke CPU atau menampung data yang akan disimpan
ke main memory
o Memory Address Register (MAR) berfungsi untuk menampung alamat
data/instruksi pada main memory yang akan diambil/diletakkan.
Cache Memory merupakan memori berkecepatan tinggi yang sifatnya sementara. Cache
memory berfungsi sebagai tempat menyimpan data/instruksi sementara yang diperlukan
prosesor untuk mempercepat akses data pada komputer karena cache menyimpan
5
data/informasi yang telah diakses oleh suatu buffer sehingga meringankan kinerja
komputer.
Cara kerja memori cache yaitu,
o Jika prosessor membutuhkan data pertama dia akan mencarinya di cache memory,
o Jika data ditemukan prosesor akan membacanya dengan delay yang sangat kecil,
o Jika data tidak ditemukan maka prosessor akan mencarinya pada RAM yang
kecepatannya lebih rendah.
Main Memory adalah memori utama di komputer dalam bentuk array yang disusun
word/byte, kapasitas susunan bisa sampai 1 juta susunan. Main memory digunakan
sebagai media penyimpanan data yang berkaitan dengan CPU atau perangkat I/O.
Memori Utama terbagi menjadi 2 jenis yaitu:
o Read Only Memory (ROM) adalah memori yang hanya bisa membaca,
o Random Acces Memory (RAM) adalah memori tempat penyimpanan data
sementara pada saat komputer dijalankan dan diakses secara acak. Semakin besar
kapasitas RAM maka semakin cepat pula kinerja suatu komputer.
Cache Disk sebenarnya merupakan memori yang digunakan dalam main memory untuk
membantu kerja magnetic disk.
Magnetic Disk adalah piringan bundar yang terbuat dari bahan tertentu dengan
permukaan yang dilapisi bahan magnetic. Mekanisme baca / tulis yang digunakan disebut
head yaitu kumparan pengkonduksi (conducting coil) selama operasi pembacaan dan
penulisan. Head bersifat stationer sedangkan piringan bergerak-gerak di bawahnya
biasanya yang menggantung di atas permukaan dan tertahan pada sebuah bantalan udara.
Magnetic Tape adalah model utama dari secondary memory yang juga dipakai untuk alat
I/O dimana informasi dimasukkan ke dalam CPU dari tape dan informasi diambil dari
CPU lalu disimpan ke tape lainnya.
6
Optic Disk merupakan sebuah tempat penyimpanan data elektronik yang bisa diubah,
ditulis, dan bisa dibaca. Cara kerjanya yaitu dengan menggunakan prinsip sinar laser
yang disuntikan ke dalam bidang disk yang mampu menyimpan data.
2. Pengalamatan Memori
Merupakan penempatan alamat pada ruang memory pada suatu sistem komputer.
Tugas untuk mereferensi kode instruksi atau data di memori utama secara tepat
merupakan tanggung jawab dari compiler. Compiler berfungsi mengubah source code
yang ditulis programmer menjadi file yang berisi kode instruksi program yang dapat
dijalankan prosessor. Dalam menentukan alamat instruksi atau data, compiler mengacu
pada metode pengalamatan memori yang dipakai sistem komputer.
Secara garis besar metode pengalamatan memori dapat dibedakan atas :
2.1. Pengalamatan secara fisik (Physical / absolute address)
Pada pengalamatan memori secara fisik, alamat yang ditulis pada kode
instruksi program hasil kompilasi merupakan alamat fisik memory utama yang
sesungguhnya. Konsekuensinya adalah pada saat penyalinan image proses ke
memori utama, maka kode instruksi dan data program harus disalin pada posisi
yang sesuai dengan referensi tersebut. Pada saat eksekusi, prosesor akan memproses
alamat pada kode instruksi program secara langsung tanpa melakukan translasi
alamat memori.
2.2. Pengalamatan Relative
Pengalamatan relative terutama digunakan pada sistem yang menggunakan
alokasi memori berurut, dimana keseluruhan image proses harus terletak di satu
area memori yang utuh. Alamat pada kode instruksi program merupakan alamat
relative (offset) terhadap posisi awal program. Pada saat image proses dari program
tersebut disalin atau dialokasikan ke memori utama, alamat awal memorinya dicatat
ke suatu register alokasi. Pada saat eksekusi, pengaksesan alamat akan ditranslasi
dengan menjumlahkan alamat referensi pada instruksi dengan isi registrasi alokasi
untuk mendapatkan alamat fisik memori yang akan benar-benar diakses. Umumnya
7
proses translasi ini dilakukan menggunakan perangkat keras khusus yang disebut
dengan MMU(Memory Management Unit).
2.3. Pengalamatan Logical
Pada pengalamatan secara logika, alamat yang ada pada kode program
merupakan suatu alamat logika yang masih perlu diterjemahkan atau ditranslasikan
ke alamat fisik memori utama pada saat eksekusi. Umumnya, translasi alamat untuk
pengalamatannya secara logika terjadi pada saat eksekusi. Kelebihan pengalamatan
ini adalah relokasi program dapat dilakukan secara fleksibel, bahkan ruang atau
kapasitas alamat logika program dapat lebih besar dari kapasitas fisik memori
utama. Misalnya program dapat menggunakan ruang alamat logika sebesar 2Giga,
sedangkan emori utama fisik di mana program tersebut dijalankan hanya memiliki
kapasitas 256 Mega
8
3. Overlay
Overlay adalah suatu teknik pemrograman yang berfungsi membagi program yang
besar menjadi bagian yang kecil sehingga dapat dimuat secara parsial ke dalam suatu
page memori yang berukuran lebih kecil. Teknik overlay ini digunakan terutama pada
sistem informasi dengan manajemen memori partisi statis. Dengan menggunakan teknik
overlay maka hanya sebagian kode intruksi program saja yang akan disalinkan ke partisi
tersebut dan jika bagian lain dari program dibutuhkan maka akan dilakukan replacement
pada area overlay program tersebut. Sehingga dengan menggunakan teknik overlay ini
program yang berukuran besar tetap bisa dijalankan pada OS (Operating System), atau
Sistem Operasi dengan model manajemen memori partisi statis. Penggunaan overlay
terbatas untuk beberapa sistem yang mempunyai jumlah memori fisik terbatas dan
kekurangan dukungan H/W untuk teknik yang lebih lanjut.
Misalnya:
Apabila semua diletakkan di memori memerlukan 200K. Jika hanya tersedia tempat
150K, proses tidak dapat dijalankan. Pass 1 dan pass 2 tidak perlu berada di memori pada
waktu yang sama. Dengan menggunakan overlay, rutin dibagi dalam 2 overlay. Overlay
A adalah tabel symbol, rutin umum dan pass1 (membutuhkan total 120K) dan overlay B
9
terdiri dari tabel symbol, rutin umum
dan pass 2 (membutuhkan 130K).
Ditambahkan 10K untuk driver
overlay dan dimulai dari overlay A.
Setelah selesai dijalankan overlay B
dengan mengganti tempat dari
overlay A.
4. Dynamic Loading
Dynamic loading merupakan suatu routine tidak diload sampai dipanggil.
Semua routine disimpan pada disk sebagai format relocatable load.
Mekanisme dasar :
Program utama diload dahulu dan dieksekusi
Bila suatu routine perlu memanggil routine yang lain, routine yang dipanggil lebih
dahulu diperiksa apakah routine yang dipanggil sudah diload. Jika tidak,
relocatable linking loader dipanggil untuk meload routine yang diminta ke
memori dan mengupdate tabel alamat dari program yang mencerminkan
perubahan ini.
Keuntungan dari dynamic loading adalah :
Rutin yang tidak digunakan tidak pernah di-load
Cocok untuk kode dalam jumlah besar
Digunakan untuk menangani kasus-kasus yang jarang terjadi seperti error routine
Tidak memerlukan dukungan khusus dari sistem operasi. Sistem operasi hanya
perlu menyediakan beberapa rutin pustaka untuk implementasi dynamic loading.
10
5. Dynamic Linking
Konsep dynamic linking sama dengan dynamic loading.
Karena Pada saat loading, linking ditunda hingga waktu eksekusi.
Program-program user tidak perlu menduplikasi system library karena :
System library dipakai bersama
Mengurangi pemakaian space
Satu rutin library di memori digunakan secara bersama oleh sekumpulan proses
Contoh : DLL Win32
Mekanisme menggunakan stub (potongan kecil yang mengindikasikan bagaimana
meload library jika routine tidak tersedia saat itu) :
Saat stub dieksekusi, ia akan memeriksa apakah rutin ybs sudah berada di
dalam memori(diakses oleh proses lain yang run), kalau belum ada maka rutin
tersebut diload
Stub menempatkan dirinya pada alamat rutin dan mengeksekusi rutin tersebut
Dynamic Linking membutuhkan beberapa dukungan dari OS, misal :
Bila proses-proses di memori utama saling diproteksi, maka SO melakukan
pengecekan apakah rutin yang diminta berada diluar alamat.
Beberapa proses diijinkan untuk mengakses memori pada alamat yang sama.
File dynamic linking berekstensi :
o .dll
o .sys
o .drv
6. Memory Virtual
Memori virtual adalah sebuah mekanisme yang digunakan oleh aplikasi untuk
menggunakan sebagian dari memori sekunder seolah-olah ia menggunakannya
sebagai RAM fisik yang terinstal di dalam sebuah sistem. Mekanisme ini beroperasi
dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di
dalam hard drive yang disebut dengan :
11
Swap file ,
Page file atau
Swap partition
Setiap program yang dijalankan harus berada di memori. Memori merupakan suatu
tempat penyimpanan utama (primary storage) yang bersifat sementara (volatile). Ukuran
memori yang terbatas dapat menimbulkan masalah bagaimana menempatkan program
yang berukuran yang lebih besar dari ukuran memori fisik (memori utama) dan
masalah penerapan
multiprogramming yang membutuhkan tempat yang lebih besar di memori.
Memori virtual 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). Di
sinilah memori virtual
melakukan pemisahan
dengan menaruh memori
logis ke secondary
storage (disk sekunder) dan hanya membawa halaman yang diperlukan ke memori utama
(memori fisik). Teknik ini menempatkan 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.
12
Pemisahan antara “ user logical memory” (virtual) dengan “ physical memory ”
atau melihat memori sebagai “ cache ” dan disk sebagai “memori”.
Logical address space (program) dapat lebih besar dari alokasi memori fisik yang
diberikan.
Hanya sebagian kecil dari program yang harus berada di memori untuk eksekusi.
Terdapat mekanisme untuk melakukan alokasi dan dealokasi page (swapped
out dan in) sesuai dengan kebutuhan (referensi program).
Terdapat bagian dari disk menyimpan sisa page (program) yang sedang dijalankan
di memori.
Dapat diimplementasikan melalui :
1. Demand Paging yaitu dengan menerapkan konsep pemberian halaman pada
proses
2. Demand segmentation, lebih kompleks diterapkan ukuran segmen yang
bervariasi.
7. Mekanisme Demand Paging
Sistem Demand Paging sama halnya dengan sistem paging dengan swapping. Proses-
proses tersebut disimpan ke memori sekunder, jika proses akan dieksekusi maka dipindah
ke memori. Sebuah page tidak pernah ditukar ke memori kecuali page diperlukan. Jumlah
frame di memori utama tergantung tingkat multiprogramming. Semakin tinggi tingkat
multiprogramming, semakin sedikit jatah frame untuk tiap proses. Menggunakan bit
valid/invalid di page table. Misal: bit 1 berada di memori utama, bit 0 berada di swap
space. Jika berstatus invalid, maka trap page fault akan dibangkitakan agar ditangani
lebih lanjut oleh rutin SO yaitu: page fault handler. Rutin page fault handler akan
menangani operasi swap-in terhadap page yang diperlukan.
7.1. Langkah-langkah swap-in :
Mencari frame memori utama yang kosong. Jika tidak ada dipilih salah satu
page dalam frame (victim page) untuk di swap-out.
Swap-in Memperbarui rekaman di page table
13
Mengubah validation=1
Restart.
7.2. Keuntungan demand paging :
Sedikit I/O yang dibutuhkan
Sedikit memori yang dibutuhkan
Respon yang lebih cepat
Dapat melayani banyak user
7.3. Demand Paging butuh perangkat keras :
Page table “valid-invalid bit”
Valid (“1”) -> pages berada di memori
Invalid (“0”) -> pages berada di disk
Memori sekunder, untuk menyimpan proses yang belum ada di memori
Jika suatu proses menginginkan page, namun page tersebut belum ada pada
memori utama, maka akan terjadi page fault.
14
7.4. Cara-cara untuk mengatasi page fault:
Mengecek tabel internal (biasanya tersimpan dalam PCB) untuk
menentukan bit referensi valid atau invalid
Jika referensi invalid, maka proses dihentikan,jika valid tapi proses belum
dikenali maka page tersebut akan dikenali kemudian cari frame kosong
Dilakukan penjadwalan operasi disk untuk membaca pageyang diinginkan
ke lokasi frame yang baru
Jika pembacaan disk sudah selesai, maka internal table diperbaiki (ubah
validation bit menjadi “1” yang berarti page telah ada di memori)
Ulangi instruksinya dari awal
15
Daftar Pustaka
http://tkj.arka.web.id/2014/10/pengertian-manajemen-memori.html
http://deviachrista.blogspot.co.id/2013/06/pengertian-manajemen-memory-memory.html
http://flowerseventeen.blogspot.co.id/2016/04/hirarki-dan-karakteristik-memori.html
http://informatikateknologi.blogspot.co.id/2015/06/sistem-hirarki-pada-komputer.html
http://shony0058.blogspot.co.id/2009/10/pengalamatan-memory.html
http://suligiani.blogspot.co.id/2009/07/pengalamatan-logical-relative-dan.html
http://www.elektroindonesia.com/elektro/li0602.html
http://sudarmonovirgo.blogspot.co.id/2012/08/sistem-operasi.html
http://defibungsyu.blogspot.co.id/2013/02/pengertian-virtual-memory.html
http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/2003/49/produk/Siste
mOperasi/c56.html