M A N A J E M E N P R O S E S

advertisement
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
BAB III
MANAJEMEN MEMORY
Manajemen memori merupakan bagian dari sistem operasi yang memiliki tugas untuk
mengatur bagian memori. Tugas dari manajemen memori adalah untuk mengatur memori
utama yang sedang digunakan dan mengalokasikan jumlah dan alamat memori yang
diperlukan, baik untuk program yang sedang berjalan maupun untuk sistem operasi itu
sendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi atau data yang
akses datanya digunakan oleh CPU dan perangkat masukan/keluaran.
3.1 Tujuan dari manajemen memori adalah agar kemampuan dari penggunaan CPU
meningkat dan untuk meningkatkan efisiensi pemakaian memori. Memori utama
sebagai sumber daya yang harus dialokasikan dan dipakai bersama di antara sejumlah
proses yang aktif. Agar dapat memanfaatkan CPU dan fasilitas masukan/keluaran secara
efisian maka diinginkan memori dapat menampung proses sebanyak mungkin.
Manajemen memori juga mengupayakan agar pemrogram atau proses tidak dibatasi
oleh kapasitas memori fisik di sistem computer.
3.1.1 Ada beberapa istilah dalam manajemen memori
a. Primary Memory
b. Address Binding
c. Dinamic Loading
d. Dinamic Linking
e. Swapping
f. Manageman Memory Unit
3.1.2 Hirarki Memori
Manajemen Memory
OS BAB_3
1/12
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
Hierarki adalah urutan atau aturan dari tingkatan abstraksi menjadi seperti
struktur; adalah sebuah pedoman yang dilakukan oleh para perancang demi
menyetarakan kapasitas, waktu akses, dan harga memori untuk tiap bitnya.
Sebagian besar sistem komputer memiliki hirarki memori yang terdiri dari tiga
level, yaitu :
1. Register di CPU, berada di level teratas. Informasi yang berada di register
dapat di akses dalam satu cycle CPU.
2. Primary Memory, berada di level tengah. Diukur dengan satu byte dalam satu
waktu, secara relatif dapat diakses dengan cepat, dan bersifat volatile. CPU
mengakses memori ini dengan instuksi singgle load dan store dalam
beberapa clock cycle.
3. Secondary Memory, berada di level bawah. Di ukur sebagai kumpulan dari
bytes, waktu aksesnya lambat dan bersifat non-volatile. Memori ini
ditetapkan di storage device, jadi akses meliputi aksi oleh driver dan physical
device.
Contoh : HD, ROM
Manajemen Memory
OS BAB_3
2/12
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
Gambar 1. Hirarki Memori
3.2 Komputer yang lebih canggih memiliki level yang lebih banyak pada sistem hirarki
memorinya, yaitu cache memory dan bentuk lain dari secondary memory seperti
rotating magnetic memory, optical memory, dan sequntially access memory. Akan
tetapi, masing-masing level ini hanya sebuah penyempurnaan salah satu dari tiga level
dasar yang telah dijelaskan sebelumnya. Bagian dari sistem operasi yang mengatur
hirarki memori disebut dengan memory manager. Di era multiprogramming ini,
memory manager digunakan untuk mencegah satu proses dari penulisan dan
pembacaan oleh proses lain yang dilokasikan di primary memory, mengatur swapping
antara memori utama dan disk ketika memori utama terlalu kecil untuk memegang
semua proses.
Manajemen memori memiliki fungsi dan tujuan sebagai berikut :
1. Fungsi manajemen memori yaitu :
 Mengelola informasi mengenai memori yang dipakai dan tidak dipakai system
 Mengalokasikan memori ke proses yang memerlukan
 Mendealokasikan memori dari proses yang telah selesai menggunakan
 Mengelola swapping antara memori utaman dan harddisk
Manajemen Memory
OS BAB_3
3/12
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
2. Tujuan manajeman memori antara lain :
 Meningkatkan utilitas CPU
 Data dan instruksi dapat diakses cepat oleh CPU
 Efisiensi dalam pemakaian memori yang terbatas
 Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien
3.3 Konsep Dasar Memori
3.1.1. Proteksi Perangkat Keras
Pada saat suatu proses sedang berjalan, ada keadaan dimana
processor berhenti. Hal ini menandakan tidak adanya lagi data yang diproses
oleh processor. Oleh karena itu, processor pastinya akan mencari data ke dalam
memori. Pengaksesan data tersebut memerlukan banyak clock cycle. Situasi ini
tidak bisa ditoleransi sehingga membutuhkan perbaikan dalam kecepatan
pengaksesan antara CPU dan memori utama. Tidak hanya peduli tentang
kecepatan tersebut, tetapi juga memastikan operasi yang benar untuk
melindungi pengaksesan sistem operasi dari proses lainnya, dan melindungi
proses yang satu dari pengaksesan proses lainnya pula. Perlindungan atau
proteksi ini disediakan oleh perangkat keras. Kita harus memastikan bahwa
masing-masing proses memiliki ruang memori yang terpisah. Fungsi dari
proteksi ini untuk mencegah user program dari kesengajaan memodifikasi
kode/struktur data baik di sistem operasi atau user lainnya. Jika proteksi gagal,
semua hal yang dilakukan oleh program executing di user mode untuk
mengakses memori sistem operasi atau memori user lainnya akan terperangkap
di sistem operasi dan bisa menyebabkan kesalahan yang fatal, yaitu addressing
error.
3.1.2. Address Binding
Address binding adalah sebuah prosedur untuk menetapkan alamat fisik
yang akan digunakan oleh program yang terdapat di dalam memori utama.
Address binding yang dilakukan terhadap suatu program dapat dilakukan di 3
tahap yang berbeda, yaitu:
Manajemen Memory
OS BAB_3
4/12
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
a. Compilation time. Pada tahap ini sebuah program pada awalnya akan
menghasilkan alamat berupa simbol-simbol, kemudian simbol-simbol ini
akan langsung diubah menjadi alamat absolut atau alamat fisik yang bersifat
statik. Bila suatu saat terjadi pergeseran alamat dari program tersebut maka
untuk mengembalikan ke alamat yang seharusnya dapat dilakukan kompilasi
ulang.
b. Load time. Pada tahap ini awalnya program menghasilkan alamat berupa
simbol-simbol yang sifatnya acak (relative address), kemudian akan
dilakukan penghitungan ulang agar program tersebut ditempatkan pada
alamat yang dapat dialokasikan ulang (relocateble address). Singkatnya
binding terjadi pada waktu program telah selesai di- load. Execution time.
Alamat bersifat relatif, binding akan dilakukan pada saat run time. Pada saat
run time dibutuhkan bantuan hardware yaitu MMU (Memory Management
Unit).
3.1.3. Ruang Alamat Logika dan Fisik
Alamat yang dihasilkan oleh CPU berupa alamat logika, sedangkan yang
masuk ke dalam memori adalah alamat fisik. Pada compile time dan load time,
alamat fisik dan logika identik. Sebaliknya, perbedaan alamat fisik dan logika
terjadi pada execution time. Kumpulan semua alamat logika yang dihasilkan oleh
program adalah ruang alamat logika/ruang alamat virtual. Kumpulan semua
alamat fisik yang berkorespondensi dengan alamat logika disebut ruang alamat
fisik. Pada saat program berada di CPU, program tersebut memiliki alamat logika,
kemudian oleh MMU dipetakan menjadi alamat fisik yang akan disimpan di
dalam memori.
Manajemen Memory
OS BAB_3
5/12
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
Gambar 2 Relokasi dinamis dengan menggunakan Relocation Register
3.1.4. Pemuatan Dinamis
Ukuran dari memori fisik terbatas. Supaya utilitas memori berjalan dengan
baik, maka kita menggunakan pemuatan dinamis. Dengan cara ini, routineroutine hanya akan dipanggil jika dibutuhkan. Ilustrasi sebagai berikut, semua
routine disimpan di disk dalam format yang dapat dialokasikan ulang
(relocatable load format). Program utama diletakkan di memori dan dieksekusi.
Ketika sebuah routine memanggil routine yang lain, hal pertama yang dilakukan
adalah mengecek apakah ada routine lain yang sudah di-load. Jika tidak,
relocatable linking loader dipanggil untuk menempatkan routine yang
dibutuhkan ke memori dan memperbaharui tabel alamat program. Lalu, kontrol
diberikan pada routine baru yang dipanggil. Keuntungan dari pemuatan dinamis
adalah routine yang tidak digunakan tidak pernah dipanggil. Metode ini berguna
pada kode yang berjumlah banyak, ketika muncul kasus seperti routine yang
salah. Walaupun ukuran kode besar , porsi yang digunakan bisa jauh lebih kecil.
Sistem operasi tidak membuat mekanisme pemuatan dinamis, tetapi hanya
menyediakan routineroutine untuk menerapkan mekanisme ini. User-lah yang
merancang programnya sendiri agar programnya menggunakan sistem
pemuatan dinamis.
Manajemen Memory
OS BAB_3
6/12
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
3.1.5. Linking Dinamis
Pustaka bisa bersifat statik, dikenal dengan archive yang terdiri dari
kumpulan routine yang diduplikasi ke sebuah program oleh compiler, linker,
atau binder, sehingga menghasilkan sebuah aplikasi yang dapat dieksekusi
(bersifat stand alone atau dapat berjalan sendiri). Compiler menyediakan
standard libraries, misalnya C standard library, tetapi programmer bisa juga
membuat pustakanya untuk digunakan sendiri atau disebarkan. Pustaka statis ini
menyebabkan memori menjadi berat. Oleh karena itu, seiring dengan
perkembangan teknologi, terdapat pustaka yang bersifat dinamis. Mekanismenya
disebut linking dinamis, sedangkan pustakanya disebut dynamically linked
library. Linking Dinamis artinya data (kode) di pustaka tidak diduplikasi ke
dalam program pada compile time, tapi tinggal di file terpisah di disk Linker
hanya membutuhkan kerja sedikit pada compile time. Fungsi linker adalah
mencatat apa yang dibutuhkan oleh pustaka untuk eksekusi dan nama indeks
atau nomor. Kerja yang berat dari linking akan selesai pada load time atau
selama run time. Kode penghubung yang diperlukan adalah loader. Pada waktu
yang tepat, loader menemukan pustaka yang relevan di disk dan menambahkan
data dari pustaka ke proses yang ada di ruang memori. Keuntungan dari linking
dinamis adalah memori program tidak menjadi berat.
3.4 Alokasi Memori
Didalam pengalokasian sebuah Memori ada macam yakni : Swap, Pemetaan Memori,
Partisi Memori, Fragmentasi Memori
3.4.1 Swap
Sebuah proses, sebagaimana telah diterangkan di atas, harus berada di memori
sebelum dieksekusi. Proses swapping menukarkan sebuah proses keluar dari memori
untuk sementara waktu ke sebuah penyimpanan sementara dengan sebuah proses lain
yang sedang membutuhkan sejumlah alokasi memori untuk dieksekusi. Tempat
penyimpanan sementara ini biasanya berupa sebuah fast disk dengan kapasitas yang
dapat menampung semua salinan dari semua gambaran memori serta menyediakan
Manajemen Memory
OS BAB_3
7/12
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
akses langsung ke gambaran tersebut. Jika eksekusi proses yang dikeluarkan tadi akan
dilanjutkan beberapa saat kemudian, maka ia akan dibawa kembali ke memori dari
tempat penyimpanan sementara tadi. Bagaimana sistem mengetahui proses mana saja
yang akan dieksekusi? Hal ini dapat dilakukan dengan ready queue. Ready queue
berisikan semua proses yang terletak baik di penyimpanan sementara maupun memori
yang siap untuk dieksekusi. Ketika penjadwal CPU akan mengeksekusi sebuah proses, ia
lalu memeriksa apakah proses bersangkutan sudah ada di memori ataukah masih
berada dalam penyimpanan sementara. Jika proses tersebut belum berada di memori
maka proses swapping akan dilakukan seperti yang telah dijelaskan di atas.
Gambar 3. Proses Swapping
3.4.2 Pemetaan Memori
Sistem operasi dan berbagai proses pengguna terletak di dalam memori utama.
Oleh karena itu, kita harus menjaga agar proses diantara keduanya tidak bercampur
dengan cara mengalokasikan sejumlah bagian memori tersebut untuk sistem operasi
dan proses pengguna. Memori ini biasanya dibagi menjadi 2 bagian. Satu untuk sistem
operasi, dan satu lagi untuk proses pengguna.
3.4.3 Partisi Memori
Memori harus di diatur agar penempatan proses-proses tersebut dapat tersusun
dengan baik. Hal tersebut berkaitan dengan banyaknya jumlah proses yang berada di
Manajemen Memory
OS BAB_3
8/12
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
memori pada suatu saat/waktu. Cara yang paling mudah adalah dengan membagi
memori ke dalam beberapa partisi dengan ukuran yang tetap. Cara ini memungkinkan
pembagian yang tidak sama rata. Tiap partisi dapat terdiri dari hanya satu buah proses.
Sehingga derajat multiprogramming-nya dibatasi oleh jumlah partisi tersebut.
3.4.4 Fragmentasi Memori
Fragmentasi merupakan fenomena munculnya lubang-lubang (ruang memori
kosong) yang tidak cukup besar untuk menampung permintaan alokasi memori dari
proses. Fragmentasi terdiri dari dua jenis yaitu fragmentasi eksternal dan fragmentasi
internal.
3.5 Configurasi Share Memori Dalam VGA
Perlu diingat sebelum menambah shared memory harus memastikan bahwa RAM
yang anda gunakan memang mencukupi dalam menghandle aplikasi yang biasa gunakan
dan bisa diasumsikan bahwa sisa pemakaian memory RAM masih banyak dan cukup
untuk dibagi menjadi Buffer memory VGA. Kalau dirasa Ukuran RAM pas-pasan lebih
baik upgrade terlebih dahuulu RAM yang gunakan sesuai jumlah pemakaian applikasi
dan maksimal batas kemampuan shared memory VGA.
3.5.1 Cara Melakukan Share Memori :
1. Masuk ke BIOS
2. Kemudian setting Video RAM (VGA Shared Memory Size)
3. Setting jumlah shared memory yang anda inginkan.
4. Save dan Exit
NB :
Besar kecilnya nilai memory yang diambil tergantung dari Jenis VGA
Onboardnya dan besarnya kapasitas RAM yang terpasang. Pastikan juga
bahwa VGA yang anda gunakan merupakan VGA onboard (bisa di share)
tapi jika VGA yang anda gunakan adalah VGA dedicated tentu saja tidak
Manajemen Memory
OS BAB_3
9/12
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
bisa share dengan RAM karena pada VGA dedicated mempunyai Graphic
memory tersendiri yang bekerja pada sistem GPU VGA.
3.5.2 Menambah virtual memory komputer (setting virtual memory)
Salah satu fasilitas yang disediakan oleh windows adalah virtual memory.
Virtual memory merupakan memori cadangan yang diatur oleh windows dengan
mengalokasikan sebagian ruang hardisk yang dapat digunakan (berfungsi) sebagai
memory jika memory fisik (ddr ram) komputer sudah penuh terpakai oleh
aplikasi yang berjalan di komputer. Virtual memory ini sangat membantu dalam
menunjang kinerja windows khususnya XP. Cara melakukan setting atau
configurasi virtual memory windows di komputer agar kinerja windows xp lebih
optimal. Berikut adalah cara mengatur (setting) virtual memory windows.
1. Pada start menu pilih setting -> Control Panel. Pada window Control panel
double klik icon System
2. Pada kotak dialog system properties atau System Protection, pilih tabulasi
Advanced, pada bagian Performance klik Settings
Manajemen Memory
OS BAB_3
10/12
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
3. Pada kotak dialog performace option pilih tab Advanced klik tombol Change
4. Pada kotak dialog Virtual Memory:
Manajemen Memory
OS BAB_3
11/12
Kuliah Umum Ilmu Komputer
Matkul : Sistem Operasi Komputer
Amad Samrodin, S.Kom
Email : [email protected]
Website : Samphp.co.cc
a. Bagian Drive: pilih drive yang akan anda jadikan virtual memory,
misalnya D (Uasahakan gunakan partisi yang masih kosong, jika tidak ada
partisi hardisk anda pilih saja drive C)
b. Bagian Custom Size, ketik angka sesuai keinginan anda, saya memilih
maximum size 1000 MB, jika anda punya ruang hardisk yang besar bisa
gunakan angka yang lebih tinggi l
c. Klik tombol Set
d. Klik tombol OK
5. Tutup
kotak
dialog
yang
lain
dengan
menekan
tombol
OK.
Virtual memory komputer sudah aktif, perubahan dan peningkatan kinerja
windows xp di komputer
Manajemen Memory
OS BAB_3
12/12
Download