Sekolah Tinggi Teknologi Adisutjipto Yogyakarta
Materi Kuliah : Sistem Operasi / OS Semester Genap E.N. Tamatjita
- 0S
STTA-TF
E.N. Tamatjita -
1
Pertemuan Ke-9 & 10 Memory Management : a. Main Memory b. Virtual Memory a.
Main Memory
1. IA-32 menggunakan CPU generate logical address, untuk tiap segment bisa mencapai 4 GB dan up to 16 k segments per process dan jelaskan jawaban kelompok Anda. 2. Intel x86-64 untuk 64 bits, tiap implement 48 bit addressing terdiri dari : page size of 4 kb, 2 mb, 1 GB (Four level of paging hierarchy). 3. ARM Pilih salah satu dominant mobile platform chip yang kelompok Anda pilih (Apple iOS atau Google Android). Untuk modem, energy efficient, 32-bit CPU 4 kb dan 16 kb pages serta 1 mb dan 16 mb (termed section).
- 0S
STTA-TF
E.N. Tamatjita -
2
Contoh Intel 32 dan 64 bit
- 0S
STTA-TF
E.N. Tamatjita -
3
Rumus
- 0S
STTA-TF
E.N. Tamatjita -
4
Gantt Chart :
Lihat White board...
- 0S
STTA-TF
E.N. Tamatjita -
5
Intel x86-64
- 0S
STTA-TF
E.N. Tamatjita -
6
ARM
- 0S
STTA-TF
E.N. Tamatjita -
7
b. Virtual Memory Tidak bisa semua memory logic dipetakan ke memory fisik, walau dynamic loading bisamelakukannya Memori virtual merupakan suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Hanya bagian dari program yg perlu saja, berada di memory fisik untuk eksekusi Logical address space dapat berukuran lebih besar daripada physical address space Memperbolehkan virtual address spaces pada VM untuk disharing oleh beberapa processes
- 0S
STTA-TF
E.N. Tamatjita -
8
Page Table
- 0S
STTA-TF
E.N. Tamatjita -
9
Page Fault Jika ada referensi ke sebuah page, ternyata pagenya tidak ada (invalid), maka akan ditrap oleh OS, dan menghasilkan: page fault Untuk menangani page fault menggunakan prosedur berikut: – Memeriksa tabel internal (biasanya ada dlm PCB) unt menentukan valid atau invalid – Jika invalid, proses di suspend, jika valid, tapi page belum dibawa ke memory fisik, maka kita bawa page ke memory fisik. – Cari sebuah frame bebas (free frame). – Jadwalkan operasi sebuah disk untuk membaca page tersebut ke frame yang baru dialokasikan. – Saat pembacaan selesai, ubah validation bit menjadi “1” yang berarti page telah ada di memory. – Restart instruksi program yg ditrap td dari awal sehingga bisa berjalan dgn baik.
- 0S
STTA-TF
E.N. Tamatjita -
10
Bagaimanakah bila tidak ada free frame? Page Replacement. Pendekatan : – Jika tidak ada frame yang kosong, cari frame yang tidak sedang digunakan, lalu kosongkan dengan cara menuliskan isinya ke dalam swap space, dan mengubah semua tabel sebagai indikasi bahwa page tersebut tidak akan berada di memori lagi. – Bagaimana algoritmanya?
- 0S
STTA-TF
E.N. Tamatjita -
11
Algoritma Page Replacement Tujuan untuk mendapatkan page fault terendah. Ada beberapa Algoritma Page Replacement: – Algoritma FIFO – Algoritma Optimal – Algoritma LRU – Algoritma Perkiraan LRU
- 0S
STTA-TF
E.N. Tamatjita -
12
Algoritma FIFO Page yang diganti adalah page yang paling lama berada di memori. Mudah diimplementasikan. Mudah dimengerti. Bisa mengalami Anomali Belady. – Page fault rate meningkat seiring dengan meningkatnya jumlah frame. – Hanya terjadi pada beberapa Algoritma Page Replacement.
- 0S
STTA-TF
E.N. Tamatjita -
13
Algoritma FIFO (First In- First Out) Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4,5 3 frames (3 pages can be in memory at a time per process)
Belady’s Anomaly: more frames ⇒ more page faults - 0S
STTA-TF
E.N. Tamatjita -
14
FIFO Place Replacement
Contoh Lihat whiteboard …
- 0S
STTA-TF
E.N. Tamatjita -
15
Algoritma Optimal Page yang diganti adalah page yang tidak akan dipakai dalam jangka waktu terlama. Sulit diimplementasikan (krn prediksi sulit dilakukan) Memiliki page-fault terendah. Tidak akan mengalami Anomali Belady: – Tidak mengalami : more frames ⇒more page faults
- 0S
STTA-TF
E.N. Tamatjita -
16
Algoritma Optimal lihat whiteboard …
- 0S
STTA-TF
E.N. Tamatjita -
17
Algoritma Least Recent Use (LRU) Page yang diganti adalah page yang tidak baru saja digunakan. Merupakan perpaduan antara Algoritma FIFO dan Algoritma Optimal. Sulit diimplementasikan. Tidak akan mengalami Anomali Belady.
- 0S
STTA-TF
E.N. Tamatjita -
18
Algoritma LRU lihat whiteboard …
- 0S
STTA-TF
E.N. Tamatjita -
19
Algoritma Counting Menyimpan counter untuk masing-masing page. Prinsip ini dapat dikembangkan menjadi algoritma berikut : Algoritma LFU (least frequently used) • Algoritma LFU (least frequently used) – page yang diganti adalah page yang paling jarang dipakai (nilai counter terkecil). Algoritma MFU (most frequently used) – page yang diganti adalah page yang paling sering dipakai (nilai counter terbesar).
- 0S
STTA-TF
E.N. Tamatjita -
20
Use Of A Stack to Record The Most Recent Page References
- 0S
STTA-TF
E.N. Tamatjita -
21
Cara Menghitung :
- 0S
STTA-TF
E.N. Tamatjita -
22
Algoritma LRU – Approximation Page Menggunakan bit reference Awalnya semua bit diinisialisasi 0 oleh sistem operasi. Setelah page direference, bit diubah menjadi 1 oleh hardware Cara implementasi: – Algoritma Additional-Reference-Bits. – Algoritma Second-Chance.
- 0S
STTA-TF
E.N. Tamatjita -
23
Algoritma LRU – Approximation Page Setiap page memiliki 8 bit byte sebagai penanda. Pada awalnya 8 bit ini diinisialisasi 0 (contoh : 00000000)Setiap selang beberapa waktu, timer melakukan interupsi kepada sistem operasi, kemudian sistem operasi menggeser 1 bit ke kanan. Page yang diganti adalah page yang memiliki nilai terkecil. Contoh Lihat whiteboard … - 0S
STTA-TF
E.N. Tamatjita -
24
Second Change Dasar algoritma ini adalah Algoritma FIFO. Algoritma ini juga menggunakan circular queue. Apabila nilai bit reference-nya 0, page dapat diganti. Apabila nilai bit reference-nya 1, page tidak diganti tetapi bit reference diubah menjadi 0 dan dilakukan pencarian kembali. Contoh Lihat whiteboard … - 0S
STTA-TF
E.N. Tamatjita -
25
*** Minggu Depan
Latihan… dan Review ***
- 0S
STTA-TF
E.N. Tamatjita -
26