Sistem Paging

36
1 SISTEM PAGING STMIK ASIA Malang Jaenal Arifin, S.Kom, MM

Transcript of Sistem Paging

Page 1: Sistem Paging

1

SISTEM PAGING

STMIK ASIA MalangJaenal Arifin, S.Kom, MM

Page 2: Sistem Paging

2

Memori Maya

• Program yg dimuat harus dimuat di memori utama, masalah akan muncul ketika program lebih besar daripada memori utama yg tersedia

• Terdapat 2 solusi untuk mengatasi masalah ini :

1. Overlay2. Memori Maya (Virtual Memory)

Page 3: Sistem Paging

3

Konsep Overlay

• Program dipecah menjadi bagian-bagian yang dapat dimuat memori, disebut overlay

• Overlay yang belum diperlukan (tidak sedang dieksekusi) disimpan di dalam disk, overlay ini dimuatkan ke memori begitu diperlukan (kode di overlay akan di eksekusi)

Page 4: Sistem Paging

4

• Pertukaran overlay masuk dan keluar memori dilakukan oleh SO, sedangkan pembagian program menjadi overlay-overlay dilakukan pemrograman.

• Pembagian program menjadi potongan2 kecil dan modular sangat menghabiskan waktu

• Teknik overlay sudah ditinggalkan karena teknik memori maya telah diimplementasikan dengan murah dan berkinerja bagus

Page 5: Sistem Paging

5

Konsep OverlaySISTEM

OPERASIBagian kode dan

data pemakai yang harus selalu tinggal di memori

utama selama eksekusi program

Daerah Overlay123

Fase Inisialisasi

Fase Pemrosesan

Fase Keluaran

Page 6: Sistem Paging

6

Konsep Memori Maya

• Memori maya adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia

• Konsep ini pertama kali dikemukakan oleh Fotheringham pada tahun 1961 untuk sistem komputer Atlas di Universitas Manchester, Inggris

Page 7: Sistem Paging

7

• Gagasan memori maya adalah ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang tersedia.

• Sistem operasi menyimpan bagian2 proses yang sedang digunakan di memori utama dan sisanya di disk.

• Begitu bagian di disk diperlukan, maka bagian di memori yang tidak diperlukan disingkirkan diganti bagian di disk yang diperlukan itu

Konsep Memori Maya

Page 8: Sistem Paging

8

Konsep Memori Maya

Penggunaan• Program 10mb dapat berjalan di

mesin 2mb, yaitu memilih proses sebesar 2mb secara hati-hati dan ditempatkan di memori. Bagian-bagian proses di swap antara disk dan memori saat diperlukan secara otomatis oleh sistem operasi.

Page 9: Sistem Paging

9

Page 10: Sistem Paging

10

Memori maya dan Multiprogramming

• Memori maya dapat dilakukan pada sistem multiprograming

• Memori maya meningkatkan efesiensi multiprogramming, kedua konsep tsb saling melengkapi.

• Saat proses menunggu bagiannya di-swap masuk ke memori, menunggu selesainya operasi masukan/keluaran dan proses di blocked. Jatah layanan pemroses dapat diberikan ke proses2 lain

Page 11: Sistem Paging

11

• Memori maya tidak mengubah kode program. Kecepatan eksekusi melambat karena dipengaruhi waktu tunda pengambilan bagian2 proses di memori sekunder saat proses berjalan

• Kecepatan maksimum eksekusi proses di memori maya dapat sama, tapi tidak pernah melampaui kecepatan eksekusi proses yg sama di sistem tanpa memori maya.

Page 12: Sistem Paging

12

• Sebagaimana dikatakan di atas bahwa hanya sebagian dari program yang diletakkan di memori fisik. Hal ini memberikan keuntungan:

1. Berkurangnya proses I/O yang dibutuhkan (lalu lintas I/O menjadi rendah). Misalnya untuk program butuh membaca dari disk dan memasukkan dalam memori setiap kali diakses.

2. Ruang menjadi lebih leluasa karena berkurangnya memori fisik yang digunakan. Contoh, untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori fisik. Pesan-pesan error hanya dimasukkan jika terjadi error.

Page 13: Sistem Paging

13

3. Meningkatnya respon, karena menurunnya beban I/O dan memori.

4. Bertambahnya jumlah pengguna yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan dari pengguna.

• Memori maya dapat dilakukan dengan tiga cara :

1. Paging2. Segmentasi3. Kombinasi paging dan

segmentasi

Page 14: Sistem Paging

14

Sistem Paging • Deskripsi Sistem Paging

mengimplementasikan ruang alamat besar pada memori kecil menggunakan index register, base register, dan segment register. Pemakai seolah-olah mempunyai ruang memori yg sangat besar tanpa mengelola overlay.

Page 15: Sistem Paging

15

• Beberapa istilah pada sistem paging adalah :

1. Alamat maya (virtual address)2. Alamat nyata (Real address)3. Page4. Page frame5. Page fault6. MMU

Page 16: Sistem Paging

16

Alamat Maya • Alamat maya (virtual address)• Alamat maya adalah alamat yang

dihasilkan perhitungan menggunakan index register, base register, dan segment register dan lainnya

• Ruang alamat yang dibentuk alamat maya disebut ruang alamat maya (virtual address space)

• Jumlah alamat disimbolkan dengan |V|

Page 17: Sistem Paging

17

Alamat Nyata • Alamat nyata adalah alamat di

memori utama fisik.• Ruang alamat yang dibentuk

alamat nyata disebut ruang alamat nyata (real address space)

• Jumlah alamat disimbolkan dengan |R|

Page 18: Sistem Paging

18

• Meskipun pengacuan proses dilakukan berdasar alamat maya, proses sesungguhnya berjalan dimemori nyata.

• Alamat maya harus dipetakan menjadi alamat nyata saat proses di eksekusi.

• Pemetaan harus dilakukan dengan sangat cepat atau kinerja sistem komputer akan menurun drastis.

• Sistem komputer akan menerjemah-kan alamat maya menjadi alamat fisik. Bagian yang bertugas untuk memetakan adalah MMU.

Page 19: Sistem Paging

19

• Page adalah unit terkecil virtual address space

• Ruang alamat maya proses merupakan kelipatan page yang berukuran sama.

• Page frame adalah unit terkecil memori fisik.

• Memori fisik secara konseptual dibagi menjadi sejumlah unit berukuran tetap yang disebut page frame.

• Page frame sering juga disingkat frame

Page 20: Sistem Paging

20

• Page fault adalah exception untuk permintan alokasi ‘page’ ke memori, dalam konteks memori maya page fault sering juga disingkat fault

Memori maya Memori nyata

Hub. Antara alamat maya & alamat nyata

Page 21: Sistem Paging

21

MMU (Memory Management Unit)• Chip atau kumpulan chip yg

memetakan alamat maya ke alamat fisik .

• Pada komputer tanpa memori maya, alamat langsung diletakkan ke bus dan menyebabkan word memori fisik alamat itu dibaca atau ditulis.

• Pada komputer dgn memori maya, alamat tidak diletakkan ke bus secara langsung, tetapi lewat MMU yg kemudian memetakan alamat maya ke alamat memori fisik.

• Pada pemroses modern, MMU sudah menyatu di pemroses (on-chip)

Page 22: Sistem Paging

22

Pemroses

MMU

MEMORIPENGENDALI

DISK

Pemrosesmengirimalamat mayake MMU

MMU mengirim alamatfisik ke memori

Gambar posisi dan fungsi MMU

BUS

Page 23: Sistem Paging

23

• Memori fisik berisi sejumlah page frame yang memuat sebagian page-page proses. Terdapat mekanisme translasi (penerjemah-an) alamat (dilakukan MMU) untuk memetakan page virtual ke alamat fisik.

• Karena masing-masing page dipetakan secara terpisah, frame-frame proses tidak perlu menempati memori fisik berurutan.

• Sistem memori virtual mempunyai properti alamat-alamat kontigu (berturutan) pada ruang alamat virtual tidak harus kontigu di memori nyata.

• Properti ini disebut kontigu semu (artificial contiguity).

Page 24: Sistem Paging

24

Konsep kontigu semu

Page 25: Sistem Paging

25

• Pemakai dibebaskan berurusan dengan letak prosedur dan data diposisikan di memori nyata.

• Pemrograman dapat menulis program seperti biasa, yaitu memperhatikan efisiensi algoritma dan struktur program, mengabaikan rincian struktur perangkat keras.

• Dengan sistem virtual, memori dapat dipandang sebagai kontigu yang berukuran besar.

Page 26: Sistem Paging

26

Skema Pemetaan• Pada komputer dengan memori

virtual, alamat tidak diletakkan ke bus secara langsung tapi dilewatkan ke MMU yang memetakan alamat virtual ke alamat memori fisik.

Page 27: Sistem Paging

27

Relasi antara alamat maya dan alamat fisik

Page 28: Sistem Paging

28

• Misalnya instruksi:• MOV REG, 0×08• Alamat maya 8 dikirim ke MMU• MMU mengetahui alamat 8 di page 0

(page 0 memuat alamat maya 0-4095)• Dari tabel, page 0 dipetakan ke frame 7

(page 7 adalah alamat fisik 28672-32768)

• MMU mentransformasikan alamat 8 sebagai (28672 + 8 = 28680)

• MMU mengeluarkan alamat 28680 ke bus

• Papan memori tidak perlu mengetahui MMU, hanya bertanggung jawab untuk memenuhi permintaan membaca atau menulis alamat 28680.

Page 29: Sistem Paging

29

Algoritma Pergantian Halaman• Saat terjadi page fault berarti harus

diputuskan page frame di memori fisik yg harus diganti

• Kinerja sistem akan baik jika page yg diganti dipilih yang tidak akan digunakan di masa datang

• Jika page yg diganti akan kembali digunakan, maka page akan dikembalikan secepatnya yg berarti terjadi page fault berulang kali.

Page 30: Sistem Paging

30

Algoritma FIFO

• Prinsip yang digunakan dalam algoritma FIFO yaitu halaman yang diganti adalah halaman yang paling lama berada di memori.

• Algoritma ini adalah algoritma pemindahan halaman yang paling mudah diimplementasikan, akan tetapi paling jarang digunakan dalam bentuk aslinya, biasanya dikombinasikan dengan algoritma lain.

Page 31: Sistem Paging

31

Contoh algoritma FIFO

Page 32: Sistem Paging

32

• Kelemahan dari algoritma FIFO adalah kinerjanya yang tidak selalu baik. Hal ini disebabkan karena ada kemungkinan halaman yang baru saja keluar dari memori ternyata dibutuhkan kembali.

• Di samping itu dalam beberapa kasus, tingkat kesalahan halaman justru bertambah seiring dengan meningkatnya jumlah frame, yang dikenal dengan nama anomali Belady.

Page 33: Sistem Paging

33

Algoritma Optimal

• Algoritma optimal pada prinsipnya akan mengganti halaman yang tidak akan digunakan untuk jangka waktu yang paling lama.

• Meski pun tampaknya mudah untuk dijelaskan, tetapi algoritma ini sulit atau hampir tidak mungkin untuk diimplementasikan karena sistem operasi harus dapat mengetahui halaman-halaman mana saja yang akan diakses berikutnya, padahal sistem operasi tidak dapat mengetahui halaman yang muncul di waktu yang akan datang.

Page 34: Sistem Paging

34

Page 35: Sistem Paging

35

Algoritma Least Recently Used (LRU)

• Algoritma LRU akan mengganti halaman yang telah tidak digunakan dalam jangka waktu terlama.

• Pertimbangannya yaitu berdasarkan observasi bahwa halaman yang telah sering diakses kemungkinan besar akan diakses kembali.

Page 36: Sistem Paging

36