Kamis, 25 Desember 2014

Loading & Linking

Loader vs Linker vs Compiler
*Loader
*Bagian dari sistem operasi yang bertugas untuk memasukkan program ke dalam memori
*Linker
*Aplikasi yang bertugas menghubungkan beberapa object file untuk menjadi satu file executable (exe,dll,dsb)
*Compiler
*Menerjemahkan bahasa pemrograman menjadi bahasa komputer
*Contoh proses yang membutuhkan linker :

*pthread


Pengalamatan ketika Loading

*Absolute Loading
*Module yang akan dimasukkan harus selalu terletak pada lokasi yang sama di memori
*Relocatable Loading
*Module dapat dipindahkan, tergantung dari area yang kosong di mana
*Dynamic run-time Loading
*Module dapat dimasukkan ketika program yang membutuhkan sudah berjalan


Masalah

*Bagaimana jika program terlalu besar dan tidak ada tempat cukup di memori?
*Bagaimana jika ruang kosong di memori hanya cukup menampung sebagian saja dari process image?

Virtual Memory

*Virtual memori :
*Metode alokasi yang membuat secondary memory seolah-olah menjadi bagian dari main memory
*Tidak semua bagian dari proses harus berada pada main memory
*Virtual address :
*Alamat pada virtual memory
*Resident set :
*Bagian dari proses yang berada di main memory


Paging dan Segmentation di Virtual Memory












*Virtual Memory Policies

Operating System Policies for Virtual Memory


*Fetch Policy
*Menentukan kapan sebuah page seharusnya dibawa ke main memory
*Placement Policy
*Menentukan di bagian mana sebuah page akan diletakkan pada main memory
*Replacement Policy
*Menentukan page mana di memori yang seharusnya digantikan
*Resident Set Management
*Menentukan berapa banyak page yang dibawa ke main memory

*Cleaning Policy

Fetch Policy

*Ada 2 jenis, yaitu :
*Demand Paging
*Page hanya dibawa ke main memory jika dibutuhkan
*Prepaging
*Page selain yang dibutuhkan juga ikut dibawa ke main memory
*Kelebihan :
*Bisa menghemat waktu, karena pembacaan disk tidak sering
*Kelemahan :
*Jika page lain yang dibawa jarang digunakan
*!= Swapping
*(Suspended)


Placement Policy

*Paging
*Langsung saja, tergantung frame yang kosong
*Segmentation
*Best Fit
*First Fit

*Next Fit


Replacement Policy
*Contoh urutan pengaksesan page :
*2 3 2 1 5 2 4 5 3 2 5 2
*Optimal
*Page yang waktu dibutuhkan kembali masih lama akan diganti




*Masalah :
*Bagaimana memprediksi urutan pengaksesan page?

*Least Recently Used
*Page yang paling jarang digunakan dalam waktu lama
*Masalah :

*Bagaimana menghitung jumlah pengaksesan untuk setiap page?

*First In First Out
*Metode paling sederhana
*Page yang akan diganti adalah page yang pertama berada di main memory
*Masalah :
*Performa buruk
*Sering terjadi page fault


*Clock Policy
*Setiap page yang masuk ke main memory akan memiliki nilai untuk bit used = 1
*Ada pointer yang bertugas 'mengelilingi' clock
*Setiap kali pointer bergerak :
*Bila bit used pada page berikutnya sama dengan 1
*Reset jadi 0, dan lanjut ke page berikutnya
*Bila bit used pada page berikutnya sama dengan 0
*Ganti page tersebut dengan yang ada di secondary.


Resident Set Management
*Berdasarkan ukuran page yang harus berada di main memory
*Fixed Allocation
*Setiap proses memiliki jatah frame di memory
*Jatah frame ditentukan di awal
*Variable Allocation
*Jumlah frame untuk setiap proses bebas ditentukan kapanpun dan dapat berubah

*Berdasarkan Ruang Lingkup :
*Local replacement policy
*Pemilihan page yang akan diganti hanya melihat pada proses yang bersangkutan saja
*Global replacement policy
*Pemilihan page yang akan diganti dapat diambil dari  area manapun di memori


Cleaning Policy
*Cleaning Policy :
*Menentukan kapan sebuah page harus dikeluarkan dari main memory menuju secondary memory
*Ada 2 jenis :
*Demand cleaning
*Page hanya berpindah ke secondary memory ketika dia digantikan oleh page yang lain
*Precleaning
*Memindah page-page pada suatu proses secara bersama-sama
*Menghemat waktu penulisan ke harddisk


Linux Virtual Memory
*Virtual Memory Addressing
*Menggunakan 3-level page table
*Page Replacement Algorithm
*Clock Policy & LRU
*Bit used digantikan dengan 8-bit age variable




0 komentar:

Posting Komentar