Jumat, 12 November 2010

Management Memory (Sistem Operasi)

Soal
1.      Apa yang dimaksud dengan virtual memori? Apa keuntungannya?
2.      Apa yang dimaksud dengan segmentasi dalam memory management? Gambarkan bila perlu!
3.      Jelaskan tentang paging dalam pengaturan memori dan jelaskan keuntungannya! Dan gambarkan tentang page segmentasinya!
4.      Apa solusi yang ditawarkan oleh management memory terhadap kasus ketika segmentasi melampaui kemampuan dari virtual memori? Jelaskan jawaban dari solusi Anda!
5.      Apa yang terjadi apabila timbunan dari set tugas melampaui  kapasitas memori fisik  komputer? Jelaskan dan gambarkan bila perlu.

Jawaban :
1.      Virtual memory merupakan suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik ini mengizinkan program untuk dieksekusi tanpa seluruh bagian program perlu ikut masuk ke dalam memori. Atau dengan kata lain virtual memori adalah sebuah mekanisme yang digunakan oleh aplikasi untuk menggunakan sebagian dari memori sekunder seolah-olah ia menggunakannya sebagai RAM fisik yang terinstal di dalam sebuah sistem. Mekanisme ini beroperasi dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard drive yang disebut dengan swap file, page file atau swap partition.

Keuntungannya antara lain :
a.       Berkurangnya I/O yang dibutuhkan (lalu lintas I/O menjadi rendah). Misal, untuk program butuh membaca dari disk dan memasukkan dalam memory setiap kali diakses.
b.      Berkurangnya memori yang dibutuhkan (space menjadi lebih leluasa). Contoh, untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori. Pesan-pesan error hanya dimasukkan jika terjadi error.
c.       Meningkatnya respon, sebagai konsekuensi dari menurunnya beban I/O dan memori.
d.      Bertambahnya jumlah user yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan dari user.
e.       Dengan VM perubahan suatu bagian tidak akan mempengaruhi komponen yang lain
f.        Dengan VM perubahan suatu bagian tidak akan mempengaruhi komponen yang lain
g.       Tidak ada pembagian sumber daya secara langsung. Pembagian disk mini dan jaringan diimplementasikan pada perangkat lunak

2.      Segmentasi dalam memory management merupakan skema manajemen memori yang mendukung cara pandang seorang programmer terhadap memori. Ruang alamat logika merupakan sekumpulan dari segmen-segmen. Masing-masing segment mempunyai panjang dan nama. Alamat diartikan sebagai nama segmen dan offset dalam suatu segmen. Jadi jika seorang pengguna ingin menunjuk sebuah alamat dapat dilakukan dengan menunjuk nama segmen dan offsetnya. Untuk lebih menyederhanakan implementasi, segmen-segmen diberi nomor yang digunakan sebagai pengganti nama segment. Sehingga, alamat logika terdiri dari dua tupple: [segment-number, offset].
Gambar  Sisi pandang program oleh pengguna


Segmentasi Perangkat Keras
Meskipun seorang pengguna dapat memandang suatu objek dalam suatu program sebagai alamat berdimensi dua, memori fisik yang sebenarnya tentu saja masih satu dimensi barisan byte. Jadi kita harus bisa mendefinisikan pemetaan dari dua dimensi alamat yang didefinisikan oleh pengguna ke satu dimensi alamat fisik. Pemetaan ini disebut sebagai sebuah segment table. Masing-masing masukan dari mempunyai segment base dan segment limit. Segment base merupakan alamat fisik dan segmen limit diartikan sebagai panjang dari segmen.
Gambar  Arsitektur segmentasi perangkat keras
Suatu alamat logika terdiri dari dua bagian, yaitu nomor segmen(s), dan offset pada segmen(d). Nomor segmen digunakan sebagai indeks dalam segmen table. Offset d alamat logika harus antara 0 hingga dengan segmen limit. Jika tidak maka diberikan pada sistem operasi. Jika offset ini legal maka akan dijumlahkan dengan segmen base untuk menjadikannya suatu alamat di memori fisik dari byte yang diinginkan. Jadi segmen table ini merupakan suatu array dari pasangan base dan limit register.

Gambar  Segmentasi
Sebagai contoh kita mempunyai nomor segmen dari 0 sampai dengan 4. Segmen-segmen ini disimpan dalam suatu memori fisik. Tabel segmen berisi data untuk masing-masing segmen, yang memberikan informasi tentang awal alamat dari segmen di fisik memori (atau base) dan panjang dari segmen (atau limit). Misalkan, segmen 2 mempunyai panjang 400 dan dimulai pada lokasi 4300. Jadi, referensi di byte 53 dari segmen 2 dipetakan ke lokasi 4300 + 53 = 4353. Suatu referensi ke segmen 3, byte 852, dipetakan ke 3200 (sebagai base dari segmen) + 852 = 4052. Referensi ke byte 1222 dari segmen 0 akan menghasilkan suatu trap ke sistem operasi, karena segmen ini hanya mempunyai
panjang 1000 byte.

Kelebihan Segmentasi: saling berbagi-proteksi.
Keuntungan pemakaian cara segmentasi ini adalah sebagai berikut:
a.       Menyederhanakan penanganan struktur data yang berkembang. Seringkali penanganan struktur data menuntut perubahan panjang data. Hal ini dimungkinkan dengan adanya segmentasi. Jadi dengan segmentasi membuat penanganan struktur data menjadi fleksibel.
b.      Kompilasi ulang independen tanpa menautkan kembali seluruh program. Teknik ini memungkinkan program-program dikompilasi ulang secara independen tanpa perlu mentautkan kembali seluruh program dan dimuatkan kembali. Jika masing-masing prosedur terdapat di segmen terpisah beralamat 0 sebagai alamat awal, maka pentautan prosedur-prosedur yang dikompilasi secara terpisah sangat lebih mudah. Setelah semua prosedur dikompilasi dan ditautkan, panggilan ke prosedur di segmen n akan menggunakan alamat dua bagian yaitu (n,0) mengacu ke word alamat 0 (sebagai titik masuk) segmen ke n. Jika prosedur di segmen n dimodifikasi dan dikompilasi ulang, prosedur lain tidak perlu diubah (karena tidak ada modifikasi alamat awal) walau versi baru lebih besar dibanding versi lama.
c.       Memudahkan pemakaian memori bersama diantara proses-proses Teknik ini memudahkan pemakaian memori bersama diantara proses-proses. Pemrogram dapat menempatkan program utilitas atau tabel data berguna di segmen yang dapat diacu oleh proses-proses lain. Segmentasi memberi fasilitas pemakaian bersama terhadap prosedur dan data untuk dapat diproses, berupa shared library.
Pada workstation modern yang menjalankan sistem Windows sering mempunyai pustaka grafis sangat besar. Pustaka ini diacu hampir semua program. Pada sistem bersegmen, pustaka grafis diletakan di satu segmen dan dipakai secara bersama banyak proses sehingga menghilangkan mempunyai pustaka ditiap ruang alamat proses. Shared libraries di sistem pengalamantan murni lebih rumit, yaitu dengan simulasi segmentasi.
d.      Memudahkan proteksi karena segmen dapat dikonstruksi berisi sekumpulan prosedur atau data terdefinisi baik, pemrogram atau administrator sistem dapat memberikan kewenangan pengaksesan secara nyaman.


3.      Paging dalam pengaturan memori adalah suatu metoda yang memungkinkan suatu alamat fisik memori yang tersedia dapat tidak berurutan. Pemberian halaman bisa menjadi solusi untuk pemecahan masalah luar. Untuk bisa mengimplementasikan solusi ini adalah melalui pengunaan dari skema pemberian halaman. Dengan pemberian halaman bisa mencegah masalah penting dari pengepasan besar ukuran memori yang bervariasi kedalam penyimpanan cadangan. Ketika beberapa pecahan kode dari data yang tersisa di memori utama perlu untuk ditukar keluar, harus ditemukan ruang untuk penyimpanan cadangan. Masalah pemecahan kode didiskusikan dengan kaitan bahwa pengaksesannya lebih lambat. Biasanya bagian yang menunjang untuk pemberian halaman telah ditangani oleh perangkat keras. Bagaimana pun, desain yang ada baru-baru ini telah mengimplementasikan dengan menggabungkan perangkat keras dan sistem operasi, terutama pada prosesormikro 64 bit .

Jika kita membuat ukuran dari masing-masing halaman menjadi lebih besar, keuntungannya akses memori akan relatif lebih cepat. Jika kita membuat ukuran dari masing-masing halaman menjadi lebih kecil. Selain itu kemungkinan terjadinya internal Fragmentasi akan menjadi lebih kecil. Keuntungan lainnya dari paging adalah, konsep memori virtual bisa diterapkan dengan menuliskan halaman ke disk, dan pembacaan halaman dari disk ketika dibutuhkan. Hal ini dikarenakan jarangnya pengunaan kode-kode dan data suatu program secara keseluruhan pada suatu waktu.

Gambar Segmentasi dengan Pemberian Halaman
4.      Solusi yang ditawarkan oleh management memory terhadap kasus ketika segmentasi melampaui kemampuan dari virtual memori adalah segmentasi dengan pemberian halaman. Ketika sebuah program dimasukkan ke dalam CPU, maka program tersebut  dibagi menjadi segmen – segmen. Saat program tersebut diperlukan dalam memori yang besar, maka virtual memori akan berperan. Namun jika segmen program yang digunakan ukurannya lebih besar dari kemampuan memori virtual tersebut, maka diperlukan pemberian halaman (paging). Dengan pemberian halaman ini maka halaman – halaman tertentu saja yang akan dialokasikan ke memori fisik. Ini akan menyebabkan berkurangngnya ukuran dari segmen – segmen program tadi sehingga saat diperlukan segmen dengan ukuran besar bisa diperlukan kapanpun karena segmen-segmen tadi sudah diberi halaman. Artinya program dibagi menjadi segmen – segmen kemudian segmen – segmen tersebut diberi halaman agar pada saat diperlukan hanya halaman – halaman  yang diperlukan saja yang akan dipindahkan ke memori fisik agar tidak melampaui kemampuan memori virtual.

5.      Yang terjadi apabila timbunan dari set tugas melampaui  kapasitas memori fisik  komputer adalah akan terjadi swap. Sistem operasi menyimpan bagian – bagian proses yang digunakan di memori fisik (memori utama) dan sisanya diletakkan di disk. Begitu bagian yang berada di disk diperlukan, maka bagian di memori utama yang tidak diperlukan akan dikeluarkan dari memori fisik (swap-out) dan diganti (swap-in) oleh bagian disk yang diperlukan itu.
 



Text Box: Di memori fisik ini disimpan bagian – bagian yang akan diproses. Ketika ada bagian yang diperlukan dari disk yang ukurannya melampaui ukuran memori fisik, maka akan terjadi timbunan yang menyebabkan bagian yang tidak digunakan lagi/tidak diperlukan lagi akan digantikan dengan bagian dari disk yang diperlukan.
 











2 komentar: