Pages

Minggu, 16 Mei 2010

Managing Memory
Memori manajemen adalah tindakan pengelolaan memori komputer. Dalam bentuknya yang sederhana, ini melibatkan menyediakan cara untuk mengalokasikan tiap partisi memori untuk program atas permintaan mereka, dan membebaskan untuk digunakan kembali ketika tidak lagi dibutuhkan. Manajemen memori utama sangat penting untuk sistem komputer.

Virtual Memory sistem yang terpisah alamat memori yang digunakan oleh sebuah proses dari alamat fisik yang sebenarnya, yang memungkinkan proses pemisahan dan meningkatkan jumlah efektif yang tersedia RAM menggunakan disk swapping . Kualitas manajer memori virtual dapat memiliki dampak besar pada kinerja sistem secara keseluruhan.
Pengumpulan sampah adalah alokasi otomatis, dan dealokasi sumber daya memori komputer untuk program. Hal ini umumnya dilaksanakan pada tingkat bahasa pemrograman dan bertentangan dengan manajemen memori manual , alokasi dan dealokasi eksplisit sumber daya memori

SWAPPING

Sebuah proses harus berada di memori untuk dieksekusi. Proses juga dapat ditukar (swap) sementara keluar memori ke backing store dan kemudian dibawa kembali ke memori untuk melanjutkan eksekusi.
Backing store berupa disk besar dengan kecepatan tinggi yang cukup untuk meletakkan copy dari semua memory image untuk semua user, sistem juga harus menyediakan akses langsung ke memory image tersebut. Contohnya, sebuah lingkungan multiprogramming dengan penjadwalan CPU menggunakan algoritma round-robin. Pada saat waktu kuantum berakhir, manajer memori akan memulai untuk menukar proses yang baru selesai keluar dan menukar proses lain ke dalam memori yang dibebaskan (Gambar 7-4). Pada waktu berjalan, penjadwal CPU (CPU scheduler) akan mengalokasikan sejumlah waktu untuk proses yang lain di memori. Ketika masing-masing proses menyelesaikan waktu kuantum-nya, akan ditukar dengan proses
yang lain.
Kebijakan penukaran juga dapat digunakan pada algoritma penjadwalan berbasis prioritas. Jika proses mempunyai prioritas lebih tinggi datang dan meminta layanan, memori akan swap out proses dengan prioritas lebih rendah sehingga proses dengan prioritas lebih tinggi dapat di-load dan dieksekusi.
Umumnya sebuah proses yang di-swap out akan menukar kembali ke ruang memori yang sama dengan sebelumnya. Jika proses pengikatan dilakukan pada saat
load-time, maka proses tidak dapat dipindah ke lokasi yang berbeda. Tetapi, jika pengikatan pada saat execution-time , maka kemungkinan proses ditukar ke ruang memori yang berbeda, karena alamat fisik dihitung selama waktu eksekusi.
Bila CPU scheduler memutuskan untuk mengeksekusi proses, OS memanggil dispatcher. Dispatcher memeriksa untuk melihat apakah proses selanjutnya pada ready queue ada di memori. Jika tidak dan tidak terdapat cukup memori bebas, maka dispatcher swap out sebuah proses yang ada di memori dan swap in proses tersebut. Kemudian reload register ke keadaan normal.
Teknik swapping yang sudah dimodifikasi ditemui pada beberapa sistem misalnya Linux, UNIX dan Windows.

Virtual Memory

Beberapa sistem operasi memerlukan yang namanya virtual memory. Layaknya Linux yang membutuhkan swap, microsoft windows vista ataupun XP pun membutuhkan yang namanya virtual memory. Pengertian dari Virtual memory itu sendiri yakni memori sementara yang digunakan komputer untuk menjalankan berbagai program aplikasi ataupun menyimpan data yang membutuhkan memory yang lebih besar dari memory yang telah tersedia ( Memory fisik seperti RAM, baca disini untuk lebih lengkap ). Program ataupun data yang tidak muat dimasukan pada memory asli ( RAM ), akan disimpan ke dalam sebuah Pagging File. Pengertian Pagging file ialah data yang hanya disimpan sementara atau bisa disebut swap. Pada sistem operasi linux kita diharuskan untuk membuat dua partisi utama yaitu untuk system dan untuk swap. Virtual Memory ini Berbeda halnya dengan Memory fisik seperti RAM, karena ram merupakan komponen yang termasuk kedalam golongan hardware. Walapun dalam kenyatannya Virtual Memory ini disimpan di harddisk, tetapi kerjannya itu tidak tampak, artinya berjalan secara software namun disimpan dihardware. Data yang disimpan ini tidak dapat bertahan lama, dalam artian hanya saat di gunakan saja. Dan bila komputer dimatikan, data data yang tadinya ada di virtual memory akan hilang. Jadi Fungsi Virtual Memoryialah untuk mengoptimalkan kinerja dari komputer, dengan tambahan memory, maka kemungkinan terjadi crash sangat kecil sekali. Ukuran dari paging file biasanya berbeda - beda, kalau ukuran paging file linux ialah 2 kali lipat dari memory aslinya. Misalkan kita memakai memory berkapasitas 512 MB, maka ukuran paging filenya yaitu 1 GB. Walaupun tidak harus 2 GB, tapi untuk memaksimalkan kinerja maka sebaiknya 2 kali lipatnya. Dan untuk Ukuran Paging file Di windows XP dan Vista Yaitu 1,5 kali dari kapasitas aslinya. Misalkan kita menggunakan memory sebesar 1 GB, maka paging filenya sebesar 1,5 GB. Dalam Xp maupun Vista paging file ini dinamai dengan pagefile.sys bila anda ingin mencarinya, pasti tidak akan ketemu, karena file ini disembunyikan atau hidden files.
Paging

-Pada saat suatu proses sedang berjalan, sebuah register menyimpan alamat awal page table proses tersebut .
-Nomer halaman alamat virtual digunakan untuk mengindeks tabel tersebut dan meng-look up nomer frame -nya. Ha. Hal ini dikombinasikan dengan bagian offset dari alamat virtual untuk menghasilkan alamat real yang diinginkan.
-Tabel ini bisa sangat besar , sehingga sebagian besar teknik ini menyimpan tabel pada memori virtual,bukan pada real memori .
-Pada saat suatu proses sedang berjalan, sedikitnya bagian page table-nya harus berada di memori utama,termasuk page table entry yang sedang dieksekusi.
-Sebagian prosesor menggunakan teknik dua tingkat untuk mengorganisasikan page table yangpage table yang besar .
-Dalam sistem ini, terdapat page directory sama dengan X, dan apabila panjangnya Y, maka sebuah proses dapat berisi sampai dengan X x Y
-Umumnya panjang maksumum page table dibatasi sampai sama dengan satu page'
-Struktur inverted page table manerapkan teknik ini dan telah digunakan pada komputer IBM AS/400 dan pada semua produk RISC, termasuk PowerPC.
-Terdapat hash table yang berisi sebuah pointer ke page table yang diinversikan, yang berisi page table entrydiinversikan, yang berisi page table entry.
-Dengan struktur seperti ini maka hash table hanya akan terdapat sebuah entry dan page table yang diinversikan bagi setiap real memory page, bukannya satu per virtual page.

Segmentasi

Konsep segmentasi adalah user atau programmer tidak memikirkan sejumlah rutin program yang dipetakan ke main memori sebagai array linier dalam byte tetapi memori dilihat sebagai kumpulan segmen dengan ukuran berbeda-beda, tidak perlu berurutan diantara segment tersebut.

Segmentasi adalah skema manajemen memori yang memungkinkan user untuk melihat memori tersebut. Ruang alamat logika adalah kumpulan segmen. Setiap segmen mempunyai nama dan panjang. Spesifikasi alamat berupa nama segmen dan offset. Segment diberi nomor dan disebut dengan nomor segmen (bukan nama segmen) atau segment number. Segmen dibentuk secara otomatis oleh compiler.



Sebuah program adalah kumpulan segmen. Suatu segmen adalah unit logika seperti program utama, prosedur, fungsi, metode, obyek, variabel lokal, variabel global, blok umum, stack, tabel simbol, array dan lain-lain. Pandangan user terhadap sistem segmentasi dapat dilihat pada Gambar

Free Template Blogger collection template Hot Deals SEO

Tidak ada komentar:

Posting Komentar

Silahkan yang mau berkomentar.

 

Blogger