Bab 8: Manajemen Memori. Latar Belakang

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

MANAJEMEN MEMORI SISTEM OPERASI

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

RESUME SISTEM OPERASI MAIN MEMORI

MANAJEMEN MEMORI. Manajemen Memori 1

Memory Management Memori Latar Belakang Alamat Binding

Memory Management. Latar Belakang Swapping Contiguous Allocation Paging Segmentation Segmentation dengan Paging

Praktikum 13. Manajemen Memori 1 ALOKASI MEMORI POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Sistem Operasi Komputer. Pertemuan VIII Manajemen Memori

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

Sistem Operasi. Memory Management. Part 1 of 2

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

Sistem Operasi 8. Memory Management. Antonius Rachmat C, S.Kom, M.Cs

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

IMPLEMENTASI SISTEM PAGING

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

Tujuan Pembelajaran. Memahami pengalamatan dengan menggunakan paging

Understanding Operating Systems Fifth Edition

DASKOM & PEMROGRAMAN. Dani Usman

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

PENGELOLAAN MEMORY AGUS PAMUJI. SISTEM OPERASI - Pengelolaan Memory

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

Hubungan CPU dengan Memory

MANAJEMEN MEMORI. Kelompok : Agung Widiyarto( ) Fahrurrozi( ) Reynaldo( Y)

1/3/2013. Konsep Dasar memori

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

Sistem Operasi Pertemuan 7 Pengelolaan Memory. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ. Trunojoyo

1. MANAJEMEN MEMORI. Gambar 2 Relokasi dinamis menggunakan register relokasi

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

SISTIM OPERASI (Operating System) IKI Memory Management. Memory: Part 2 Ch. 8. Johny Moningka

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

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

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

Fungsi Manajemen Memori

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

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

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

Kelompok 55.1: Nilam Fitriah ( ) Nova Eka Diana ( ) Kritik :

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

Bab 9: Virtual Memory. Latar Belakang

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

Pertemuan #5: Memori dan Memori Virtual

VIRTUAL MEMORY. Gambar 1. Struktur Umum Overlay

Memori dan Virtual Memori

Manajemen Memori (model awal)

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

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

Alamat Logika dan Fisik

Sistem Operasi Komputer

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

Ch t ap 7 er Operating System (OS)

Sistem Operasi. Partisi Statis, Partisi Dinamis Sistem Paging dan Segmentasi. Juliansyahwiran, S. Kom, MTI. Modul ke: Fakultas FASILKOM

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Struktur Sistem Komputer

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

Arsitektur Sistem Komputer. Operasi Sistem Komputer. Struktur Sistem Komputer. Review:

MANAJEMEN MEMORI MAKALAH SISTEM OPERASI

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

Q U I Z 3A - SOLUSI Mngt Memory + Konkurensi 2. By: Endro Ariyanto (END)

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

MANAJEMEN MEMORI PEMARTISIAN STATIS

SISTEM OPERASI ISG2B3 MANAJEMEN MEMORI. Agus Setiawan Program Studi Sistem Informasi Fakultas Rekayasa Industri Telkom University

Manajemen Memori Virtual

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

Keuntungan Virtual Memory

MEMORI VIRTUAL. Kelompok Franky Sadar Baskoro S. Yemima Aprilia

Sistem Operasi. Bahan Kuliah IKI Gabungan Kelompok Kerja IKI Semester Genap 2002/2003

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

Q U I Z 3B - SOLUSI Mngt Memory + Konkurensi 2. By: Endro Ariyanto (END)

BAB IV PENJADWALAN MEMORI MATERI

Struktur Sistem Komputer

Latar Belakang. Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan, harus melalui memori terlebih dahulu.

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

I. Struktur Sistem Operasi

ARSITEKTUR DAN ORGANISASI KOMPUTER

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

Managemen Memori 2016

Sistem Operasi Komputer MANAJEMEN MEMORI

MANAJEMAN MEMORI PEMARTISIAN DINAMIS

Studi Kasus Kernel Linux

Bab 3. Pemberian Halaman

Memori Linux. Anggota Kelompok : Jani RR Siregar Martin Leonard T Y Muhamad Mulki A

Virtual Memory. Sistem Operasi

IKI Sistem Operasi Konsep Page Replacement (Pemindahan Halaman)

Kelompok Pemberian Halaman

Struktur Sistem Komputer

Sistem Operasi. Bahan Kuliah IKI-20230

Sistem Operasi PENGATURAN PROSES

Rahmady Liyantanto liyantanto.wordpress.com

Dukungan Sistem Operasi :

MANAJEMEN MEMORI. Memory manager : Salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.

TUGAS Mata Kuliah : Sistem Terdistribusi

Sistem Operasi. Silabus :

Operasi pada Sistem Operasi. Avida Endriani Reza Gusty Erlangga D3 TEKNIK INFORMATIKA A

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

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

Bab 10. Implementasi Sistem File POKOK BAHASAN: TUJUAN BELAJAR: 10.1 STRUKTUR SISTEM FILE

DEFINISI SISTEM OPERASI

Struktur Sistem Operasi

Process Control Block (PCB) Masing-masing proses Direpresentasikan oleh Sistem Operasi dengan menggunakan Process Control Block (PCB),

Transkripsi:

Bab 8: Manajemen Memori Latar Belakang Swapping Alokasi Berurutan (Contiguous Allocation) Paging Segmentasi Segmentasi dengan Paging 9.1 Latar Belakang Program harus dibawa ke dalam memori dan ditempatkan dalam sebuah proses untuk dijalankan Input queue (antrian input) kumpulan proses pada disk yang menunggu dibawa ke memori untuk menjalankan program Program user melalui beberapa langkah sebelum dijalankan 9.2 1

Pengikatan instruksi dan data ke memori Pengikatan alamat instruksi dan data ke alamat dapat terjadi dalam 3 bentuk yang berbeda Waktu Kompilasi (Compile time): Jika lokasi memori diketahui sebelumnya, kode absolut dapat dibangkitkan; harus kompilasi ulang kode tsb jika terjadi perubahan lokasi awal. Waktu Load (Load time): Harus membangkitkan kode relocatable (relocatable code) jika lokasi memori tidak diketahui pada waktu kompilasi. Waktu Eksekusi (Execution time): Pengikatan alamat ditunda sampai waktu runtime jika prose dapat dipindah selama eksekusi program dari satu segmen memori ke segmen memori lain. Memerlukan dukungan hardware untuk pemetaan alamat (contoh : register base dan limit). 9.3 Langkah Pemrosesan Program User 9.4 2

Loading Dinamis (Dynamic Loading) Rutin tidak di-load sampai dipanggil Utilitas ruang memori yang lebih baik; rutin yang tidakdigunakan tidak pernah di-load. Berguna ketika kode dalam jumlah besar diperlukan untuk menangani kasus yang tidak sering terjadi. Tidak memerlukan dukungan khusus dari sistem operasi yang diimplementasikan dalam desain program. 9.5 Linking Dinamis (Dynamic Linking) Proses linking ditunda sampai waktu eksekusi Merupakan kode dalam bentuk kecil (stub), digunakan untuk meletakkan rutin librari yang residen di memori yang diperlukan. Stub mengubah alamat rutin dan mengeksekusi rutin Sistem operasi melakukan cek apakah rutin sedang memproses alamat memori Linking dinamis terutama berguna untuk library 9.6 3

Overlay Menyimpan hanya instruksi dan data dalam memori hanya yang diperlukan pada waktu tertentu. Diperlukan jika proses lebih besar daripada jumlah alokasi memori untuk proses tersebut. Diimplementasikan oleh user tidak ada dukungan khusus dari sistem operasi, desain sistem dari strukutr overlay sangat komplek. 9.7 Overlay untuk Two-Pass Assembler 9.8 4

Ruang alamat Logika dan Fisik Konsep ruang alamat logika yang membungkus ruang alamat fisik adalah bentuk utama dari manajemen memori. Alamat logika dibangkitkan oleh CPU; juga disebut alamat virtual. Alamat Fisik alamat yang terlihat pada unit memori. Alamat logika dan fisik mempunyai skema yang sama dalam pengikatan alamat pada waktu kompilasi dan waktu load; alamat logika dan fisik mempunyai skema yang berbeda dalam pengikatan alamat pada waktu eksekusi. 9.9 Memory-Management Unit (MMU) Perangkat hardware yang memetakan alamat virtual ke alamat fisik. Dalam skema MMU, nilai dalam register relokasi ditambahkan ke setiap alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori. Program user melihat alamat logika; tidak pernah melihat alamat fisik. 9.10 5

Relokasi Dinamis menggunakan register relokasi 9.11 Swapping Sebuah porses dapat ditukar sementara keluar dari memori ke backing store, dan kemudian dibawa kembali ke memori untuk melanjutkan eksekusi. Backing store disk ukuran cukup besar dan cepat untuk mengakomodasi duplikasi dari semua gambaran memori untuk semua user; harus tersedia akses langsung ke memori tersebut. Roll out, roll in swapping menggunakan algoritma penjadwalan berbasis prioritas; prose dengan prioritas rendah ditukar keluar sehingga proses dengan prioritas tinggi dapat diload dan dieksekusi. Bagian terbesar dari waktu swap adalah waktu transfer; total waktu transfer proporsional dengan jumlah memori yang diswap Versi modifikasi dari swappling ditemukan pada beberapa sistem, misalnya UNIX, Linux dan Windows. 9.12 6

Skema Swapping 9.13 Alokasi Berurutan (Contiguous Allocation) Memori utaa biasanya dibagi menjadi 2 bagian: Sistem operasi yang residen; biasanya diletakkan memori bagian rendah dengan vektor interrupt Program user diletakkan di memori bagian lebih tinggi. Alokasi Single-partition (partisi tunggal) Skema register relokasi digunakan untuk melindungi proses user dari proses user lain, dan dari perubahan kode dan data sistem operasi. Register relokasi berisi nilai dari alamat fisik terkecil; register limit berisi jangkauan alamat logika setiap alamat logika harus lebih kecil daripada register limit. 9.14 7

Dukungan Hardware untuk Register Relokasi dan Register Limit 9.15 Alokasi Berurutan (Contiguous Allocation) lanj Alokasi Multiple-partition (partisi banyak) Hole (lubang) adalah blok dari memori yang tersedia; lubang dengan ukuran berbeda berada di dalam memori. Bila proses datang, akan dialokasikan ke memory pada lubang yang cukup untuk proses. Sistem operasi memelihara informasi tentang: a) partisi yang dialokasikan b) partisi bebas (hole) OS OS OS OS process 5 process 5 process 5 process 5 process 9 process 9 process 8 process 10 process 2 process 2 process 2 process 2 9.16 8

Alokasi Multiple Partition Sebagai ilustrasi, perhatikan contoh berikut : Diasumsikan tersedia memori 2560K dan untuk OS 400K. Sisa 2160K digunakan untuk user proses Diasumsikan terdapat 5 job (P1 s/d P5) terdapat pada input queue. Diasumsikan penjadwalan FCFS digunakan untuk load job ke memori. Penjadwalan CPU secara round-robin (quantum time = 1) untuk penjadwalan job yang sudah terdapat di memori 9.17 Alokasi Multiple Partition (lanj.) 0 400K Operating system 2160K Job queue Proses memory time P1 P2 P3 P4 600K 1000K 300K 700K 10 5 20 8 P5 500K 15 2560K 9.18 9

Alokasi Multiple Partition (lanj.) 0 400K Operating system 0 400K Operating system 0 400K Operating system 0 400K Operating system 0 400K Operating system P1 P1 P1 P5 1000K 1000K 1000K 1000K 900K 1000K 2000K 2300K P2 P3 P2 terminate 2000K 2300K P3 Alokasi P4 1700K 2000K 2300K P4 P3 P1 terminate 2000K 2300K P4 P3 Alokasi P5 2000K 2300K P4 P3 2560K 2560K 2560K 2560K 2560K 9.19 Permasalahan alokasi ruang dinamis Bagaimana memenuhi permintaan ukuran n dari daftar lubang yang bebas First-fit: alokasi lubang pertama yang cukup untuk proses. Best-fit: alokasi lubang terkecil yang cukup untuk proses; harus mencari ke seluruh daftar; berdasarkan urutan ukuran. Menghasilkan lubang sisa yang terkecil. Worst-fit: mengalokasikan lubang terbesar; harus juga mencari ke seluruh daftar. Menghasilkan lubang sisa terbesar. First-fit dan best-fit lebih baik daripada worst-fit dalam hal kecepatan dan utilitas ruang penyimpan. 9.20 10

Fragmentasi Fragmentasi Eksternal ruang alamat memori total yang ada memenuhi permintaan, tetapi letaknya tidak berurutan. Fragmentasi Internal pengalokasian memori mungkin lebih besar daripada memori yang diminta; tetapi sisanya terlalu kecil yang tidak dapat digunakan. Menurunkan fragmentasi eksternal dengan cara pemadatan Memindahkan isi memori dan meletakkan semua memori bebas dalam satu blok besar. Pemadatan mungkin hanya jika relokasi dinamis dan dilakukan pada waktu eksekusi 9.21 Pemadatan Solusi untuk masalah fragmentasi eksternal adalah compaction (pemadatan) Compaction tidak selalu dapat dipakai. Agar proses dapat dieksekusi pada lokasi baru, semua alamat internal harus direlokasi. Jika relokasi statik dan dikerjakan pada load time, compaction tidak dapat dilakukan Compaction mungkin hanya jika relokasi dinamis dan dikerjakan pada execution time. Karena relokasi membutuhkan pemindahan program dan data dan kemudian mengubah register basis (atau relokasi) yang mencerminkan alamat basis baru Terdapat beberapa cara compaction 9.22 11

Pemadatan lanj. 0 400K Operating system 0 400K Operating system P5 P5 900K 1000K 100K 900K P4 P4 2000K 2300K 2560K 300K P3 260K 1600K 1900K 2560K P3 660K Contoh Compaction 9.23 Pemadatan lanj. 0 Operating system 300K P1 500K 600K P2 400K 1000K P3 1200K 300K 1500K P4 1900K 200K 2100K 0 Operating system 0 300K 300K 500K P1 500K 600K P2 600K 800K P3 P4 1000K 1200K 1200K 900K 2100K 2100K Operating system P1 P2 P4 P3 900K 0 Operating system 300K P1 500K 600K P2 900K 1500K P4 1900K P3 2100K Alokasi asal Dipindah 600K Dipindah 400K Dipindah 200K 9.24 12

Paging Ruang alamat logika dari proses dapat tidak berurutan; proses diletakkan di memori fisik jika tersedia Membagi memori fisik ke dalam blok ukuran tetap yang disebut frame (ukurannya adalah pangkat dari 2, antara 512 bytes dan 8192 bytes). Membagi memori logika ke dalam blok ukuran sama yang disebut page. Menyimpan semua frame bebas. Untuk menjalankan sebuah program ukuran n page, perlu menemukan frame bebas sebanyak n dan load program. Set page table (tabel page) untuk menterjemahkan alamat logika ke alamat fisik. Kemungkinan terjadi fragmentasi internal. 9.25 Skema Menterjemahkan Alamat Alamat yang dibangkitkan oleh CPU terdiri dari: Page number (p) digunakan sebagai indeks dalam page table yang berisi alamat base dari setiap page dalam memori fisik. Page offset (d) dikombinasikan dengan alamat base untuk menentukan alamat fisik yang dikirim ke unit memori. 9.26 13

Arsitektur Penterjemah Alamat 9.27 Contoh Paging 9.28 14

Contoh Paging 9.29 Frame Bebas Sebelum alokasi Setelah alokasi 9.30 15

Implementasi Page Table Page table disimpan dalam memori utama. Page-table base register (PTBR) menunjuk ke page table. Page-table length register (PRLR) merupakan ukuran page table. Pada skema ini, setiap akses data/instruksi membutuhkan dua kali akses memori. Satu untuk mengakses page table dan satu untuk mengakses data/instruksi. Permasalahan akses kedua memori dapat dipecahkan dengan menggunakan fast-lookup hardware cache khusus yang disebut associative memory or translation look-aside buffers (TLBs) 9.31 Associative Memory Associative memory pencarian paralel Page # Frame # Terjemahan alamat (A, A ) Jika A berada dalam associative register, dapatkan frame # Jika tidak, dapatkan frame # dari page table dalam memori 9.32 16

Paging Hardware dengan TLB 9.33 Effective Access Time Pencarian pada Associative register = unit waktu Diasumsikan waktu akses memori adalah 1 microsecond Hit ratio persentasi waktu sebuah nomor page ditemukan dalam associative registers; rasio berhubungan dengan jumlah associative register. Hit ratio = Effective Access Time (EAT) EAT = (1 + ) + (2 + )(1 ) = 2 + 9.34 17

Proteksi Memori Proteksi memori diimplementasikan dengan proteksi bit untuk setiap frame. Bit Valid-invalid diberikan untuk setiap masukan dalam page table: valid mengindikasikan bahwa page terhubung dalam alamat memori logika dan merupakan page yang legal. invalid mengindikasikan bahwa page tidak berada di ruang alamat logika. 9.35 Bit Valid (v) atau invalid (i) Bit dalam Page Table 9.36 18

Contoh Two-Level Paging Alamat logika (pada mesin 32-bit dengan ukuran page 4K) dibagi ke dalam: Sebuah page number ukuran 0 bit. Sebuah page offset ukuran12 bit. Ketika page table dilakukan page, page number lebih lanjut dibagi dalam : Sebuah page number 10-bit. Sebuah page offset 10-bit. Sehingga alamat logika menjadi: page number p i p 2 d page offset 10 10 12 dimana p i adalah indek ke outer page table, dan p 2 adalah displacement dalam page dari outer page table. 9.37 Skema Two-Level Page-Table 9.38 19

Skema Penterjemah Alamat Skema Penterjemah alamat untuk arsitektur two-level paging 32-bit 9.39 Shared Page Shared code Satu copy dari kode read-only yang digunaka bersamasama diantara beberapa proses (seperti text editors, compilers, window systems). stems) Shared code harus muncul pada lokasi yang sama dalam ruang alamat logika untuk semua proses. Private code dan data Setiap proses menyimpan copy dari kode dan data yang terpisah Page dari private code dan data dapat muncul dimanapun dalam ruang alamat logika. 9.40 20

Contoh Shared Page 9.41 Segmentasi Skema manajemen memori yang memperlihatkan memori dari sisi pandangan user. Sebuah program adalah kumpulan segmen. Sebuat segmen adalah unit logika seperti : main program, procedure, function, method, object, local variables, global variables, common block, stack, symbol table, arrays 9.42 21

Pandangan user terhadap Program 9.43 Segmentasi secara Logika 1 1 4 2 3 4 2 3 Ruang User Ruang alamat Fisik 9.44 22

Arsitektur Segmentasi Alamat logika terdiri dari dua bagian: <segment-number, offset>, Segment table memetakan alamat fisik 2 dimensi; setiap tabel mempunyai: base terdiri dari alamat fisik awal dimana segmen berada di memori. limit menentukan panjang segmen. Segment-table base register (STBR) menunjuk ke lokasi segment table dalam memori. Segment-table length register (STLR) merupakan nomor segmen yang digunakan oleh ; nomor segmen s adalah legal jika s < STLR. 9.45 Arsitektur Segmentasi (lanj) Relokasi. Dinamis Oleh segmen table Sharing. Membagi segment bersama-sama Nomor segment sama Alokasi. first fit/best fit Fragmentasi eksternal 9.46 23

Arsitektur Segmentasi (lanj) Proteksi. Dalam setiap masukan ke segment table dihubungkan dengan: Bit validasi= 0 segmen ilegal Mode akses read/write/execute Bit proteksi dihubungkan dengan segmen; kode yang digunakan bersama-sama terjadi pada level segmen Karena segmen mempunyai ukuran yang bervariasi, alokasi memori adalah permasalahan alokasi penyimpanan dinamis 9.47 Hardware Segmentasi 9.48 24

Contoh Segmentasi 9.49 Sharing Segmen 9.50 25

Segmentasi dengan Paging MULTICS Sistem MULTICS memecahkan permasalahan fragmentasi eksternal dan pada saat pencarian dengan paging pada segmen Solusi berbeda dengan segmentasi asli, di dalam segment-table, masukan tidak terdiri dari alamat base dari segmen, tetapi alamat base dari page table untuk segmen tersebut. 9.51 Skema Penterjeman Alamat pada MULTICS 9.52 26

Segmentasi dengan Paging Intel 386 Sebagaimana ditunjukkan pada diagram berikut, Intel 386 menggunakan segmentasi dalam paging untuk manajemen memori dengan skema two-level paging 9.53 Penterjeman Alamat pada Intel 30386 9.54 27