Senin, 24 Maret 2014

Pengelolaan Memori / Memory Management

Pengantar Memory
Salah satu aspek penting dalam perancangan suatu sistem operasi adalah pengelolaan memory. Walaupun pada masa modern ini memori sudah mencapai kapasitas sampai sekian gigabyte, tetapi memori tetap tidak akan pernah dapat menangani semua program dan struktur data yang berjalan aktif pada sistem operasi. Demikianlah, tugas utama dari sistem operasi untuk mengelola memori yang mana melibatkan peristiwa membawa masuk dan menukar keluar blok data dari memori sekunder. Namun, memori I/O merupakan operasi yang pelan dan kecepatannya tergantung dengan instruksi prosesor. Untuk menjaga supaya program dapat berjalan, maka sistem operasi harus pintar dalam mengatur waktu keluar dan masuk data untuk meminimalisasi efek dari kelemahan memori I/O tersebut.
Pengelolaan Memori / Memory Management
Pada sistem uniprogramming  ( hanya ada 1 pekerjaan yang diproses dalam 1 waktu), memori dibagi menjadi dua bagian : satu bagian utuk sistem operasi  dan bagian lain untuk program yang sekarang sedang dieksekusi. Pada sistem multiprogramming (mampu lebih dari 1 pekerjaan diproses dalam 1 waktu )  bagian user suatu memori lebih lanjut harus terbagi untuk , menangani banyak proses. Pengaturan memori yang efektif merupakan hal vital dari sistem multiprograming.
Istilah pada pengelolaan memori :
frame : sebuah blok tetap pada memori utama.
page : sebuah blok tetap dari data yang berada pada memori sekunder (misal disk). Sebuah page mungkin sementara akan disalin ke frame pada memeori utama.
Segment : suatu variable berisi panjan dari suatu blok data yang berada pada memori sekunder. semua segment mungkin sementara akan di salin ke memori utama menjadi suatu wilayah yang tersedia atau segment akan dibagi menjadi pages yang mana secara individu akan disalin ke memori utama(combined segmentation and paging).
Syarat Pengelolaan  Memory / Memory Managenement Requirements
Relocation
Programmer tidak tahu dimana program akan ditempatkan pada memori saat dieksekusi. Pada saat program dieksekusi, mungkin akan dimasukan pada disk dan dikembalikan pada memori utama pada lokasi yang berbeda (relocate).
Protecion
Masing-masing proses harus dilindungi dari gangguan proses lain baik disengaja atau tidak. Sehingga untuk melindungi suatu proses harus dilakukan pengecekan alamat tujuan apakah akan mengganggu proses lain atau tidak. pengecekan dilakukan saat sebuah proses berjalan.
Sharing
Suatu mekanisme proteksi harus fleksibel untuk memperbolehkan mengakses wilayah yang sama pada memeori utama. Sharing ini digunakan saat beberapa proses mengakses program yang sama pada main memory dibandingkan dengan setiap proses menyalin programnya pada main memori yang tentunya akan memberatkan memori utama.
Logical Operation
Suatu program dibuat pada suatu modul. Beberapa modul ada yang tidak dapat diubah (read-only, executable only) dan ada yang dapat diubah. Suatu proses dapat menggunakan lebih dari satu module.
Physical Organization
Memori komputer dibagi menjadi dua memori utama dan memori sekunder. Memori utama pengaksesannya sangat cepat tetapi harganya mahal dan bersifat volatile sehingga tidak dapat menyimpan data dalam jangka lama sedangkan memori sekunder aksesnya lambat tapi mempunyai ukuran penyimpanan yang besar dan tahan lama.
Pembagian Memori / Memory Partitioning
Fixed Partitioning
Memori dibagi menjadi blok-blok yang  berukuran tetap. Ada 2 tipe pembagian ukuran: pembagian yang semua ukurannya sama dan ada yang berbeda satu sama lain. Sehingga setiap proses baik yang besar atau peun yang kecil akan diletakan pada blok yang kosong tidak peduli ukurannya terlalu besar atau terlalu kecil blok memorinya.
Dinamyc Partitioning
Pembagian dibagi berdasarkan panjang variable dan nomer dari proses. Proses dialokasikan pada suatu blok sesuai dengan yang dibutuhkannya. Tetapi pada saat penempatan proses terdapat lubang antar prosesnya yang biasa disebut eksternal fragmetnation.
Buddy System
Semua blok memori yang tersedia diperlakukan menjadi satu blok yang dilambangkan dengan 2U.
Jika suatu  proses meminta ukuran blok sebesar s ( 2U-1 < s <=2U), maka blok 2U akan dibagi menjadi 2 dan dibandingkan apakah ukurannya sudah sesuai dengan s atau belum jika belum maka blok akan dibagi lagi samapi ukuran sesaui dengan pors.


sumber http://alvarisimm.wordpress.com

0 komentar:

Posting Komentar