BAB IV PENJADWALAN MEMORI MATERI

dokumen-dokumen yang mirip
BAB V VIRTUAL MEMORY. Tujuan: 1. Menggetahui penggunaan virtual memori dalam komputer 2. Mengetahui peran virtual memori dalam sistem operasi

VIRTUAL MEMORY. Gambar 1. Struktur Umum Overlay

IKI Sistem Operasi Konsep Page Replacement (Pemindahan Halaman)

Manajemen Memori Virtual

1. Memori manajer 2. Manajemen memori dengan swapping dan paging

Alamat Logika dan Fisik

MANAJEMEN MEMORI SISTEM OPERASI

Understanding Operating Systems Fifth Edition

Alokasi Ruang Swap Pada Disk

Operating System: An Overview. Ch. 8: Virtual Memory. Page Replacement Algorithms. Chapter Objectives. Agenda. Page Replacement Algorithms

MANAJEMEN MEMORI. Manajemen Memori 1

Bab 8. Memori Virtual POKOK BAHASAN: TUJUAN BELAJAR: 8.1 LATAR BELAKANG

MANAJEMEN MEMORI VIRTUAL

ALGORITMA PAGE REPLACEMENT

Operating System. Manajemen Memori. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Bab 9: Virtual Memory. Latar Belakang

RESUME SISTEM OPERASI MAIN MEMORI

Bab 8: Manajemen Memori. Latar Belakang

Virtual Memory. Latar Belakang Demand Paging Pembuatan Proses Page Replacement Alokasi Frame Thrashing Contoh Sistem Operasi

1. Istilah-istilah dalam penjadwalan proses

1. Address Binding. Sebuah program ditempatkan dalam disk dalam bentuk berkas biner Sebelum dieksekusi, sebuah program harus ditempatkan di memori.

Sistem Operasi 9. Virtual Memory. Antonius Rachmat C, S.Kom, M.Cs

Algoritma Pergantian Halaman

Manajemen Memori (P ( ertemuan ke ert -12) Oktober 2014

Segmentasi dan Paging Pada Intel Pentium. Heri Kurniawan OS-Genap 2007/2008

Tujuan Pembelajaran. Memahami pengalamatan dengan menggunakan paging

Pengelolaan Memori Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed

3. Apa kekurangan paging sederhana dibandingkan dengan paging pada virtual memory?

Konsep dasar memori virtual

segmentasi dan kombinasi paging-segmentasi Kelompok Rujianto : Arif Setiawan : Muslikan :

Virtual Memory Ch. 9. Virtual Memory. SISTIM OPERASI (Operating System) IKI Johny Moningka

Case Study Pengalokasian Memory

Keuntungan Virtual Memory

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

SMK MUHAMMADIYAH 4 JAKARTA TEKNIK KOMPUTER DAN JARINGAN SISTEM OPERASI MENEJEMEN MEMORI

Virtual Memory. Latar Belakang. Latar Belakang (cont.) Virtual Memori

Sistem Operasi Komputer

Pertemuan #5: Memori dan Memori Virtual

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER

DASKOM & PEMROGRAMAN. Dani Usman

Manajemen Memori. Latar Belakang Ruang Alamat Logika dan Ruang Alamat Fisik Swapping Alokasi berurutan Paging Segmentasi Segmentasi dengan Paging

Bab 3. Pemberian Halaman

Metode Akses File. Akses File Berurutan

Proses Menagemen Memori

Hubungan CPU dengan Memory

Sus Pokok Bahasan dan Sasaran Belajar

1. Helga Hiwy 2. Erni Gombo 3. Imelda Florensia 4. Claudio Wayong 5. Vedra Simbala. Published By Stefanikha69

Sistem Operasi Komputer. Pertemuan VIII Manajemen Memori

membagi-bagi memori untuk mengakomodasi banyak proses menjamin agar setiap proses yang ready dapat segera memanfaatkan processor

3/30/2016. Manajemen Memori. Manajemen Memori. Manajemen memori pada sistem Monoprogramming Manajemen memori pada sistem Multiprogramming

Sinkronisasi dan Deadlock Sistem Operasi

MEMORI VIRTUAL. Sistem Operasi TIKB1023 Munengsih Sari Bunga. Politeknik Indramayu. TIKB1023/Sistem Operasi/MSB 1

Rahmady Liyantanto liyantanto.wordpress.com

Memori Virtual (Virtual Memory) Heri Kurniawan OS-Genap 2007/2008

Latar Belakang Ruang Alamat Logika dan Ruang Alamat Fisik Swapping Alokasi berurutan Paging Segmentasi Segmentasi dengan Paging

PENGELOLAAN MEMORY AGUS PAMUJI. SISTEM OPERASI - Pengelolaan Memory

VIRTUAL MEMORI. Gambar 1 Memori virtual lebih besar ukurannya dari memori fisik

Virtual Memory. Sistem Operasi

Tidak bisa dynamic loading Memori virtual perl r u lebih besar disharing

Mempercepat kerja memori sehingga mendekati kecepatan prosesor. Memori utama lebih besar kapasitasnya namun lambat operasinya, sedangkan cache memori

Sistem Operasi AGUS PAMUJI. Teknik Informatika

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi

1/3/2013. Konsep Dasar memori

CACHE MEMORI (BAGIAN 3)

Memory Management. Memory Ch. 8. Latar Belakang. Main-Memory Management

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Kontrak Kuliah. Sistem Operasi

Algoritma Pergantian Page (Page Replacement) Heri Kurniawan OS-Gasal 2009/2010

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM OPERASI (TK) KODE / SKS KK /4

Ch t ap 7 er Operating System (OS)

Meningkatkan Kinerja Memori Multiprogramming Dengan Memanfaatkan Sistem Paging

SILABUS JURUSAN MANAJEMEN - PROGRAM STUDI D3 MANAJEMEN INFORMATIKA DIREKTORAT DIPLOMA TEKNOLOGI INFORMASI UNIVERSITAS GUNADARMA

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Cache Memori (bagian 3)

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

DCH1B3 Konfigurasi Perangkat Keras Komputer

Arsitektur Komputer. Pertemuan - 1. Oleh : Riyanto Sigit, S.T, M.Kom Nur Rosyid Mubtada i S.Kom Setiawardhana, S.T Hero Yudo Martono, S.

Pertemuan #1: Pengenalan Sistem Operasi

Struktur Sistem Komputer

Cache Memori (bagian 1)

KONSEP DASAR IMPLEMENTASI SISTEM FILE

Memori pada Sistem Linux. Heri Kurniawan OS-Gasal 2009/2010

Organisasi Sistem Komputer. Virtual Memory. Sekolah Teknik Elektro dan Informatika ITB

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

Memori Virtual. Program membutuhkan kapasitas yang lebih besar dari kapasitas memori fisik gunakan Virtual Memory! Virtual memory

A. Deskripsi Singkat. B. Tujuan Instruksional Umum (TIU) C. Bahasan. SILABUS MATA KULIAH Kode MK: Semester: Bobot SKS: 3. Matakuliah : SISTEM OPERASI

Pertemuan Ke-10 Cache Memory

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi. System Calls dan Thread

memuat banyak proses dalam suatu waktu Sebelum masuk ke memori, suatu proses harus menunggu dalam antrian

Bab 5. Memori Virtual

Konsep Dasar Sistem Komputer

Pertemuan ke 5 BAB IV Sintesis Rangkaian Sekuensial (2) Deskripsi Manfaat Relevansi Learning Outcome Materi I. Rangkaian Memori Terbatas RAM dinamik

KONTRAK PERKULIAHAN MATA KULIAH KOM311 SISTEM OPERASI

Fungsi Manajemen Memori

Alokasi Memori. Kelompok Rakhmat Adhi Pratama X 2. Akhda Afif Rasyidi Muhamad Ilyas

slide - Manajemen Proses, meliputi : konsep proses, metode penjadualan proses, komunikasi antar proses, sinkronisasi proses dan deadlock.

Tujuan Pembelajaran. Memahami proses swapping Memahami proses alokasi memori berurutan (Contiguous Memori Allocation)

STRATEGI ALOKASI FRAME

Bab 19. Solusi Critical Section

Struktur Sistem Komputer

Bab 13. Konsep Penjadwalan

Transkripsi:

BAB IV PENJADWALAN MEMORI MATERI 1. Virtual Memori 2. Algortima Penggantian Page 3. Isu Desain Sitem Paging 4. Segmentasi STANDAR KOMPETENSI Mengetahui tentang penjadwalan memori dan segmentasi CAPAIAN PEMBELAJARAN 1. Mahasiswa mengetahui tentang virtual memori 2. Mahasiswa mengerti tentang Algortima Penggantian Page 3. Mahasiswa mengetahui Isu Desain Sitem Paging 4. Mahasiswa mengerti tentang Segmentasi 1. Virtual Memori Overlay : Program dipecah menjadi bagian-bagian yang dapat dimuat memori, jika memori terlalu kecil untuk menampung seluruhnya sekaligus. Overlay disimpan pada disk dan di-keluar-masukkan dari dan ke memori oleh sistem operasi. Pembagian dilakukan oleh programmer. SISTEM OPERASI 64

Sistem Operasi Bagian Kode dan data pemakai yang harus selalu tinggal di memori utama selama eksekusi program Daerah Overlay 1 2 3 Fase Fase Fase Inisialisasi Pemrosesan Keluaran Struktur Umum Overlay o Paging CPU card CPU MMU CPU mengirim alamat virtual ke MMU MEMORI DISK CONTROL LER BUS MMU mengirim alamat fisik ke memori Posisi dan fungsi MMU Alamat 0 4 K 4 K 8 K 8 K 12 K 12 K 16 K 16 K 20 K 20 K 24 K 24 K 28 K 28 K 32 K 32 K 36 K 36 K 40 K 40 K 44 K 44 K 48 K 48 K 52 K 52 K 56 K 56 K 60 K 60 K 64 K 2 1 6 0 4 3 X X X 5 X 7 X X X X Mem Virtual Memori 0 4 K 4 K 8 K 8 K 12 K 12 K 16 K 16 K 20 K 20 K 24 K 24 K 28 K 28 K 32 K Page fra Relasi Antara Alamat Virtual dan Alamat Fisik SISTEM OPERASI 65

Virtual memory (Memori maya) : sistem operasi menyimpan bagian-bagian proses yang sedang digunakan di memori utama dan sisanya di disk. Virtual memory dapat diimplementasikan dengan tiga cara, yaitu: Paging Segmentasi Kombinasi paging dan segmentasi Sistem paging mengimplementasikan ruang alamat besar pada memori kecil menggunakan index register, base register, segment register, dll. Istilah pada sistem paging: - Alamat virtual = V; Alamat yg dihasilkan dgn perhitungan menggunakan index register, base register, segment reg dsb. - Alamat nyata (real address = R); Alamat yang tesedia di memori utama fisik. - Page; Unit terkecil virtual address space. - Page frame; Unit terkecil memori fisik. - Page fault; Permintaan alokasi page ke memori yang belum dipetakan. - MMU (Memory Management Unit); Chip atau kumpulan chip yang memetakan alamat maya ke alamat fisik. o Tabel Page Alamat virtual dibagi menjadi dua bagian: - Nomer Page (bit-bit awal) - Offset (bit-bit akhir) Secara metematis: tabel page merupakan fungsi dgn nomer page sebagai argumen dan nomer frame sebagai hasil. SISTEM OPERASI 66

0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 Nomer page = 2 Offset 12 bit dicopy persis dari input ke output Tabel Page 0 010 1 Present/absent bit 1 001 1 2 110 1 110 3 000 1 4 100 1 5 011 1 6 000 0 7 000 0 8 000 0 9 101 1 10 000 0 11 111 1 12 000 0 13 000 0 14 000 0 15 000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 Cara Kerja Pemetaan oleh MMU Nomer Page Offset Tabel Page Nomer Frame Offset SISTEM OPERASI 67

o Memori Asosiatif Tabel Page biasanya diletakkan di memori, dengan demikian diperlukan dua kali referensi ke memori : sekali untuk mencari page, dan sekali untuk mencari data yang akan diproses. Solusi: Komputer dilengkapi dengan komponen hardware kecil untuk pemetaan alamat virtual ke alamat fisik tanpa menelusuri seluruh tabel page. Komponen ini disebut memori asosiatif atau translation lookaside buffer, yang biasanya berada di dalam MMU, dan berisi beberapa entri. Valid entry No. page Modified Protecti on 1 140 1 RW 31 1 20 0 R X 38 1 130 1 RW 29 1 129 1 RW 62 1 19 0 R X 50 1 21 0 R X 45 1 860 1 RW 14 1 861 1 RW 75 Memori asosiatif untuk mempercepat paging No. frame Bagian referensi memori yang dapat dipenuhi dari memori asosiatif disebbut hit ratio. Makin tinggi hit ratio, makin baik performance manajemen memori khususnya, dan komputer umumnya. 2. Algoritma Penggantian Page Saat terjadi fault berarti harus diputuskan page frame yang harus diganti. SISTEM OPERASI 68

o Algoritma penggantian page acak: Page yg dikeluarkan untuk memberi tempat ke yang baru ditentukan secara acak tanpa kriteria tertentu. o Algoritma penggantian page optimal: Setiap page diberi label untuk menandai berapa instruksi lagi baru dia digunakan. Page dengan label tertinggi (waktu dari sekarang sampai pemakaian berikutnya paling lama) yang akan dikeluarkan. Algoritma Penggantian Page Optimal String Pengacuan 2 3 2 1 5 2 4 5 3 2 5 2 2 2 2 2 2 2 4 4 4 2 2 2 3 3 3 3 3 3 3 3 3 3 3 1 5 5 5 5 5 5 5 5 Fault F F F F F F 6 Fault o Algoritma penggantian page NRU (not recently used): Setiap page diberi status bit R (referenced) dan M (modified). Bit bernilai 0 jika page belum direferensi/dimodifikasi, dan 1 jika sebaliknya. Dari nilai desimalnya didapat 4 kelas: R M Kelas Keterangan 0 0 0 not referenced, not modified 0 1 1 not referenced, modified 1 0 2 referenced, not modified 1 1 3 referenced, modified Page dengan kelas terkecillah yang akan dikeluarkan Algoritma Penggantian Page FIFO String Pengacuan 2 3 2 1 5 2 4 5 3 2 5 2 2 2 2 2 2 2 4 4 4 2 2 2 3 3 3 3 3 3 3 3 3 3 3 1 5 5 5 5 5 5 5 5 Fault F F F F F F F F 8 Fault SISTEM OPERASI 69

o Algoritma penggantian page FIFO (First In First Out): Page yang paling dulu masuk ke memori dari semua page yang ada dikeluarkan. Anomali pada FIFO (Belady s Anomaly) String Pengacuan 0 1 2 3 0 1 4 0 1 2 3 4 Page Termuda 0 1 2 3 0 1 4 4 4 2 3 3 0 1 2 3 0 1 1 1 4 2 2 Page Tertua 0 1 2 3 0 0 0 1 4 4 Fault F F F F F F F F 9 Fault (a) String 0 1 2 3 0 1 4 0 1 2 3 4 Pengacuan Page Termuda 0 1 2 3 3 3 4 0 1 2 3 4 0 1 2 2 2 3 4 0 1 2 3 0 1 1 1 2 3 4 0 1 2 Page Tertua 0 0 0 1 2 3 4 0 1 Fault F F F F F F F F 10 Fault (b) o Algoritma penggantian page Modifikasi FIFO (Second Chance): Mencari page yang berada di memori paling lama, tetapi juga tidak dipakai. Jika sebuah page dipakai (direferensi) bit R diset. Jika sistem menemukan bahwa bit R page yang paling lama ter-set, page tersebut tidak jadi dikeluarkan, tetapi bit R-nya di-reset. Waktu load 0 3 7 8 12 14 15 18 A B C D E F G H Page yang di-load pertama kali Page yang terakhir di-load. (a) Page dalam urutan FIFO SISTEM OPERASI 70

Waktu load 3 7 8 12 14 15 18 20 B C D E F G H A A dianggap sebagai page yang baru di-load. (b) Daftar page setelah page fault pada waktu 20 dan bit R page A dalam keadaan set. Pada algoritma ini, daftar page bisa juga dibuat berbentuk jam (clock page replacement algorithm) Algoritma penggantian page clock String Pengacuan 2 3 2 1 5 2 4 5 3 2 5 2 > 2 2 2 >2* 2* 2* 2* >2* >2 >2* >2* >2* > 3 3 3 5 5 5 5* 5 5 5* 5* > > 1 >1 >1 4 4 3 3 3 3 Fault F F F F F F 6 Fault Keterangan : * adalah diacu dan > adalah ditunjuk pointer o Algoritma penggantian page LRU (Least Recently Used): Yang dikeluarkan ialah page yang sudah tidak terpakai dalam waktu paling lama. Algoritma Penggantian Page LRU String 2 3 2 1 5 2 4 5 3 2 5 2 Pengacuan 2 2 2 2 2 2 4 4 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 1 1 1 4 4 4 2 2 2 Fault F F F F F F F 7 Fault SISTEM OPERASI 71

3. Isu Desain Sistem Paging Model Working Set o Dalam bentuk paging murni, proses dimulai dengan memori kosong, dan page-page dimasukkan ke dalamnya setelah diminta. Cara ini disebut demand paging. o Locality of reference: Kecenderungan proses untuk memakai satu set page yang sama selama beberapa saat. o Satu set page tersebut di atas membentuk working set. Dalam hal ini, yang diusahakan oleh sistem operasi adalah agar working set berada utuh di memori pada saat eksekusinya. o Jika ukuran memori terlalu kecil untuk working set, akan seringkali terjadi page fault. Hal ini disebut thrashing. o Banyak sistem paging yang mengusahakan agar working set sudah ada di memori sebelum proses dimulai. Pendekatan ini disebut model working set. Tujuannya adalah untuk memperkecil jumlah terjadinya page fault (page yang diminta tidak ada di memori). o Memasukkan page ke memori sebelum proses dimulai juga disebut prepaging. o Untuk pertama kali menentukan working set, dipakai sistem aging untuk mengetahui berapa kali jumlah pemakaian setiap page. Alokasi Global dan Lokal o Pada sistem timesharing, isi memori bisa seperti pada Gambar a. o Misalkan diminta page A6. Jika dikeluarkan A5 untuk memberi tempat ke A6, berarti dilakukan alokasi lokal. Bila yang dikeluarkan adalah B3, dilakukan alokasi global. SISTEM OPERASI 72

o Algoritma lokal berhubungan dengan pemberian jumlah frame yang sama untuk setiap proses, sementara algoritma global secara dinamis mengalokasikan frame untuk proses yang berjalan. Age A0 10 A0 A0 A1 7 A1 A1 A2 5 A2 A2 A3 4 A3 A3 A4 6 A4 A4 A5 3 A5 -> A6 A5 B0 9 B0 B0 B1 4 B1 B1 B2 6 B2 B2 B3 2 B3 B3 -> A6 B4 5 B4 B4 B5 6 B5 B5 B6 12 B6 B6 C1 3 C1 C1 C2 5 C2 C2 C3 6 C3 C3 (a) (b) (c) Penggantian page global vs. lokal. (a) Konfigurasi awal. (b) Penggantian page lokal. (c) Penggantian page global. Ukuran Page o Ukuran page merupakan salah satu parameter yang ditentukan oleh perancang sistem operasi. o Penentuan ukuran page yang optimum harus menyeimbangkan beberapa faktor. o Rata-rata, page terakhir hanya akan terisi setengah (fragmentasi internal), berarti page sebaiknya kecil. Tetapi page yang kecil akan menghasilkan tabel page yang panjang. o s (byte) = ukuran proses rata-rata o p (byte) = ukuran page o e (byte) = ukuran setiap page entry SISTEM OPERASI 73

o s/p = perkiraan jumlah page yang dibutuhkan per-proses o se/p (byte) = ruang untuk tabel page o p/2 = memori yang terbuang karena fragmentasi o overhead = memori yang terpakai untuk tabel page dan fragmen internal. overhead = se/p + p/2 o Ukuran tabel page besar jika ukuran page kecil. Fragmen internal besar jika ukuranb page besar. Optimum harus ada di antaranya. Dengan mengambil penurunan pertama terhadap p dan menyemakan dengan nol: -se/p 2 + ½ = 0 o Dari persamaan ini, ukuran page optimum adalah: p = (2se) o Sebagian besar komputer komersial menggunakan ukuran page antara 512 byte 8K. Isu Implementasi o Instruction backup Instruksi yang menyebabkan referensi ke page yang belum ada di memori (menyebabkan page fault) harus diulang ketika page tersebut telah tersedia. Beberapa sistem operasi meng-copy setiap instruksi sebelum dilaksanakan sehingga hal ini tidakmakan waktu terlalu lama. o Locking pages in memory Pada saat satu proses menjalani tahap I/O, proses lain bisa dijalankan. Yang mungkin terjadi ialah page proses I/O tersebut digantikan oleh proses yang kedua ini (jika dipakai alokasi global). Jalan keluarnya ialah dengan me-lock page-page proses I/O. o Shared pages Dua atau lebih proses bisa memakai bersama page-page yang berasal dari editor yang mereka pakai. Penutupan salah satu proses ini tanpa disengaja bisa mengosongkan juga page yang dipakai bersama tersebut. SISTEM OPERASI 74

Diperlukan suatu struktur data khusus untuk memantau page-page yang dipakai bersama ini. o Backing Store Pada disk, disediakan area untuk menampung page yang dikeluarkan dari memori (paged out) yang disebut swap area. Setiap proses memiliki swap area di disk. Swap area ada yang statis ada juga yang dinamis. o Paging Daemon Untuk meyakinkan tersedianya frame bebas yang cukup banyak, banyak sistem paging yang menggunakan proses background yang disebut paging daemon. Jika jumlah frame bebas terlalu sedikit, paging daemon akan mengosongkan beberapa page setelah menulisnya ke disk jika pernah dimodifikasi. o Penanganan Page Fault Urutan langkah-langkah penanganan adalah sebagai berikut: o Hardware melakukan trap ke kernel, program counter di-save ke stack. Pada banyak mesin, beberapa informasi tentang status instruksi saat itu di-save di register-register khusus CPU. o Rutin kode assembly dimulai untuk men-save register-register umum dan informasi lain yang bisa berubah, agar sistem operasi tidak merusaknya. Rutin ini memanggil sistem operasi sebagai suatu prosedur. o Sistem operasi menemukan bahwa terjadi page fault, dan mencoba menemukan page virtual mana yang diperlukan. Seringkali salah satu register hardware berisi informasi ini. Jika tidak, sistem operasi harus menarik program counter, mengambil instruksi, dan melakukan parsing pada software untuk mengetahui apa yang dilakukan sebelum terjadi fault. o Begitu alamat virtual yang menyebabkan fault diketahui, sistem operasi memeriksa apakah alamat ini valid dan proteksinya konsisten dengan SISTEM OPERASI 75

akses. Jika tidak, proses dikirimi sinyal atau ditutup. Jika alamat valid dan tidak ada pelanggaran proteksi, sistem berusaha untuk mendapatkan frame page dari daftar frame bebas. Jika tidak ada frame yang bebas, dijalankan algoritma penggantian page untuk mencari yang bisa ditukar. o Jika frame page yang dipilih telah dimodifikasi, page dijadwalkan untuk ditransfer ke disk, dan terjadi pertukaran proses, menghentikan sementara proses yang fault dan membiarkan yang lainnya berjalan hingga transfer disk selesai. Frame ditandai terpakai untuk mencegah dipakai untuk tujuan lain. o Begitu frame page bersih (apakah langsung atau setelah disave ke disk), sistem operasi menelusuri alamat disk di mana page diperlukan, dan menjadwalkan operasi disk untuk memasukkannya. Sementara page dimasukkan, proses yang mengalami fault dihentikan sejenak dan yang lainnya dijalankan, jika ada. o Ketika disk interrrupt menandai bahwa page telah ada, tabel page diupdate untuk menunjukkan posisinya, dan frame ditandai berada dalam status normal. o Instruksi yang menyebabkan fault di-back-up ke status mulainya dan program counter di-reset untuk menunjuk ke instruksi tersebut. o Proses yang fault tersebut dijadwalkan, dan sistem operasi kembali ke rutin bahasa assembly yang memanggilnya. o Rutin ini mengembalikan register dan informasi lainnya ke keadaan semula, dan kembali ke user untuk melanjutkan eksekusi, seakan-akan tidak ada fault yang terjadi. 4. Segmentasi Compiler bisa memiliki beberapa tabel dengan alamat virtual yang terpisah, misalnya terdiri dari tabel-tabel untuk: Source text, SISTEM OPERASI 76

Tabel simbol, Tabel untuk semua konstanta integer dan floating point, Parse tree, berisi analisis sintaksis program, dan Stack yang digunakan untuk pemanggilan prosedur. Tabel 1 s/d 4 bisa bertambah pada saat kompilasi berjalan, sehingga dengan sistem paging yang berukuran tetap, batas satu page bisa terlampaui. Dengan alasan ini dipakai bagian-bagian dengan alamat yang relatif independen, yang disebut segmen. Setiap segmen mempunyai ukuran yang berbeda dengan yang lain. Panjang segmen juga bisa berubah selama eksekusi. Program harus menyediakan alamat yang terdiri dari dua bagian: - nomer segmen - alamat di dalam segmen Segmentasi juga memberikan fasilitas pemakaian bersama prosedur atau data antar beberapa proses. Contoh umumnya adalah shared library. Memori yang tersegmentasi memungkinkan setiap tabel bertambah atau berkurang. Pertimbangan Paging Segmentasi Apakah programmer harus Tidak Ya menyadari bahwa teknik ini sedang digunakan? Berapa banyak ruang alamat linier 1 Banyak yang ada? Dapatkah ruang alamat total Ya Ya melebihi ukuran memori fisik? Apakah tabel yang ukurannya Tidak Ya berubah-ubah dapat diakomodasi? Dapatkan prosedur dan data dibedakan dan diproteksi secara terpisah? Tidak Ya SISTEM OPERASI 77

Adakah fasilitas pemakaian bersama prosedur antar user? Mengapa teknik ini diciptakan? Tidak Untuk mendapatkan ruang alamat linier yang besar tanpa harus membeli memori fisik tambahan Perbandingan paging dan segmentasi. Ya Untuk memungkinkan program dan data dibagi menjadi ruang alamat yang secara logik independen dan untuk membantu pemakaian bersama dan proteksi Segmen Segmen Segmen Segmen Segmen 0 1 2 3 4 0 0 0 Konstanta 0 0 4K 4K 4K 4K Source Parse Call text tree stack 8K 8K 8K 8K Tabel simbol 12K 12K 12K 12K 16K 16K 20K Checkerboarding: Timbulnya blok-blok memori yang kosong (hole) pada saat isi segmen dikeluarkan. Hal ini diatasi dengan pemampatan (compaction). Segmentasi dengan Paging : Setiap segmen dapat dianggap sebagai satu virtual memori, dan masing-masing dibagi menjadi page-page. Salah satu mesin yang memakai cara ini adalah MULTICS. Setiap program MULTICS memiliki satu tabel segmen, dengan satu descriptor per segmen. Segmen descriptor berisi keterangan apakah segmen yang bersangkutan ada di memori atau tidak. SISTEM OPERASI 78

Segmen descriptor Tabel page untuk segmen 0 36 bit Page 0 entry Descriptor segmen 0 Page 1 entry Pointer- Descriptor segmen 1 Page 2 entry pointer Descriptor segmen 2 Page 3 entry ke page Descriptor segmen 3 Descriptor segmen 4 Descriptor segmen 5 Tabel page untuk segmen 1 Descriptor segmen 6 Descriptor segmen 7 Page 0 entry Page 1 entry Page 2 entry Page 3 entry Page 4 entry Page 5 entry Virtual address MULTICS 34-bit: Alamat di dalam segmen Nomer segmen Nomer page Offset di dalam page 18 6 10 Nomer segmen Nomer page Offset di dalam page Descriptor Nomer segmen Page frame Nomer page Offset Segmen descriptor Tabel page Word Page Konversi alamat MULTICS menjadi alamat memori utama. SISTEM OPERASI 79

CONTOH SOAL 1. Pada sistem paging alamat logika terdiri dari 2 bagian, yaitu : 1) Nomer page p : Digunakan sebagai indeks untuk page table yang berisi alamat awal f untuk setiap page pada memori. 2) Offset page d : offset page ditambahkan pada alamat awal untuk menghasilkan alamat memori sebenarnya. 2. Apabila diketahui page table sebagai berikut : Dengan asumsi bahwa program membutuhkan page secara berurutan dari 0 sampai n, dimanakah letak alamat fisik dari alamat logika 50, 121, dan 380 1 page = 64 byte. Menurut page table diatas page 0 akan dipetakan ke frame 8, maka alamat logika 0 akan dipetakan ke alamat fisik (8 * 64) + 0 = 512. Keadaan memori logika dapat digambarkan sebagai berikut : Dari gambar tersebut dapat dilihat bahwa : alamat logika 50 berada di page 0, offset 50 sehingga alamat fisiknya (8 * 64) + 50 = 562 alamat logika 121 berada di page 1,offset 57 sehingga alamat fisiknya (2 * 64) + 57 = 185 alamat logika 380 berada di page 5,offset 60 sehingga alamat fisiknya (1 * 64) + 60 = 124 SISTEM OPERASI 80

Keterangan : alamat offset diperoleh dari nilai absolut alamat logika yang ditentukan dikurangi dengan alamat logika awal dari page yang diketahui. Contoh : jika alamat logika 380 berarti alamat offsetnya adalah absolut(380 320) = 60 EVALUASI 1. Jelaskan apa yang dimaksud dengan virtual memori 2. Sebutkan fungsi dari manajemen memori tiga cara implementasi memori, berikan contohnya 3. Jelaskan kenapa perlu ada mekanisme pergantian page, dan apa saja keuntungannya 4. Sebutkan macam-macam algoritma penggantian page, berikan contohnya 5. Sebutkan isu apa saja yang terjadi pada desain sistem paging, berikan contohnya 6. Sebutkan tabel apa saja yang bisa dimiliki oleh sebuah Compiler, berikan contohnya DAFTAR PUSTAKA : Harvey M Deitel dan Paul J Deitel. 2005. Java How To Program. Sixth Edition. Prentice Hall. Bambang Hariyanto. 1997. Sistem Operasi. Buku Teks Ilmu Komputer. Edisi Kedua. Informatika. Bandung. John L Hennessy dan David A Patterson. 2002. Computer Architecture. A Quantitative Approach. Third Edition. Morgan Kaufman. San Francisco. Randall Hyde. 2003. The Art of Assembly Language. First Edition. No Strach Press. SISTEM OPERASI 81

Kenneth H Rosen. 1999. Discrete Mathematics and Its Application. McGraw Hill. Ronald L Krutz dan Russell D Vines. 2001. The CISSP Prep Guide Mastering the Ten Domains of Computer Security. John Wiley & Sons. Sri Kusumadewi. 2000. Sistem Operasi. Edisi Dua. Graha Ilmu. Yogyakarta. Robert Love. 2005. Linux Kernel Development. Second Edition. Novell Press. Larry L Peterson dan Bruce S Davie. 2000. Computer Networks A Systems Approach. Second Edition. Morgan Kaufmann. Riri Fitri Sari dan Yansen. 2005. Sistem Operasi Modern. Edisi Pertama. Andi. Yogyakarta. Betha Sidik. 2004. Unix dan Linux. Informatika. Bandung. Abraham Silberschatz, Peter Galvin, dan Greg Gagne. 2002. Applied Operating Systems. Sixth Edition. John Wiley & Sons. Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley & Sons. William Stallings. 2001. Operating Systems: Internal and Design Principles. Fourth Edition. Edisi Keempat. Prentice-Hall International. New Jersey. Andrew S Tanenbaum dan Albert S Woodhull. 1997. Operating Systems Design and Implementation. Second Edition. Prentice-Hall. Andrew S Tanenbaum. 2001. Modern Operating Systems. Second Edition. Prentice-Hall. SISTEM OPERASI 82