Aspek–Aspek Lain dari Memori Virtual Adri Octavianus (1203000072) Rahmatri Mardiko (1203000919) Kritik dan Saran bisa dikirimkan ke:
[email protected] © Copyright-2004 Adri Octavianus & Rahmatri Mardiko Operating System Course Kelompok 55.11
Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
1
Aspek Lain Sistem Pemberian Halaman 1. Prepaging 2. Ukuran Halaman (Page Size) 3. Jangkauan TLB (TLB Reach) 4. Inverted Page Table 5. Program Structure 6. I/O Interlock 7. Real Time Processing 8. Contoh Sistem Operasi: a. Windows NT b. Solaris2 c. Linux Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
2
Prepaging(1)
>>Prepaging digunakan dengan cara membawa seluruh halaman yang dibutuhkan ke memori dalam satu waktu. >>Prepaging adalah cara untuk mengurangi kesalahan halaman pada saat proses dimulai.
Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
3
Prepaging(2) >> s = jumlah page yang di prepage. >> a = % jumlah page yang benar2 digunakan >> Jika biaya untuk prepaging s x (100% – a) page yang tidak dibutuhkan lebih kecil dari biaya s x a page fault yang disimpan, maka prepaging akan menguntungkan. Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
4
Ukuran Halaman >> Ukuran tabel >> Fragmentasi >> I/O overhead >> Lokalitas >> Page-fault
Æ Æ Æ Æ Æ
besar kecil besar kecil besar
Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
5
Jangkauan TLB >>Jangkauan TLB adalah jumlah memori yang dapat diakses dari TLB. Jumlah memori = (jumlah masukan TLB) * (ukuran halaman)
Cara meningkatkan jangkauan TLB 1. Menambah jumlah masukan dari TLB 2. Menambah ukuran halaman Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
6
Inverted Page Table >>Membuat tabel yang memiliki hanya satu
masukan tiap halaman memori fisik (proses-id, nomor-halaman). >>Kegunaan: mengurangi jumlah memori
fisik yang dibutuhkan untuk melacak penerjemahan alamat virtual Æ fisik.
Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
7
Struktur Program >>Ketika program berjalan, maka ia akan menjadi proses yang pasti membutuhkan memori. >>Implementasi dari program akan sangat berpengaruh pada bagaimana cara proses tersebut menggunakan memori.
Contoh sederhana: int[][] A; A = new int[128][128]; for(j=0;j
Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
8
I/O Interlock(1) >> Suatu saat kita perlu mengunci halaman2 ke memori. >> Hal ini dilakukan untuk mencegah terjadinya page out sejumlah halaman yang akan digunakan untuk meng-copy berkas dari disk oleh proses lain yang mengalami page fault.
Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
9
I/O Interlock(2) Page(s) yang digunakan untuk mengcopy file dari i/o device ke memori harus dikunci agar tidak di page out akibat suatu proses mengalami page fault.
Sumber: Operating System Concepts with Java, Silberschazt, Galvin & Gagne
Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
10
Pemrosesan Waktu Nyata >>Proses waktu nyata membutuhkan penanganan dan eksekusi proses secepat dan sesingkat mungkin. >>Memori virtual tidak memungkinkan penanganan untuk proses waktu nyata karena: 1. Hanya menyimpan data yang sedang aktif digunakan. 2. Proses membutuhkan waktu untuk page replacement Æ delay time besar. >>System2 waktu nyata hampir tidak memiliki memori virtual. Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
11
Windows NT(1) >>Mengimplementasi memory virtual dengan clustering >>Clustering: metode penanganan page fault dengan menambahkan tidak hanya page yang mengalami fault tetapi juga page-page lain yang disekelilingnya. >>Proses diberikan working set minimum dan working set maksimum. >>Working set minimum: jumlah page minimum yang dijamin akan dimiliki proses tersebut dalam memori. Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
12
Windows NT(2) >> Jika memori yang tersedia cukup, proses dapat diberikan page sebanyak working set maksimumnya. >> Jika jumlah memori jauh dibawah batas, manajer memori virtual menggunakan automatic working set trimming untuk menambah memori agar melebihi batas Æ membebaskan page dari proses yang memiliki page lebih dari working set minimumnya.
Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
13
Solaris 2 >>Kernel menjaga sejumlah free memory yang cukup untuk menangani page fault. >>Minfree & Lotsfree: parameter batas minimum dan maksimum memori bebas yang tersedia. >> Jika memori bebas < minfree, pageout dimulai, menggunakan algoritma two-handed-clock. >> Pageout akan berhenti jika memori bebas > lotsfree. Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
14
Solaris 2 Page Scanner Proses scanning halaman2 untuk di page out dengan algoritma modified clock atau two handled clock. Scanrate is the rate at which pages are scanned. This ranged from slowscan to fastscan.
Sumber: Silberschazt, Galvin & Gagne: Operating System Concepts with Java
Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
15
Linux >>Menjalankan sebuah thread (kswapd) untuk mengontrol halaman yang bebas >>Jika halaman bebas < batas maks Æ bebaskan tiga halaman >>Jika halaman bebas < batas bawah Æ bebaskan enam halaman kemudian sleep(). >>Setiap halaman memiliki umur, ditambahkan jika diakses dan dikurangi setiap kali kswapd memeriksa halaman tersebut. >>Jika umur = 0 Æ bisa ditukar. >>Alokasi memori pada Linux: algoritma buddy & slab Silakan menggunakan dan memperbanyak slide ini tanpa mengubah hak cipta
16