Sistem Operasi.docx DOWNLOAD DI SINI
Sistem Operasi
Management Memory
Memori
Memori adalah pusat kegiatan pada
sebuah komputer, karena setiap proses yang akan dijalankan, harus melalui
memori terlebih dahulu. CPU mengambil instruksi dari memori sesuai yang ada
pada Program Counter. Instruksi dapat berupa menempatkan/menyimpan dari/ke
alamat di memori, penambahan, dan sebagainya. Tugas
sistem operasi adalah
mengatur peletakan banyak proses pada suatu memori. Memori harus dapat
digunakan dengan baik, sehingga dapat memuat banyak proses dalam suatu waktu.
Pemetaan Alamat
Umumnya sebuah proses ditempatkan di
disk dalam bentuk berkas biner yang dapat dieksekusi. Sebelum dieksekusi sebuah
program harus ditempatkan di memori terlebih dahulu. Sebelum diload ke dalam
memori proses yang harus masuk dalam antrian sebelum dieksekusi. Prosedur
penempatan yang biasa dilakukan adalah dengan memilih salah satu proses yang
ada antrian.
Ruang Alamat Logika dan
Fisik
Alamat Logika adalah alamat yang
dibentuk di CPU, disebut juga alamat virtual. Alamat fisik adalah alamat yang
telihat oleh memori. Waktu kompilasi dan waktu pemanggilan menghasilkan daerah
dimana alamat logika dan alamat fisik sama. Sedangkan pada waktu eksekusi
menghasilkan alamat fisik dan logika yang berbeda.
Untuk mengubah dari alamat logika ke alamat
fisik diperlukan suatu perangkat keras yang bernama Memory Management Unit
(MMU).
Dynamic Loading
Ukuran dari memori fisik terbatas.
Untuk mendapatkan utilisasi ruang memori yang baik, kita melakukan pemanggilan
dinamis. Dengan pemanggilan dinamis, sebuah rutin tidak akan dipanggil sampai
diperlukan.
Semua rutin diletakkan di disk, dalam
format yang dapat dialokasikan ulang. Program utama di tempatkan di memori dan
dieksekusi.
Keuntungan dari pemanggilan dinamis
adalah rutin yang tidak digunakan tidak pernah dipanggil.
Dynamic Linking &
Library
Pada proses dengan banyak langkah,
ditemukan juga penghubungan-penghubungan perpustakaan yang dinamis, yang
menghubungkan semua rutin yang ada di perpustakaan.
Konsep penghubungan dinamis, serupa
dengan konsep pemanggilan dinamis. Pemanggilan lebih banyak ditunda selama
waktu eksekusi, dari pada lama penundaan oleh penghubungan dinamis.
Keistimewaan ini biasanya digunakan dalam library system.
Tanpa fasilitas tersebut, semua
program dalam sebuah sistem, harus mempunyai salinan dari library mereka (atau
setidaknya referensi rutin oleh program). Kebutuhan ini sangat boros baik untuk
disk, maupun memori utama.
Dynamic Linking &
Library
Fasilitas ini dapat diperluas menjadi
pembaharuan perpustakaan. Sebuah kumpulan data dapat ditempatkan lagi dengan
versi yang lebih baru dan semua program yang merujuk ke perpustakaan akan
secara otomatis menggunakan versi yang baru. Tanpa pemanggilan dinamis, semua
program akan membutuhkan pemanggilan kembali, untuk dapat mengakses perpustakaan
yang baru.
Overlays
Overlays berguna untuk memasukkan
suatu proses yang membutuhkan memori lebih besar dari yang tersedia. Idenya
untuk menjaga agar di dalam memori berisi hanya instruksi dan data yang
dibutuhkan dalam satuan waktu. Rutinnya dimasukkan ke memori secara bergantian.
Seperti dalam pemanggilan dinamis,
overlays tidak membutuhkan bantuan dari sistem operasi. Implementasi dapat
dilakukan secara lengkap oleh pengguna dengan berkas struktur yang sederhana,
membaca dari berkas ke memori, dan pindah dari memori tersebut, dan
mengeksekusi instruksi yang baru dibaca. Sistem operasi hanya memperhatikan
jika ada lebih banyak M/K dari biasanya.
Overlays
Cara kerjanya yaitu membuat beberapa
overlays yang berdidasarkan pada instruksi yang dibutuhkan pada waktu tertentu.
Setelah itu membuat overlays driver yang berfungsi sebagai perantara antar
overlays yang dibuat. Proses selanjutnya adalah meload instruksi yang
dibutuhkan pada satu waktu ke memori dan menunda memory yang lainnya. Setelah
selesai dengan instruksi yang sekarang maka instruksi yang ditunda di load ke
memory dengan menimpa instruksi yang sebelumnya.
Swap
Sebuah proses harus berada di dalam
memori untuk dapat dieksekusi. Sebuah proses, bagaimana pun juga, dapat ditukar
sementara keluar memori ke sebuah penyimpanan sementara, dan kemudian dibawa
masuk lagi ke memori untuk melanjutkan pengeksekusian.
Ketika kuantum suatu proses habis,
pengatur memori akan mulai menukar proses yang telah selesai, dan memasukkan
proses yang lain ke dalam memori yang sudah bebas. Sementara di saat yang
bersamaan, penjadual CPU akan mengalokasikan waktu untuk proses lain di dalam
memori. Idealnya, manajer memori dapat melakukan pertukaran proses tersebut
dengan cukup cepat sehingga beberapa proses akan selalu berada di dalam memori
dan siap untuk dieksekusi. Lama kuantum pun harus cukup besar sehingga jumlah
komputasi yang dilakukan selama terjadi pertukaran cukup masuk akal.
Variasi dari kebijakan swapping untuk
proses berbasis prioritas. Jika proses dengan prioritas lebih tinggi tiba dan
meminta layanan, manajer memori dapat menukar keluar 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. Cara ini disebut
juga dengan metoda roll out, roll in.
Penukaran membutuhkan sebuah
penyimpanan sementara. Penyimpanan sementara pada umumnya adalah sebuah fast
disk, dan harus cukup untuk menampung salinan dari seluruh gambaran memori, dan
harus mendukung akses langsung terhadap gambaran memori tersebut.
Sistem mengatur ready queue yang
berisikan semua proses yang gambaran memorinya berada di memori dan siap untuk
dijalankan. Saat sebuah penjadual CPU ingin menjalankan sebuah proses, ia akan
memeriksa apakah proses yang mengantri di ready queue tersebut sudah berada di
dalam memori tersebut atau belum. Apabila belum, penjadual CPU akan melakukan
penukaran keluar terhadap proses-proses yang berada di dalam memori sehingga
tersedia tempat untuk memasukkan proses yang hendak dieksekusi tersebut.
Swap
Penukaran dipengaruhi oleh banyak
faktor. Jika kita hendak menukar suatu proses, kita harus yakin bahwa proses
tersebut siap. Hal yang perlu diperhatikan adalah kemungkinan proses tersebut
sedang menunggu I/O.
Apabila I/O mengakses memori pengguna
untuk I/O buffer, maka proses tersebut tidak dapat ditukar. Cara untuk mengatasi
masalah ini adalah:
1. Hindari
menukar proses yang sedang menunggu M/K.
2. Lakukan
eksekusi operasi M/K hanya di buffer sistem operasi
Swap
Pada masa sekarang ini, proses
penukaran secara dasar hanya digunakan di sedikit sistem. Hal ini dikarenakan
penukaran menghabiskan terlalu banyak waktu tukar dan memberikan waktu eksekusi
yang terlalu kecil sebagai solusi dari managemen memori. Akan tetapi, banyak
sistem yang menggunakan versi modifikasi dari metoda penukaran ini.
No comments:
Post a Comment