Friday, November 16, 2012

PENERAPAN MELIHAT INPUT/OUTPUT MEMORY



Konsep-konsep Dasar Memori
Memori sebagai tempat penyimpanan instruksi/ data dari program. Memori adalah pusat kegiatan pada sebuah komputer, karena setiap proses yang akan dijalankan, harus melalui memori terlebih dahulu. Supaya untuk dapat dieksekusi, program harus dibawa ke memori dan menjadi suatu proses.
Jenis-jenis  Memori :

- Memori Kerja
• ROM/PROM/EPROM/EEPROM
• RAM
• Cache memory
- Memori Dukung
Floppy, harddisk, CD, dll.

 Memori adalah salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses untuk mengelola memori komputer.
Pada umunmnya, fungsi Manajemen Memori antara lain:
•    Melacak pemakaian memori (siapa dan berapa besar)
•    Memilih program mana yang akan diload ke memori
•    Alokasi dan dealokasi memori fisik untuk program/ proses-proses dalam menggunakan address space
•    Mengelola informasi yang dipakai dan tidak dipakai.
•    Mengalokasikan memori ke proses yang memerlukan
•    Mendealokasikan memori dari proses telah selesai
•    Mengelola swapping atau paging antara memori utama dan disk.

2.2 Konsep Binding

Sebelum eksekusi, program berada di dalam disk, dan saat dieksekusi program tersebut perlu berada pada suatu lokasi dalam memori fisik. Address Binding adalah cara instruksi dan data (yang berada di disk sebagai file executable) dipetakan ke alamat memori. Alamat (address) pada source program umumnya merupakan alamat simbolik. Sebuah compiler biasanya membutuhkan “mengikat” (bind) alamat simbolik ke alamat relokasi.
Address Binding dapat berlangsung dalam 3 tahap yang berbeda, yaitu :
•    kompilasi,
•    load, atau
•    eksekusi dari suatu program


 Cara Sistem Operasi menempatkan program di dalam memori :
•    Kompilasi dan Linking menerjemahkan semua simbol data berdasarkan alamat acuan absolut
•    Proses relokasi (proses mapping program dari lokasi memori) terjadi apabila :
1.    Jika program berada di memori, maka semua alamat lojik dalam program harus dikonversi ke alamat fisik.
2.    Statis : relokasi alamat dilakukan sebelum program dijalankan
3.    Dinamis : relokasi alamat dilakukan pada saat referensi setiap instruksi atau data

2.3 Dynamic Loading
Dengan dynamic loading merupakan suatu routine tidak diload sampai dipanggil. Semua routine disimpan pada disk sebagai format relocatable load.
Mekanisme dasar :
•    Program utama diload dahulu dan dieksekusi
•    Bila suatu routine perlu memanggil routine yang lain, routine yang dipanggil lebih dahulu diperiksa apakah routine yang dipanggil sudah diload. Jika tidak, relocatable linking loader dipanggil untuk meload routine yang diminta ke memori dan mengupdate tabel alamat dari program yang mencerminkan perubahan ini.
Keuntungan dari dynamic loading adalah :


•    Rutin yang tidak digunakan tidak pernah di-load
•    Cocok untuk kode dalam jumlah besar
•    Digunakan untuk menangani kasus-kasus yang jarang terjadi seperti error routine
•    Tidak memerlukan dukungan khusus dari sistem operasi. Sistem operasi hanya perlu menyediakan beberapa rutin pustaka untuk implementasi dynamic loading.

2.4 Dynamic Linking
Konsep dynamic linking sama dengan dynamic loading. Karena Pada saat loading, linking ditunda hingga waktu eksekusi.
Program-program user tidak perlu menduplikasi system library karena :
•    System library dipakai bersama
•    Mengurangi pemakaian space : satu rutin library di memori digunakan secara bersama oleh sekumpulan proses
Contoh : DLL Win32
Mekanisme menggunakan stub (potongan kecil yang mengindikasikan bagaimana meload library jika routine tidak tersedia saat itu) :
•    Saat stub dieksekusi, ia akan memeriksa apakah rutin ybs sudah berada di dalam memori(diakses oleh proses lain yang run), kalau belum ada maka rutin tersebut diload
•    Stub menempatkan dirinya pada alamat rutin dan mengeksekusi rutin tersebut
Dynamic Linking membutuhkan beberapa dukungan dari OS, misal :
•    Bila proses-proses di memori utama saling diproteksi, maka SO melakukan pengecekan apakah rutin yang diminta berada diluar alamat.
•    Beberapa proses diijinkan untuk mengakses memori pada alamat yang sama.
File dynamic linking berekstensi :
•    .dll
•    .sys
•    .drv





2.5 Overlay
Hanya instruksi dan data yang diperlukan pada suatu waktu yang disimpan di memori. Overlay diperlukan jika ukuran proses lebih besar dari memori yang dialokasikan untuknya.
Overlay tidak membutuhkan dukungan khusus dari SO antara lain :
•    User dapat mengimplementasikan secara lengkap menggunakan struktur file sederhana
•    OS memberitahu hanya jika terdapat I/O yang melebihi biasanya


2.6 Ruang Alamat Logika dan Fisik
Alamat Logika adalah alamat yang digenerate oleh CPU, disebut juga Alamat Virtual. Alamat Fisik adalah alamat yang terdapat di memori. Perlu ada penerjemah (translasi) untuk menerjemahkan bahasa dari alamat logika ke alamat fisik. MMU (Memory Management Unit) adalah perangkat keras yang memetakan alamat logika ke alamat fisik.
Dalam Skema MMU :

•    Menyediakan perangkat register yang dapat diset oleh CPU: setiap proses mempunyai data set register tersebut (disimpan di PCB)
•    Harga dalam register base/relokasi ditambahkan ke setiap alamat proses user pada saat run dimemori
•    Program-program user hanya berurusan dengan alamat logika saja


2.7 Swapping
Meskipun proses harus berada di memori untuk dieksekusi, tapi proses dapat di swap (tukar) sementara keluar memori ke backing store dan kemudian membawanya kembali ke memori untuk eksekusi lanjutan Penukaran dapat terjadi pada lingkungan dengan multiprogramming dengan penjadwalan CPU Round Robin atau Priority.  Bila waktu kuantum habis atau proses yang datang mempunyai prioritas lebih tinggi, maka memory manager akan mulai swap out proses yang telah selesai atau proses yang yang prioritasnya lebih rendah dan swap in  proses lainnya ke memori.


No comments:

Post a Comment