Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ......

26
Pertemuan #5: Pertemuan #5: Memori dan Memori Virtual Memori dan Memori Virtual Lecturer: Lecturer: Abdusy Syarif Abdusy Syarif Prodi Teknik Informatika Prodi Teknik Informatika Fakultas Ilmu Komputer Fakultas Ilmu Komputer

Transcript of Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ......

Page 1: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Pertemuan #5:Pertemuan #5:

Memori dan Memori VirtualMemori dan Memori Virtual

Lecturer: Lecturer: Abdusy SyarifAbdusy Syarif

Prodi Teknik InformatikaProdi Teknik InformatikaFakultas Ilmu KomputerFakultas Ilmu Komputer

Page 2: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 22Sistem Operasi #5Sistem Operasi #5

Latar Belakang

Manajemen memori:-Alokasi “space” memori fisik kepada program yang

diekesekusi (proses).

-Pendekatan: Alokasi space sesuai dengan kebutuhan “logical address” => seluruh program berada di memori fisik.

-Kapasitas memori harus sangat besar untuk mendukung “multiprogramming”.

-Bagaimana jika kapasitas memori terbatas?

-Pendekatan: Teknik Overlay (programming) dapat memanfaatkan kapasitas kecil untuk program yang besar.

-Batasan (tidak transparant, cara khusus): program sangat spesifik untuk OS tertentu.

Page 3: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 33Sistem Operasi #5Sistem Operasi #5

Latar Belakang (cont.)

Q: Apakah sesungguhnya diperlukan seluruh program harus berada di memori?-Mayoritas kode program untuk menangani “exception”, kasus

khusus dll. (sering tidak dieksekusi).

-Deklarasi data (array, etc) lebih besar dari yang digunakan oleh program.

IDEA:-Sebagian saja program (kode yang sedang dieksekusi) berada

di memori, tidak harus serentak semua program berada di memori.

-Jika kode program diperlukan maka OS akan mengatur dan mengambil page yang berisi program tersebut dari “secondary storage” ke “main memory”.

Page 4: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 44Sistem Operasi #5Sistem Operasi #5

Latar Belakang (cont.)

Pro’s (jika OS yang melakukan “overlay”)-Programmer dapat membuat program sesuai dengan

kemampuan “logical address” (virtual address) tanpa harus menyusun modul mana yang harus ada di memori.

Fungsi OS sebagai “extended machine”: memberikan ilusi seolah-olah memori sangat besar, memudahkan penulisan program dan eksekusi program.

-Proses dapat dieksekusi tanpa memerlukan memori fisik yang besar => banyak proses.

Fungsi OS sebagai “resource manager”: menggunakan utilitas memori yang terbatas untuk dapat menjalankan banyak proses.

Page 5: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 55Sistem Operasi #5Sistem Operasi #5

Latar Belakang (cont.)

Konsep Virtual Memory:

- Pemisahan antara “user logical memory” (virtual) dengan “physical memory”.

- 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.

Virtual memory dapat diimplementasikan melalui :

- Demand paging

- Demand segmentation

Page 6: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 66Sistem Operasi #5Sistem Operasi #5

Definisi

- Adalah teknik pemetaan memori yang melibatkan memori sekunder, umumnya disk.

- Secara sistem logika, ukuran memori lebih besar daripada ukuran memori utama secara fisik.

- Melibatkan mekanisme swapping

Page 7: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 77Sistem Operasi #5Sistem Operasi #5

Virtual Memory Lebih Besar daripada Memori Fisik

Page 8: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 88Sistem Operasi #5Sistem Operasi #5

Keuntungan model virtual memori

- Lebih sedikit memori yang diperlukan per proses.

- System response menjadi lebih cepat, karena tidak semua bagian image proses perlu dialokasikan ke memori utama,

proses dapat dieksekusi lebih cepat.

- Lebih banyak proses yang dapat dijalankan

multiprogramming

Page 9: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 99Sistem Operasi #5Sistem Operasi #5

Konsep Dasar

Image proses akan diinisialisasi di area swap space, yaitu suatu lokasi di media penyimpan sebagai ekstensi memori utama.

Swap space dapat berupa suatu berkas atau partisi khusus, dan unit terkecilnya disebut page.

Pengalihan page dari swap space ke memori utama menggunakan teknik lazy swapper, yaitu hanya page proses yang dibutuhkan yang akan dialihkan ke memori utama.

Page 10: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 1010Sistem Operasi #5Sistem Operasi #5

Transfer Page Memory ke Contiguous Disk Space

Page 11: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 1111Sistem Operasi #5Sistem Operasi #5

Bagaimana mengetahui page mana yang masih di swap space dan yang ada di memori utama ?

Page 12: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 1212Sistem Operasi #5Sistem Operasi #5

Mekanisme demand paging

Konsep dasar:

- 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

Page 13: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 1313Sistem Operasi #5Sistem Operasi #5

Mekanisme demand paging

Jika berstatus invalid, maka trap page fault akan dibangkitkan agar ditangani lebih lanjut oleh rutin SO yaitu: page fault handler.

Rutin page fault handler akan menangani operasi swap-in terhadap page yang diperlukan.

Page 14: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 1414Sistem Operasi #5Sistem Operasi #5

Page Table Ketika beberapa Page Tidak Berada di Main Memory

Page 15: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 1515Sistem Operasi #5Sistem Operasi #5

Page Fault (OS tasks) Saat pertama kali referensi ke page,

trap ke OS => page fault. OS melakukan evaluasi, apakah

alamat logical tersebut “legal”? OK, tapi belum berada di memori.

1. Get empty frame (frame free list).2. Swap page into frame.3. Reset tables, validation bit = 1.4. Restart instruction: yang terakhir eksekusi

belum selesai, mis. block move

Page 16: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 1616Sistem Operasi #5Sistem Operasi #5

Tahap Penanganan Page Fault

Page 17: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 1717Sistem Operasi #5Sistem Operasi #5

Mekanisme demand paging

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

mengubah validation=1

- Restart.

Page 18: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 1818Sistem Operasi #5Sistem Operasi #5

Page Replacement

Secara umum, algoritma dapat dibagi dua:

-Global ReplacementVictim frame dapat dipilih dari semua frame yang ada

-Local ReplacementVictim frame dapat dipilih dari frame-frame yang sedang ditempati oleh image proses bersangkutan

Page 19: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 1919Sistem Operasi #5Sistem Operasi #5

Page Replacement

Page 20: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 2020Sistem Operasi #5Sistem Operasi #5

Page Replacement

Algoritma page replacement:

-Algoritma FIFO (First In First Out)

-Algoritma Optimal

-Algoritma LRU (Least Recently Used)

Page 21: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 2121Sistem Operasi #5Sistem Operasi #5

Page Replacement

Algoritma FIFO :Page yang diganti adalah page yang paling lama berada di memori atau yang pertama kali masuk.

Page 22: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 2222Sistem Operasi #5Sistem Operasi #5

Page Replacement

Algoritma Optimal :page yang diganti adalah page yang baru akan dipanggil lagi pada waktu yang masih lama.Diasumsikan sistem mampu memprediksi page-page yang akan diakses

Page 23: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 2323Sistem Operasi #5Sistem Operasi #5

Page Replacement

Algoritma LRU:

Page yang diganti adalah page yang paling lama sudah tidak diakses.

Page 24: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 2424Sistem Operasi #5Sistem Operasi #5

Seberapa banyak jumlah frame yang butuh dialokasikan ke suatu proses yang berjalan?

Page 25: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 2525Sistem Operasi #5Sistem Operasi #5

Alokasi Frame

Pengalokasian tiap-tiap proses bervariasi tergantung pada tingkat multiprogramming.

Jika tingkat multiprogramming nya semakin tinggi, maka proses akan kehilangan beberapa frame.

Sebaliknya jika tingkat multiprogramming berkurang, maka proses akan mendapat frame melebihi dari yang dibutuhkan.

Page 26: Pertemuan #5: Memori dan Memori Virtual · PDF fileManajemen memori: -Alokasi “space ... misal: bit 1 berada di memori utama bit 0 berada di swap space. Sistem Operasi #5 Slide -

Slide - Slide - 2626Sistem Operasi #5Sistem Operasi #5

Alokasi Frame

Alokasi sama rata (equal allocation)Tiap proses mendapat jumlah frame sama banyak.

Alokasi proporsional (proporsional allocation)Tiap proses mendapat jumlah frame sesuai dengan besarnya image proses itu.

Alokasi berprioritas (priority allocation)Jumlah frame yang dialokasikan untuk tiap proses berdasarkan prioritas.