Sistem Operasi (pertemuan 1) Memori Razief Perucha F.A Jurusan Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Syiah Kuala 2012
Memori
Bab 28
Manajemen memori Memori adalah pusat kegiatan pada komputer Setiap proses yang akan dijalankan harus melalui memori terlebih dahulu. CPU mengambil instruksi dari memori sesuai dengan yang ada pada program counter. Alamat-alamat yang dihasilkan oleh CPU merupakan alamat virtual (logic).
Manajemen memori Alamat-alamat virtual akan dipetakan ke alamat-alamat fisik . Alamat-alamat fisik adalah alamat-alamat memori yang sebenarnya. Pemetaan ini dapat dilakukan pada saat : Kompilasi, Mengkompilasi ulang kode jika lokasi berubah. Pemuatan (loading), Kode relokasi dibuat jika kita tidak tahu dimana proses akan ditempatkan. Binding harus ditunda sampai load time Eksekusi Pada saat dieksekusi proses dapat dipindah dari satu segmen ke segmen yang lain di dalam memori. Dibutuhkan perangkat keras khusus untuk melakukan ini.
Manajemen memori Kumpulan alamat virtual yang dibuat oleh CPU disebut ruang alamat virtual. Kumpulan alamat fisik yang berkorespondensi dengan alamat virtual disebut ruang alamat fisik. Memory Management Unit (MMU) adalah hardware diperlukan untuk mengubah alamat virtual ke alamat fisik
Manajemen memori Adakalanya ukuran program yang akan dieksekusi melebihi ukuran memori. Dapat diatasi dengan menggunakan dynamic loading dan overlays. Overlays memungkinkan suatu program yang mempunyai ukuran yang besar, dapat dieksekusi oleh memori dengan kapasitas yang lebih kecil.
Manajemen memori Penggunaan overlays ini dikarenakan pada masa lalu memori yang ada sangatlah kecil, sehingga banyak program yang kapasitasnya jauh lebih besar daripada memori yang tersedia. Tetapi dewasa ini overlays sudah tidak digunakan lagi karena sudah ada virtual memori yang memungkinkan memori dapat mengeksekusi program manapun.
Alokasi Memori
Bab 29
Alokasi Memori Sebuah proses dapat di- swap sementara keluar memori ke sebuah backing store untuk kemudian dibawa masuk lagi ke memori untuk melanjutkan pengeksekusian. Salah satu proses yang memanfaatkan metoda ini adalah (proses swapping berdasarkan prioritas) yaitu roll out, roll in.
Alokasi Memori Jika proses dengan prioritas lebih tinggi tiba dan meminta layanan, manajer memori dapat menukar keluar memori proses-proses yang prioritasnya rendah sehingga proses-proses yang prioritasnya lebih tinggi tersebut dapat dieksekusi. Setelah proses-proses yang memiliki prioritas lebih tinggi tersebut selesai dieksekusi, proses-proses dengan prioritas rendah dapat ditukar kembali ke dalam memori dan dilanjutkan eksekusinya.
Alokasi Memori Dibutuhkan pembagian memori seefisien mungkin agar main memory dapat melayani sistem operasi dan proses dengan baik, Salah satunya adalah dengan contiguous memory allocation. contiguous memory allocation yaitu pemberian alamat memori secara berurutan dari kecil ke besar.
Alokasi Memori Keuntungan menggunakan alokasi memori berkesinambungan (contiguous memory allocation) dibandingkan menggunakan alokasi memori tidak berkesinambungan adalah: Sederhana Cepat Mendukung proteksi memori
Alokasi Memori Ruang memori yang masih kosong dan dapat dialokasikan untuk proses disebut hole. Hole menciptakan permasalahan alokasi memori dinamis, yaitu bagaimana memenuhi kebutuhan memori suatu proses dari hole yang ada.
Alokasi Memori Metoda untuk menyelesaikan ini diantaranya adalah: first fit: Mengalokasikan lubang pertama ditemukan yang besarnya mencukupi. Pencarian dimulai dari awal. next fit: Mengalokasikan lubang pertama ditemukan yang besarnya mencukupi. Pencarian dimulai dari akhir pencarian sebelumnya
Alokasi Memori best fit: Mengalokasikan lubang dengan besar minimum yang mencukupi permintaan worst fit: Mengalokasikan lubang terbesar yang ada
Alokasi Memori Masalah yang sering muncul dalam pengalamatan memori adalah fragmentasi (baik intern maupun ekstern). Fragmentasi yaitu munculnya hole-hole yang tidak cukup besar untuk menampung permintaan dari proses
Alokasi Memori Pemadatan: yaitu mengatur kembali isi memori agar memori yang kosong diletakkan bersama disuatu bagian yang besar sehingga proses dapat masuk ke ruang memori kosong tersebut. konsep ini diterapkan dengan Paging. Penghalamanan. Segmentasi.
Pemberian Halaman (paging)
Bab 30
Pemberian Halaman (paging) Paging adalah suatu metoda yang memungkinkan suatu alamat fisik memori yang tersedia dapat tidak berurutan. Prinsipnya adalah memecah memori fisik menjadi blok-blok berukuran tetap disebut dengan frame, dan memecah memori logika menjadi blok-blok dengan ukuran sama disebut page (halaman).
Pemberian Halaman (paging) Setelah itu kita membuat page table yang akan menerjemahkan memori logika menjadi memori fisik dengan perantara Memory Management Unit (MMU), dan pengeksekusian proses akan mencari memori berdasarkan tabel tersebut.
Pemberian Halaman (paging) Setiap sistem operasi mengimplementasikan paging dengan caranya masing-masing. Paging menjamin keamanan data dimemori saat suatu proses sedang berjalan, dan Dapat mempercepat akses ke memori, serta Menghemat pemakaian memori.
Pemberian Halaman (paging) Untuk mencapai tujuan tersebut terdapat beberapa metoda pemberian halaman seperti: Hierarchical Paging, Inverted Halaman tables, dan Hashed tabel halaman,
Pemberian Halaman (paging) Hierarchical Paging, Hierarchical paging atau pemberian halaman bertingkat merupakan metoda pemberian halaman secara maju (forward mapped paging).
Hierarchical Paging
Pemberian Halaman (paging) Inverted Halaman tables proses pemberian halaman dipusatkan pada proses yang sedang ditangani. Alamat logic yang menggunakan inverted tabel halaman merepresentasikan proses yang dimiliki. Sehingga tabel halaman pada metoda ini sama besar atau lebih dengan jumlah proses yang dapat ditangani dalam setiap kesempatan.
Inverted Halaman tables
Pemberian Halaman (paging) Hashed tabel halaman, Tabel Halaman secara Hashed cukup cocok untuk paging berukuran besar. digunakannya sebuah fungsi untuk memanipulasi alamat logic. Hasil dari hashing akan dipetakan pada hash tabel halaman yang berisi linked list.