Manajemen memory dan Swapping

29
Manajemen Memory Sederhana dan Swapping Sistem Operasi

description

 Manajemen memory dan Swapping

Transcript of  Manajemen memory dan Swapping

Page 1:  Manajemen memory dan Swapping

 Manajemen Memory Sederhana dan Swapping

Sistem Operasi

Page 2:  Manajemen memory dan Swapping

Sub Pokok Bahasan

• Latar Belakang • Konsep Dasar• Pengalamatan Memori• Swapping•  Skema Swapping

Page 3:  Manajemen memory dan Swapping

Latar Belakang

• Memory merupakan tempat menampung data dan kode instruksi program

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

• Sistem Operasi bertugas untuk mengatur peletakan banyak proses pada suatu memori

• Manajemen memory berkaitan dengan aktifitas pengelolaan penggunaan memori pada saat komputer aktif dan menjalankan proses-proses

Page 4:  Manajemen memory dan Swapping

KONSEP DASAR

REGISTER(Chip Processor)

Cache Memory

Main Memory

Secondary Memory

Hierarki organisasi memori pada sistem komputer

Page 5:  Manajemen memory dan Swapping

Register

• Contoh memori register –  IR (instruction Register) untuk menampung 

kode instruksi yang akan dieksekusi–  AX,BX,CX,DX dan lainnya untuk menampung 

data dan informasi.

• Kapasitas memori register sangat terbatas

 agar ukuran chip processor tetap kecil.• Itulah sebabnya diperlukan memori utama.

Page 6:  Manajemen memory dan Swapping

Memori Utama

• Memori utama pada umumnya dapat diakses secara random  RAM (Random Access Memory) dan volatile.

• Namun sayangnya kecepatan transfer data dari memori utama ke prosesor sangat lambat jika dibandingkan dengan eksekusi prosesor

• Contoh: Pentium IV 1.7GHz memiliki front bus 400MHz, artinya terdapat selisih kecepatan 4X, berarti setiap kali terjadi transfer data dari memori utama ke register prosesor, prosesor harus menunggu sebanyak 4 siklus eksekusi.

Page 7:  Manajemen memory dan Swapping

Memori cache

• Untuk mengatasi perbedaan kecepatan, digunakan teknik caching untuk memori utama dengan menggunakan memori cache.

• Umumnya berada dalam prosessor• Kapasitas jauh lebih kecil dari memori utama• Kecepatan transfer mengikuti clock processor• Prinsip kerja sebagai salinan bayangan dari 

data dan kode instruksi di memori utama

Page 8:  Manajemen memory dan Swapping

Memori sekunder

• Memori sekunder umumnya berupa disk dan bersifat non-volatile

• Kecepatan transfer jauh lebih lambat dari memori utama

• Untuk mengatasi kekurangan tempat pada ruang memori utama  teknik virtual memory

Page 9:  Manajemen memory dan Swapping

• Tujuan pengorganisasian memori komputer:– Meningkatkan kecepatan akses kode instruksi dan data oleh

prosesor– Mengurangi waktu menganggur(idle) prosesor– Memperbesar kapasitas penyimpanan sistem memori komputer

• Secara umum, semakin bawah tingkatan pada hirarki organisasi komputer, maka:– Harga per satuan byte semakin rendah– Kapasitas penyimpanan semakin besar– Frekuensi pengaksesan semakin kurang– Kecepatan akses semakin lambat

Page 10:  Manajemen memory dan Swapping

Pengalamatan Memori

• Tugas untuk mereferensi kode instruksi atau data di memori utama secara tepat merupakan tanggung jawab dari compiler

• Compiler berfungsi mengubah source code yang ditulis programmer menjadi file yang berisi kode instruksi program yang dapat dijalankan prosessor

• Dalam menentukan alamat instruksi atau data, compiler mengacu pada metode pengalamatan memori yang dipakai sistem komputer

Page 11:  Manajemen memory dan Swapping

• Metode pengalamatan memori mendefinisikan:– Model alamat yang dituliskan pada kode instruksi

program– Mekanisme penyalinan– Kapan dan bagaimana alamat dalam kode

instruksi program diterjemahkan dalam alamat fisik memori sesungguhnya.

Page 12:  Manajemen memory dan Swapping

• Secara garis besar metode pengalamatan memori dapat dibedakan atas :

1. Pengalamatan secara fisik (Physical / absolute address)

alamat yang ditulis pada kode instruksi adalah alamat fisik memori utama yang sesungguhnya.

Page 13:  Manajemen memory dan Swapping

2. Pengalamatan secara logika (Logical Addressing)

• Perlu ditranslasikan ke alamat fisik memori utama.

• Pada saat eksekusi, pengaksesan alamat akan ditranslasi dengan menjumlahkan alamat referensi awal pada instruksi dengan isi register alokasi untuk mendapatkan alamat fisik memori

• Relokasi program dapat dilakukan secara fleksibel

Page 14:  Manajemen memory dan Swapping

ADDRESS BINDING

• Alamat yang terdapat dalam kode instruksi tidak selamanya berupa alamat fisik, tapi dapat berupa alamat logika yang perlu ditranslasi lebih dahulu.

• Aktivitas translasi alamat ini disebut dengan address binding.

Page 15:  Manajemen memory dan Swapping

• Address binding dapat terjadi pada saat:– Compile Time

• apabila dimungkinkan letak / alamat fisik memori diketahui sebelum diekseskusi agar langsung dapat ditulis pada source code.

• Kelemahan: program tidak dapat direlokasi selama eksekusi.

– Loading Time• Dilakukan pada saat loading program ke memori utama• Hasil kompilasi disimpan dalam file yang berisi alamat fisik.

• Jika terjadi perubahan relokasi maka code di-load ulang

Page 16:  Manajemen memory dan Swapping

– Execution Time• membutuhkan perangkat keras seperti MMU (Memory

Management Unit)• MMU bertanggung jawab membantu proses

perhitungan transasi alamat logika ke alamat fisik pada saat eksekusi.• Dimungkinkan suatu proses berpindah alamat sewaktu

dieksekusi.

Page 17:  Manajemen memory dan Swapping

Tahapan Pemrosesan User rogram

Page 18:  Manajemen memory dan Swapping

Memory-Management Unit (MMU)

• Perangkat Hardware yang memetakan alamat logik (virtual) ke alamat fisik.

• Dalam skema MMU– Menyediakan perangkat register yang dapat di set oleh setiap

CPU: setiap proses mempunyai data set register tsb (disimpan di PCB).• Base register dan limit register.

– Harga dalam register base/relokasi ditambahkan ke setiap address proses user pada saat run di memori

– Program user hanya berurusan dengan address logik saja

Page 19:  Manajemen memory dan Swapping

Relokasi Dinamik menggunakan Register Relokasi

Page 20:  Manajemen memory dan Swapping

Dynamic Loading

• Tidak semua bagian program diambil ke memori.• Dengan dynamic loading, Routine yang tidak digunakan tak akan

pernah di-load ke memori.• Mekanisme dasar:

– Program utama di-load dan dieksekusi.– Pada saat suatu routine butuh memanggil routine yang lain, maka

pertama routine pemanggil mengecek apakah rotine yang dibutuhkan sudah pernah diambil. Jika belum, maka routine yang dipanggil tersebut akan diambil dan dialokasikan di memori utama

• Keuntungan dynamic loading :– Rutin yang tidak digunakan tak akan pernah di-load ke memori.– Untuk menghindari pemakaian rutin yang salah dalam program

dengan jumlah kode yang besar.– Tidak memerlukan bantuan sistem operasi. Metode ini menjadi

tanggung jawab user/programmer. SO hanya menyediakan routine library

Page 21:  Manajemen memory dan Swapping

Dynamic Linking

• Konsep sama dengan dynamic loading, hanya saja penekanan pada proses linking.

• Dimungkinkan adanya share library yang dibuat oleh suatu aplikasi untuk digunakan oleh aplikasi lainnya.– Mengurangi pemakaian space: satu routine library di memory

digunakan secara bersama oleh sekumpulan proses.• dapat digunakan untuk pembaharuan library secara

otomatis bila ada versi yang lebih baru.• File yang mendukung dynamic linking:

.dll (Dynamic Link Libraries), .sys , .drv• sistem operasi dibutuhkan untuk memeriksa apakah

routine yang diperlukan ada di ruang memori proses yang lain.

Page 22:  Manajemen memory dan Swapping

Overlay

• Overlay membagi program yang besar menjadi bagian-bagian yang lebih kecil dan dapat dimuat dalam memori utama.

• Dibutuhkan ketika proses yang ada lebih besar dibandingkan memori yang tersedia

• Diimplementasikan oleh user, tidak ada dukungan khusus dari sistem operasi, desain program pada struktrur overlay cukup kompleks.

Page 23:  Manajemen memory dan Swapping

• Ide dari overlay adalah yang disimpan di memori adalah hanya instruksi dan data yang diperlukan pada waktu tertentu. Bila instruksi lain yang diperlukan, maka akan diletakkan ditempat instruksi lama yang tidak diperlukan lagi.

Page 24:  Manajemen memory dan Swapping

Overlay pada Two-Pass Assembler

Page 25:  Manajemen memory dan Swapping

• Untuk load keseluruhan dibutuhkan memori 210K. Jika yang tersedia hanya 150K, maka tidak bisa dieksekusi.

• Dengan menggunakan overlay, maka routine dibagi menjadi 2 overlay– Overlay A terdiri dari symbol table, common

routine dan pass 1 (butuh 120K)– Overlay B terdiri dari symbol table, common

routine dan pass 2 (butuh 130K)• Membutuhkan overlay driver 10K

Page 26:  Manajemen memory dan Swapping

Swapping

• Suatu proses dapat di-swap secara temporary keluar dari memori dan dimasukkan ke backing store, dan dapat dimasukkan kembali ke dalam memori pada eksekusi selanjutnya.

• Backing store –disk cepat yang cukup besar untuk mengakomodasi copy semua memori image pada semua user; menyediakan akses langsung ke memori image.

• Roll out, roll in – varian swapping yang digunakan dalam penjadualan prioritas; proses dengan prioritas rendah di-swap out, sehingga proses dengan prioritas tinggi dapat di-load dan dieksekusi.

• Bagian terbesar dari swap time adalah transfer time, total transfer time secara proporsional dihitung dari jumlah memori yang di swap.

Page 27:  Manajemen memory dan Swapping

Skema Swapping

Page 28:  Manajemen memory dan Swapping

Proteksi Memori• Proteksi memori adalah sebuah sistem yang mencegah

sebuah proses dari pengambilan memori proses lain yang sedang berjalan pada komputer yang sama dan pada saat yang sama pula.

• Proteksi memori selalu mempekerjakan hardware (Memory Managemen Unit) dan sistem software untuk mengalokasikan memori yang berbeda untuk proses yang berbeda dan untuk mengatasi exception yang muncul ketika sebuah proses mencoba untuk mengakses memori di luar batas.

• Efektivitas dari proteksi memori berbeda antara sistem operasi yang satu dengan yang lainnya. Ada beberapa cara yang berbeda untuk mencapai proteksi memori yaitu segmentasi dan pemberian.

Page 29:  Manajemen memory dan Swapping

Alokasi Memori Berkesinambungan

• Memori utama harus dapat melayani baik sistem operasi maupun proses pengguna. Oleh karena itu kita harus mengalokasikan pembagian memori seefisien mungkin.

• Salah satunya adalah dengan cara alokasi memori berkesinambungan. Alokasi memori berkesinambungan berarti alamat memori diberikan kepada proses secara berurutan dari kecil ke besar. Keuntungannya adalah:

1. Sederhana

2. Cepat

3. Mendukung proteksi memori