MEMORI
description
Transcript of MEMORI
MEMORI
INTRODUCTION
Memori adalah pusat data berkumpul sebelum atau sesudah di eksekusi oleh CPU
CPU mengambil instruksi dari memori (ex instruksi simpan ke memori, penambahan data yang ada di memori, dll)
Memori harus dapat digunakan dengan baik, sehingga dapat memuat banyak pekerjaan dalam satu waktu
Tugas Sistem Operasi adalah mengatur peletakan banyak proses pada suatu memori
INTRODUCTION
Biasanya sebuah program ditempatkan dalam disk dalam bentuk file biner yang dapat dieksekusi.
Sebelum dieksekusi sebuah program harus ditempatkan di memori terlebih dahulu. Kumpulan proses yang ada pada disk harus menunggu dalam antrian (input queue) sebelum dibawa ke memori dan dieksekusi.
Prosedur penempatan yang biasa adalah dengan memilih salah satu proses yang ada di input queue, kemudian proses tersebut ditempatkan ke memori.
Sebelum dieksekusi, program akan melalui beberapa tahap dimana pada setiap tahap alamat sebuah program akan direpresentasikan dalam cara yang berbeda.
INTRODUCTION
Alamat di dalam sebuah sumber program biasanya dalam bentuk simbol-simbol.
Sebuah compiler akan memetakan simbol-simbol ini ke alamat relokasi.
Linkage Editor akan memetakan alamat relokasi ini menjadi alamat absolut.
Binding adalah pemetaan dari satu ruang alamat ke alamat yang lain.
BINDING INSTRUKSI
Compile time: Jika kita tahu dimana proses akan ditempatkan di
memori pada saat mengkompilasi, maka kode yang absolut dapat dibuat. Kita harus meng-compile ulang kode jika lokasi berubah.
Load time: Kita harus membuat kode relokasi jika pada saat
mengkompilasi kita tidak tahu proses akan ditempatkan dimana pada memori. Pada kasus ini, binding harus ditunda sampai load time.
Execution time: Binding harus ditunda sampai waktu proses berjalan
selesai jika pada saat dieksekusi proses dapat dipindah dari satu segmen ke segmen yang lain di dalam memori.
MULTISTEP PROSES
DYNAMIC LOADING
Sebuah Routine(program kecil) tidak akan di panggil jika tidak diperlukan.
Routine tersebut disimpan di dalam disk yang mudah untuk di pindah2 lokasinya
Sehingga memori tidak penuh oleh Routine yang tidak perlu
DYNAMIC LINKING
Metode penghubungan antara program dengan suatu sistem library secara dinamis
Cara kerjanya yaitu membuat kode tertentu disebut “STUB”
Setiap program yang memerlukan Routine akan memanggil STUB.
Ketika STUB di eksekusi maka STUB akan melihat apakah Routine sudah di load di memori.
Jika belum ada rutin maka akan meload rutin ke memori atau STUB akan menggantikan dirinya dengan alamat dari rutin, lalu mengeksekusinya.
OVERLAYS
OVERLAYS
Caranya yaitu menambahkan Overlays driver. Overlays ini berfungsi untuk transisi intruksi
Untuk menempatkan semuanya sekaligus, kita akan membutuhkan 200K memori. Jika hanya 150K yang tersedia, kita tidak dapat menjalankan proses.
Perhatikan bahwa pass1 dan pass2 tidak harus berada di memori pada saat yang sama.
Kita mendefinisikan dua buah overlays. Overlays A untuk pass1, tabel simbol dan rutin,
overlays B untuk pass2, tabel simbol dan rutin. Lalu kita buat sebuah overlay driver(10 Kb) sebagai jembatan antara kedua overlays tersebut.
OVERLAYS
Pertama-tama kita mulai dengan meload overlays A ke memori. Setelah dieksekusi, kemudian pindah ke overlay driver, meload overlays B ke dalam memori, menimpa overlays A, dan mengirim kontrol ke pass2. Overlays A hanya butuh 120 Kb, dan overlays B membutuhkan 150 Kb memori.
Nah, sekarang kita dapat menjalankan program dengan memori 150 Kb (karena kita menjalankannya secara bergantian). Seperti dalam pemanggilan dinamis, overlays tidak membutuhkan bantuan dari sistem operasi. Implementasi dapat dilakukan sepenuhnya oleh user, oleh karenanya programmer harus merancang overlays tersebut dengan algoritma yang tepat.
ALAMAT
Alamat Virtual Adalah alamat yang dibentuk oleh CPU
Alamat Fisik Adalah alamat memori nyata
Contoh Jika Base memori pada alamat 14000 maka
alamat virtual ke 0 adalah pada alamat fisik 14000, jika alamat virtual nya 346 maka alamat fisiknya 14346
Konversi ini di kerjakan oleh MMU( Memory Management Unit)
MMU
Alokasi memori yang menggunakan metode penukaran.
Proses yang akan di gantikan di simpan ke backing store(Hard Disk)
SWAPPING
CONTIGUOUS ALOCCATION
Alokasi memori yang di bagi-bagi ke dalam bagian kecil Single Partition Multiple Partition
SINGLE PARTITION
MULTIPLE PARTITION
Alokasi memori yang menggunakan banyak partisi. Ex:
PEMILIHAN HOLE MULTIPLE PARTITION
First Fit Memilih hole pertama yang cukup untuk diisi.
Best Fit Memilih hole terkecil yang cukup.
Worst Fit Memilih hole terbesar yang cukup.
EXTERNAL & INTERNAL FRAGMENTATION
Alokasi memori yang melakukan compaction.
SEKIAN