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

dokumen-dokumen yang mirip
Sistem Operasi. Memory Management. Part 1 of 2

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

Bab 8: Manajemen Memori. Latar Belakang

MANAJEMEN MEMORI. Manajemen Memori 1

MANAJEMEN MEMORI SISTEM OPERASI

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

Sistem Operasi Komputer. Pertemuan VIII Manajemen Memori

RESUME SISTEM OPERASI MAIN MEMORI

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

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

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

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

DASKOM & PEMROGRAMAN. Dani Usman

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

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

Hubungan CPU dengan Memory

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

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

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

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

Memory Management Memori Latar Belakang Alamat Binding

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

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

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

Understanding Operating Systems Fifth Edition

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

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

1/3/2013. Konsep Dasar memori

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

Keuntungan Virtual Memory

Sistem Operasi Komputer

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

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

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

Ch t ap 7 er Operating System (OS)

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

Managemen Memori 2016

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

Pertemuan #5: Memori dan Memori Virtual

Dukungan Sistem Operasi :

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

Fungsi Manajemen Memori

Virtual Memory. Sistem Operasi

Alamat Logika dan Fisik

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

VIRTUAL MEMORY. Gambar 1. Struktur Umum Overlay

MANAJEMEN MEMORI MAKALAH SISTEM OPERASI

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

ARSITEKTUR DAN ORGANISASI KOMPUTER

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

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

PENGELOLAAN MEMORY AGUS PAMUJI. SISTEM OPERASI - Pengelolaan Memory

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

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

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

Tujuan Pembelajaran. Memahami pengalamatan dengan menggunakan paging

Manajemen Memori (model awal)

Review: Memory & File System

KONSEP MULTIPROGRAMMING

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

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

SEGMENTATION. Dania Tigarani Soraya Desiana Nurul Maftuhah. Kelompok Manajemen Memory: Copyright

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

Memori dan Virtual Memori

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

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

Sistem Operasi Komputer MANAJEMEN MEMORI

Studi Kasus Kernel Linux

Rahmady Liyantanto liyantanto.wordpress.com

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

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

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

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

Struktur Sistem Komputer

Bab 9: Virtual Memory. Latar Belakang

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

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

IMPLEMENTASI SISTEM PAGING

ARSITEKTUR DAN ORGANISASI KOMPUTER Aditya Wikan Mahastama

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

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

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

Review: Memory & File System

MANAJEMAN MEMORI PEMARTISIAN DINAMIS

Struktur Sistem Komputer

Manajemen Memori Virtual

MANAJEMEN MEMORI PEMARTISIAN STATIS

SISTEM OPERASI Makalah Tentang Virtual Memory

DEFINISI SISTEM OPERASI

Hanif Fakhrurroja, MT

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

SOLUSI QUIZ 2 SISOP CS3613

MEMORI VIRTUAL. Kelompok Franky Sadar Baskoro S. Yemima Aprilia

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

Konsep dasar memori virtual

Sistem Operasi AGUS PAMUJI. Teknik Informatika

MEMORI. Gambar 1. Hirarki Memori

Sistem Operasi PENGATURAN PROSES

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Sistem Operasi. Bahan Kuliah IKI-20230

Transkripsi:

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

Manajemen Memori Memori adalah salah satu pusat kegiatan pada sebuah komputer, karena setiap proses yang eksekusi, harus berada memori terlebih dahulu. Sistem Operasi bertugas untuk mengatur penggunaan memori untuk banyak proses Memori harus digunakan dengan baik, sehingga dapat memuat banyak proses dalam suatu waktu Sebelum masuk ke memori, suatu proses harus menunggu dalam antrian Antrian ini disebut Input Queue (Long term scheduler)

Tujuan Manajemen Memory Meningkatkan utilitas CPU Data dan instruksi dapat diakses lebih cepat oleh CPU Ingat: Memori kapasitasnya terbatas, jadi harus efisien

Isitilah dalam Manajemen Memori Main memory dan registers adalah satu-satunya storage yang dapat diakses secara langsung oleh CPU Registers mengakses dalam satu CPU clock (atau kurang) Pengaksesan Main memory lama dari register Cache berada diantara main memory dan CPU registers Protection: diperlukan untuk menjamin operasi-operasi memory sesuai dan tepat Relokasi: mengkonversi alamat logika program ke alamat fisik memori Sharing: bagian dari memori logika dapat dipakai bersama-sama

Address Binding Adalah pemetaan alamat suatu variabel program ke alamat memory tertentu, yg dapat terjadi pada saat: Compile Time: pada saat program di-compile, menggunakan absolute code. Biasanya terjadi pada pemrosesan bahasa assembly (.asm) Biasanya terjadi pada pemrosesan bahasa assembly (.asm) Load Time: pada saat program dipanggil / load, menggunakan relocatable code. Variable2 nya berada pada suatu stack yg sudah dipesan sebelumnya dengan pasti (statis) Menghasilkan object code -.obj Execution Time: pada saat program dijalankan. Binding akan ditunda sampai run time. Kode dapat dipindah antar segment dan page pada memory. Misal:.exe dan.dll

Multistep Processing of a User Program

Proteksi Memory Proteksi memori dapat berarti melindungi data Sistem Operasi dari proses yang sedang dijalankan oleh pengguna komputer, atau melindungi data suatu proses dari proses lainnya.

Base and Limit Registers untuk proteksi memory A pair of base andlimit registers define the logical address space

Logical & Phisycal Address Alamat Logika adalah alamat yg dibentuk di CPU, disebut juga alamat virtual. Alamat fisik adalah alamat yang terlihat pada memori fisik Untuk mengubah dari alamat logika ke alamat fisik diperlukan suatu perangkat keras yang bernama MMU (Memory Management Unit). Pengubahan dari alamat logika ke alamat fisik adalah pusat kegiatan manajemen memori. Logical & physical addresses sama pada compiletime & load-time Logical & physical addresses beda pada execution-time

Memory-Management Management Unit (MMU) Hardware yang memetakan alamat virtual ke alamat physical Pada MMU scheme, nilai dalam relocation register ditambahkan ke setiap address yg di generate oleh sebuah process pada saat dia dikirim ke memory fisik User program deals with logical addresses Tidak akan melihat real physical addresses

Dynamic relocation using a relocation register

physical address protection with base and limit registers

Dynamic Loading Memanggil routine yang diperlukan saja pada memory (on load-time) Routine yang tidak diperlukan, tidak akan dipanggil. Tidak memerlukan bantuan sistem operasi Better memory-space utilization Because unused routine is never loaded Sangat berguna jika menangani banyak kode yg jarang diakses Ketika pemanggilan terjadi, rutin pemanggil akan memeriksa di memory, apakah rutin yg dibutuhkan itu sudah ada atau belum, jika belum, dipanggil dan dialokasi ke memory Contoh: array dinamis dan imports / include library

Static Linking Menghubungkan seluruh routine yang ada pada program ke dalam suatu ruang alamat di memory (on run-time) Dilakukan oleh linker Setiap program memiliki salinan/copy dari seluruh rutin dan data yg dibutuhkan. Biasanya digabungkan dgn executable file Contoh: EXE Delphi dan C/C++ Kelebihan: library pasti ada dan versinya pasti benar, mudah pendistribusian file Kekurangan: ukuran file besar

Dynamic Linking Menghubungkan semua rutin yang ada scr dinamis. Tidak membuang-buang tempat di disk dan memori Kumpulan fungsi yang ada dapat digunakan bersama-sama. Membutuhkan bantuan sistem operasi Operating system dibutuhkan untuk memeriksa apakah routine itu ada dalam processes memory address Linking dilaksanakan pada execution time Sekumpulan kode kecil yg disebut stub, digunakan untuk mencari memory-resident library routine yang tepat Stub akan mengganti dirinya sendiri dengan address dari routine, dan kemudian mengeksekusi routine Dynamic linking digunakan untuk file libraries System also known as shared libraries (.dll) Kelebihan: ukuran file kecil, irit, dipakai bersama Kekurangan: jika DLL hilang, perbedaan versi

Overlays Suatu metode untuk menjalankan suatu proses yang membutuhkan memori lebih besar dari yang tersedia Karena keterbatasan memory Caranya: Data dan instruksi yang diperlukan dimasukkan langsung ke memori utama. Routine-nya dimasukkan ke memori secara bergantian. (dibagi-bagi / dipecah2). Bagian pendukung lain dimasukkan ke memory sekunder Memerlukan algoritma tambahan untuk melakukan overlays Tidak memerlukan bantuan dari sistem operasi. Sulit untuk dilakukan karena menggunakan teknik khusus Menjadi tanggung jawab programmer Sekarang teknik ini sudah digantikan oleh Virtual Memory

Contoh overlays

Swapping Sebuah proses dapat di-swap sementara keluar memori ke sebuah penyimpanan cadangan (backing store) untuk kemudian dikembalikan lagi ke memori. Roll out, roll in adalah penjadualan swapping berbasis pada prioritas proses berprioritas rendah di-swap keluar memori agar proses berprioritas tinggi dapat masuk dan dijalankan di memori Backing store fast disk large enough to accommodate copies of all memory images for all users Sering disebut Virtual Memory file

Swapping & Semantic View Swapping butuh waktu transfer Misal file 1MB, kecepatan transfer hdd 5MB/s Waktu yg dibutuhkan: 1000 kb / 5000 KBps = 1/5 detik = 200 ms Total transfer time berbading lurus dengan jumlah memory yg diswap

Contiguous Memory Allocation Main memory dibagi menjadi 2: Resident operating system, menggunakan lokasi di low memory User processes, menggunakan lokasi di high memory Contiguous Memory Allocation: alamat memori diberikan kepada proses secara berurutan dari kecil ke besar Keuntungan contiguous daripada Noncontiguous: sederhana, cepat, mendukung proteksi memori. Kerugian contiguous daripada non-contiguous: jika tidak semua proses dialokasikan di waktu yang sama, akan sangat tidak efektif dan mempercepat habisnya memori

Contiguous Memory Allocation Jenis partisi: Partisi tunggal: alamat pertama memory yang dialokasikan untuk suatu proses adalah alamat setelah alamat yang dialokasikan untuk proses sebelumnya. Partisi banyak: adalah dimana Sistem Operasi menyimpan informasi tentang semua bagian memori yang tersedia untuk digunakan (disebut hole).

Contiguous Allocation Multiple-partition allocation Hole block of available memory; When a process arrives, it is allocated memory from a hole large enough to accommodate it Operating system maintains information about: a) allocated partitions b) free partitions (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

Contiguous Allocation Ada 2 cara pengaturan partisi pada sistem partisi banyak: Partisi tetap adalah apabila memori dipartisi menjadi blok-blok yang ukurannya ditentukan dari awal Terbagi lagi atas partisi tetap berukuran sama, dan partisi tetap berukuran berbeda. Partisi dinamis adalah memori dipartisi menjadi bagian-bagian dengan jumlah dan besar yang tidak tentu

Algoritma Pengalokasian Memory pada partisi dinamis First fit : Mengalokasikan hole pertama yang besarnya mencukupi. Pencarian dimulai dari awal. Best fit : Mengalokasikan hole terkecil yang besarnya mencukupi (tepat). Next fit : Mengalokasikan hole pertama yang besarnya mencukupi. Pencarian dimulai dari akhir pencarian sebelumnya. Worst fit : Mengalokasikan hole terbesar yang tersedia.

Contoh

Fragmentasi Fragmentasi adalah munculnya holehole yang tidak cukup besar untuk menampung permintaan dari proses. Fragmentasi Eksternal: apabila fragmen berupa hole yang berukuran kecil dan tidak berurutan Disebabkan karena partisi dinamis Fragmentasi Internal: apabila terdapat di dalam blok memori yang sudah dialokasikan secara statis

Mengatasi Fragmentasi Eksternal Compactation, yaitu mengatur kembali isi memori agar memori yang kosong diletakkan bersama di suatu bagian yang besar. Compactation hanya dapat dilakukan apabila relokasi bersifat dinamis dan pengalamatan dilakukan pada saat runtime. Solusi lain untuk fragmentasi eksternal adalah paging dansegmentasi. Partisi fixed berukuran berbeda lebih baik dalam meminimalisasi fragmentasi internal daripada partisi fixed berukuran sama.

Paging (Penghalamanan) Suatu metode yang memungkinkan suatu alamat memori fisik tidak berurutan letaknya. Memori logic dibagi menjadi blok-blok yang ukurannya tetap yang dinamakan page Memori fisik dibagi juga menjadi blok-blok yang ukurannya tetap yang dinamakan frame. Lalu kita membuat suatu page table yang akan menterjemahkan memori virtual menjadi memori fisik.

Page Alamat yang dihasilkan oleh CPU (memori logic) akan dibagi menjadi 2 yaitu: Page Number (p) & Page Offset(d): Page number akan menjadi indeks dari page table yang mengandung base address dari setiap alamat di memori fisik. Page Offset akan digabung dengan base address untuk mendefinisikan alamat fisik memory yg sebenarnya.

Frame Alamat fisik dibentuk dengan menggabungkan nomor frame (f) dengan offset (d). Alamat memori fisik akan dibagi menjadi nomor-nomor frame (f) yang nantinya akan dicocokkan sesuai dengan page table. Kebutuhan frame akan sama dengan kebutuhan page

Paging Concept

Page Table Sebuah rangkaian array dari entries yang mempunyai indeks berupa nomor page (p). Setiap masukan terdiri dari bit valid/invalid dan nomor page (p).

Valid (v) or Invalid (i) Bit In A Page Table

Paging Model of Logical & Physical Memory

Paging Example 32-byte memory and 4-byte pages

Free Frames Before allocation After allocation

Shared Pages Shared code 1 copy dari read-only code yg disharing diantara processes (i.e., text editors, compilers, window systems). Shared code harus berada dalam lokasi yg sama dalam logical address space untuk seluruh processes Private code and data Setiap process memiliki copy terpisah dari code dan data Halaman untuk private code dan data dapat muncul dimanapun (tidak hrs sama letaknya) dalam logical address space

Shared Pages Example

Keuntungan dan Kerugian Paging Jika kita membuat ukuran dari masingmasing page besar: Keuntungan: akses memori akan relatif lebih cepat. Kerugian: kemungkinan terjadinya fragmentasi internal yang sangat besar. Jika kita membuat ukuran dari masingmasing pages kecil: Keuntungan: kemungkinan terjadinya fragmentasi internal akan menjadi lebih kecil. Kerugian: akses memori akan relatif lebih lambat.

Segmentasi Salah satu cara untuk mengatur memori dengan menggunakan segmen. Program dibagi menjadi beberapa segmen. Segmen = kumpulan logical unit. Ukuran tiap segmen tidak harus sama. Dapat diletakkan di mana saja ( di main memory, setelah program dimasukkan ke memori ). Tabel Segmen => menentukan lokasi segmen. Alamat logis-nya dua dimensi, terdiri dari : panjang segmen (limit) dan alamat awal segmen berada (base).

User s View of a Program

Logical View of Segmentation 1 1 4 2 3 4 2 3 user space physical memory space

Segmentation Algorithm

Example of Segmentation

NEXT Virtual Memory Management