Infranstruktur teknologi informasi -...
-
Upload
trinhkhanh -
Category
Documents
-
view
224 -
download
0
Transcript of Infranstruktur teknologi informasi -...
INFRANSTRUKTUR
TEKNOLOGI INFORMASI
Manajemen Memory
Memori utama harus diatur sebaik mungkin agar
Meningkatkan utilitas CPU yang sebesar-besarnya
data dan instruksi dapat diakses dengan cepat oleh CPU
memori utama memiliki kapasitas yang sangat terbatas,
sehingga pemakaiannya harus seefisien mungkin
transfer data dari/ke memori utama ke/dari CPU dapat
efisien.
Fungsi manajemen memori :
mengelola informasi memori yang terpakai dan yang tidak
terpakai
mengalokasikan memori ke proses yang memerlukan
mendealokasikan memori dari proses telah selesai
mengelola swapping antara memori utama dan disk
Swapping
Suatu proses dapat dialihkan sementara dari memori ke
suatu tempat penyimpanan dan dipanggil kembali ke
memori jika akan melanjutkan eksekusi.
Swapping
1. Manajemen memori tanpa swapping
manajemen memori tanpa pemindahan proses antara memori
utama dan disk selama eksekusi
Terdiri dari :
monoprogramming
multiprogramming dengan pemartisian statis
Monoprogramming
Merupakan manajemen memori paling sederhana. Sstem komputer hanya
mengijinkan 1 program/pemakai berjalan pada 1 waktu. Semua sumber daya
sepenuhnya dikuasai proses yang sedang berjalan.
• Ciri-ciri manajemen memori monoprogramming :
• hanya 1 proses pada 1 saat
• hanya 1 proses menggunakan semua memori
• pemakai memuatkan program ke seluruh memori dari disk /
tape
• program mengambil kendali seluruh mesin
Karena hanya terdapat 1 proses dan menguasai seluruh sistem maka alokasi
memori dilakukan secara berurutan.
Multiprogramming dengan pemartisian statis
Multiprogramming = banyak proses pada memori utama pada saat bersamaan.
Alasan menggunakan multiprogramming :
mempermudah pemrogram karena pemrogram dapat memecah programmenjadi 2 proses/lebih
agar dapat memberi layanan interaktif ke beberapa orang secarasimultan
efisiensi penggunaan sumber daya
eksekusi lebih murah jika proses besar dipecah menjadi beberapa proseskecil
dapat mengerjakan sejumlah job secara simultan
Multiprogramming dengan pemartisian statis
Partisi Statis
memori dibagi menjadi sejumlah partisi tetap. Pada partisi tersebut
proses-proses ditempatkan. Berdasarkan ukurannya, dibagi 2 :
• Pemartisian dengan partisi berukuran sama
Ukuran semua partisi memori adalah sama.
Beberapa proses yang ukurannya
kurang/sama dengan ukuran partisi
dimasukkan ke sembarang partisi yang
tersedia.
Multiprogramming dengan pemartisian statis
Kelemahan :
1. dimuatkan Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat dan dijalankan. Pemrogram harus mempersiapkan overlay. Overlay adalah program dipecah menjadi bagian-bagian yang dapat dimuat ke memori. Sehingga hanya bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping.
2.Bila program lebih kecil daripada ukuran partisi yang tersedia, maka akan ada ruang yang tak dipakai, yang disebut fragmentasi internal →pemborosan memori. Kelemahan ini dapat dikurangi dengan membuat partisi tetap dengan ukuran yang berbeda.
Multiprogramming dengan pemartisian statis
Pemartisian dengan partisi berukuran berbeda : ukuran semua
partisi memori berbeda
Swapping
2. Manajemen memori dengan swapping
manajemen memori dengan pemindahan proses antara memori utama dan disk selamaeksekusi. Diterapkan pada multiprogramming dengan pemartisian dinamis.
Partisi dinamis
partisi statis menyebabkan memori terlalu banyak diboroskan dengan proses-proses yanglebih kecil dibanding partisi yang ditempatinya. Dengan partisi dinamis maka jumlah, lokasi,dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis. proses yangakan masuk ke memori segera dibuatkan partisi untuknya sesuai kebutuhannya. Teknik inimeningkatkan utilitas memori.
Kelemahan :
dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai
merumitkan alokasi dan dealokasi memori
Setelah proses 3 berakhir memori dipenuhi lubang-lubang memori yang tidak terpakai.
Dapat diatasi dengan cara pemadatan memori (memory compaction) yaitu operasi
penggabungan semua lubang kecil menjadi lubang besar dengan memindahkan semua
proses agar saling berdekatan. Contoh diatas setelah pemadatan memori :
Kelemahan pemadatan memori :
memerlukan waktu yang sangat banyak
sistem harus menghentikan sementara
semua proses saat pemadatan, sehingga
mengakibatkan meningkatnya waktu
tanggap
Masalah lain pada partisi dinamis adalah proses dapat tumbuh berkembang. Solusinya adalah bila proses bersebelahan dengan lubang memori tak dipakai, proses tumbuh memakai lubang itu. Masalah menjadi lebih parah bila proses bersebelahan dengan proses-proses lain. Alternatif
penyelesaian :
bila masih terdapat lubang besar yang dapat memuat proses, maka proses dipindah ke lubang memori yang dapat memuat
1 proses atau lebih diswap ke disk agar memberi lubang cukup besar untuk proses yang berkembang
jika proses tidak dapat tumbuh di memori dan daerah swap di disk telah penuh,proses harus menunggu/disingkirkan.
Pencatatan memakai peta bit
Memori dibagi menjadi unit-unit alokasi, berkorespondensi dengan
tiap unit alokasi, yaitu 1 bit pada bit map.
nilai 0 pada peta bit berarti unit itu masih bebas
nilai 1 berarti unit sudah digunakan
Strategi Alokasi Memori
Alokasi harus mencari sekumpulan blok memori yang ukurannya mencukupi untuk memuat proses,dimana lubang kosong yang sama atau lebih besar dibanding ukuran memori yang diperlukan oleh proses.
Macam-macam strategi :
First-fit Algorithm
Next-fit Algorithm
Best-fit Algorithm
Worst-fit Algorithm
Quick-fit Algorithm
Strategi Alokasi Memori
First-fit Algorithm
Pencarian dimulai dari awal dan akan berhenti jika ditemukan
lokasi pertama yang cukup besar untuk menempatkan proses
tersebut.
Contoh :
terdapat partisi kosong pada memori dengan urutan dan ukuran :
4 Kb, 3 Kb, 2 Kb, 6 Kb bila datang data yang berukuran 3 Kb
maka akan menempati partisi ukuran 4 Kb.
Strategi Alokasi Memori
Next-fit AlgorithmSama dengan first-fit hanya saja pencarian tidak dimulai dari awal, tapi darilokasi terakhir kali menemukan segmen yang cocok dan akan berhenti jikaditemukan lokasi pertama yang cukup besar untuk menempatkan prosestersebut.Contoh :terdapat partisi pada memori dengan urutan dan ukuran : 4 Kb, 3 Kb, 2 Kb,6 Kbbila datang data yang berukuran 3 Kb dan pencarian partisi dimulai dariurutan ketiga karena sebelumnya posisi terakhir pencarian di partisi kedua,maka data tersebut akan menempati partisi ukuran 6 Kb.
Strategi Alokasi Memori
Best-fit Algorithm
Pencarian dimulai dari awal dan akan berhenti jika ditemukan lokasiterkecil pertama yang cukup untuk menempatkan proses tersebut.
Contoh :
terdapat partisi kosong pada memori dengan urutan dan ukuran : 4Kb, 3 Kb, 2 Kb, 6 Kb
bila datang data yang berukuran 3 Kb maka akan menempati partisiukuran 3 Kb.
Strategi Alokasi Memori
Worst-fit Algorithm
Pencarian dimulai dari awal dan akan berhenti jika ditemukan lokasiyang paling besar yang cukup untuk menempatkan proses tersebut.
Contoh :
terdapat partisi kosong pada memori dengan urutan dan ukuran : 4Kb, 3 Kb, 2 Kb, 6 Kb
bila datang data yang berukuran 3 Kb maka akan menempati partisiukuran 6 Kb
Strategi Alokasi Memori
Quick-fit Algorithm
Pencarian secara cepat pada lokasi yang sama atau lebih besaryang cukup untuk menempatkan proses tersebut.
Contoh :
terdapat partisi kosong pada memori dengan urutan dan ukuran :4 Kb, 3 Kb, 2 Kb, 6 Kb
bila datang data yang berukuran 3 Kb maka akan menempatipartisi ukuran 4 Kb
Sistem Buddy
Merupakan cara mengelola memori utama dengan memanfaatkan kelebihan penggunaan bilangan biner (2k ; k = 0,1,2, ...).
Pada sistem buddy, semula semua ruang pada memori kerja didefinisikan sebagai satu kesatuan utuh. Bagian ini baru dibelah apabila ada data yang menempati ruang tersebut. Sistem pembelahan sesuai dengan pangkat bilangan biner,
yaitu : 20 , 21 , 22 , 23 ....
Contoh :
Sebuah memori kerja dengan kapasitas 1024 Kb akan digunakan untuk menyimpan data sebesar100 Kb dan 200 Kb maka akan didapat hasil akhir :
Sistem Buddy
Data 100 Kb diletakkan di ruang/blok 128 Kb dan data 200 Kb
diletakkan di ruang/blok 256 Kb
Sistem Buddy
Urutan Semula (Free Space)
1 Alokasi Proses A (90 kb) A
2 Alokasi Proses B (50 kb) A B
3 Alokasi Proses C (72 kb) A B C
4 Dealokasi Proses A B C
5 Alokasi Proses D (35 kb) B D C
6 Dealokasi Proses B D C
7 Dealokasi Proses D C
8 Dealokasi Proses C
Contoh Kasus :
0 128 256 384 512
Memori Maya
Program yang dijalankan harus dimuat di memori utama.
Masalah muncul ketika program lebih besar dibanding memori
utama yang tersedia. Solusinya :
1. Overlay : program dipecah menjadi bagian-bagian yang
dapat dimuat memori. Overlay yang belum diperlukan (tidak
sedang dieksekusi) disimpan di disk. Overlay ini dimuatkan ke
memori begitu diperlukan.
Memori Maya
2. Memori maya (virtual memori)
itukemampuan mengalamati ruang memori melebihi memoriutama yang tersedia. Gagasan memori maya adalah ukurangabungan program, data dan stack melampaui jumlah memorifisik yang tersedia. Sistem operasi menyimpan bagian-bagianproses yang sedang digunakan di memori utama dan sisanyadi disk. Bagian-bagian di disk diperlukan maka bagianmemori yang tidak diperlukan disingkirkan diganti bagian didisk yang diperlukan itu
Memori Maya
Contoh :
Program 10 Mbyte dapat berjalan di mesin 2 Mbyte, yaitu memilih bagian proses sebesar 2 Mbyte secara hati-hati dan ditaruh di memori. Bagian-bagian proses di-swap antara disk dan memori saat diperlukan secara otomatis oleh sistem operasi.
Memori maya dapat dilakukan dengan 3 cara yaitu :
paging
segmentasi
kombinasi paging dan segmentasi
Sistem Paging
Mengimplementasikan ruang alamat besar pada
memori kecil menggunakan indek register, base register,
dan segment register
Sistem Paging
Sistem Paging
Istilah-istilah yang digunakan :
Alamat Maya :
Alamat yang dihasilkan perhitungan menggunakan index register, base register, dan segment register.
Alamat Nyata :
Alamat di memori fisik.
Page :
Unit terkecil pada ruang alamat maya (virtual address space).
Sistem Paging
Page Frame
Unit terkecil pada ruang alamat fisik (real address space).
Page Fault
Exception untuk permintaan alokasi “page” ke memori.
Memory Management Unit (MMU)
Kumpulan chip yang memetakan alamat maya ke alamat fisik.
Algoritma Penggantian Random
Setiap terjadi page fault, penggantian page dipilih secara
acak
Tidak memakai informasi apapun untuk menentukan page yang
akan diganti
Semua page di memori utama dianggap memiliki bobot yang
sama
Dapat memilih sembarang page termasuk page yang diacu
Contoh soal
Bila diberikan 3 buah frame dan reference string sebagai berikut:
7, 0, 1, 2, 0, 3, 0, 1, 2, 3, 0, 1, 2, 1, 7
Bagaimana mentukan berapa kali terjadi page fault yang terjadi jika
menggunakan algoritma penggantian page jika algoritma yang dipakai
adalah FIFO, optimal dan LRU
Algoritma Penggantian FIFO
7 0 1 2 0 3 0 1 2 3 0 1 2 1 7
7 7 7 2 2 2 2 1 1 1 0 0 0 0 7
0 0 0 0 3 3 3 2 2 2 1 1 1 1
1 1 1 1 0 0 0 3 3 3 2 2 2
F F F F F F F F F F F F F
3 page frame Total page fault = 13
(7,0,1) page fault, dimasukkan ke dalam frame
(7,0,1) -> (2,0,1), 2 menggantikan 7 karena entri 7 paling tua
(2,0,1) -> (2,3,1), 3 menggantikan 0 karena entri 0 paling tua
(2,3,1) -> (2,3,0), 0 menggantikan 1 karena entri 1 paling tua
(2,3,0) -> (1,3,0), 1 menggantikan 2 karena entri 2 paling tua
(1,3,0) -> (1,2,0), 2 menggantikan 3 karena entri 3 paling tua
Page yang menempati memori paling lama dipilih untuk diganti
Referensi String
Algoritma Penggantian Optimal
7 0 1 2 0 3 0 1 2 3 0 1 2 1 7
7 7 7 2 2 2 2 1 2 2 2 2 2 2 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 3 3 3 3 3 3 1 1 1 1
F F F F F F F F F
3 page frame Total page fault = 9
(7,0,1) page fault, dimasukkan ke dalam frame
(7,0,1) -> (2,0,1), 2 menggantikan 7 karena 7 tidak akan digunakan hingga referensi ke 15
(2,0,1) -> (2,0,3), 3 menggantikan 1 karena waktu referensi kembali untuk 1 lebih lama diantara 2 dan 0
(2,0,3) -> (1,0,3), 1 menggantikan 2 karena waktu referensi kembali untuk 2 lebih lama diantara 0 dan 3
(2,0,1) -> (7,0,1), (Looping) 7 menggantikan 2 karena waktu referensi kembali untuk 2 lebih lama diantara 0 dan 1
Mengganti page yang tidak akan digunakan pada periode berikutnya dengan waktu gilir yang terlama
Referensi String
Algoritma Penggantian Least Recently Used (LRU)
Mencari page yang mempunyai waktu terlama yang belum pernah digunakan diantara page lain.
Dengan mengganti page yang mempunyai waktu paling awal
Referensi String
7 0 1 2 0 3 0 1 2 3 0 1 2 1 7
7 7 7 2 2 2 2 2 2 2 2 2 2 2 2
0 0 0 0 3 3 3 3 3 3 3 3 3 3
1 1 1 1 0 1 1 1 0 1 1 1 7
F F F F F F F F F F
3 page frame Total page fault = 10
(7,0,1) page fault, dimasukkan ke dalam frame
(7,0,1) -> (2,0,1), 2 menggantikan 7 karena
(2,0,1) -> (2,3,1), 3 menggantikan 0 karena 0 menempati periode waktu paling lama belum digunakan
(2,3,1) -> (2,3,0), 0 menggantikan 1 karena 1 menempati periode waktu paling lama belum digunakan
(2,3,0) -> (2,3,1), 1 menggantikan 0 karena 0 menempati periode waktu paling lama belum digunakan