Selasa, 07 April 2020

Administrasi Memori Pada Sistem Operasi Bab 2

Artikel ini adalah lanjutan dari  Manajemen Memori Pada Sistem Operasi Bagian 1 Beberapa perumpamaan dalam manajemen memori : Swaping 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 menaruh copy dari semua memory image untuk semua user, metode juga harus menawarkan susukan pribadi ke memory image tersebut. Contohnya, suatu lingkungan multiprogramming dengan penjadwalan CPU memakai algoritma round-robin. Pada saat waktu kuantum berakhir, manajer memori akan memulai untuk menukar proses yang gres tamat keluar dan menukar proses lain ke dalam memori yang dibebaskan. Pada waktu berlangsung, penjadwal CPU (CPU scheduler) akan mengalokasikan sejumlah waktu untuk proses lainnya di memori. Ketika masing-masing proses menyelesaikan waktu kuantum-nya, akan ditukar dengan proses lainnya. Kebijakan penukaran juga mampu digunakan pada algoritma penjadwalan berbasis prioritas. Jika proses memiliki prioritas lebih tinggi tiba 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 dijalankan pada ketika load-time, maka proses tidak dapat dipindah ke lokasi yang berlainan. Tetapi, kalau pengikatan pada saat execution-time , maka kemungkinan proses ditukar ke ruang memori yang berlawanan, karena alamat fisik dijumlah selama waktu hukuman. Bila CPU scheduler memutuskan untuk mengeksekusi proses, OS mengundang dispatcher. Dispatcher mengusut untuk melihat apakah proses selanjutnya pada ready queue ada di memori. Jika tidak dan tidak terdapat cukup memori bebas, maka dispatcher swap out suatu proses yang ada di memori dan swap in proses tersebut. Kemudian reload register ke kondisi normal. Teknik swapping yang telah dimodifikasi ditemui pada beberapa sistem misalnya Linux, UNIX dan Windows. Jeffersonsl , CC BY-SA 4.0 , via Wikimedia Commons Partitioning Memori utama umumnya dibagi ke dalam dua partisi yaitu untuk Sistem operasi biasanya ditaruh pada alamat memori rendah dengan vektor Proses user yang ditaruh pada alamat memori tinggi. Alokasi proses user pada memori berupa single partition allocation atau Pada single partition allocation diasumsikan sistem operasi ditempatkan di memori rendah dan proses user dihukum di memori tinggi. Kode dan data tata cara operasi mesti diproteksi dari pergeseran tak terduga oleh user proses. Proteksi dapat dikerjakan dengan menggunakan register relokasi (relocation register) dan register limit (limit register). Register relokasi berisi nilai dari alamat fisik terkecil sedangkan register limit berisi jangkauan alamat akal dan alamat akal mesti lebih kecil dari register limit. MMU memetakan alamat logika secara dinamis dengan memperbesar nilai pada register relokasi. Multiple Partition Allocation membolehkan memori user dialokasikan untuk proses yang berlawanan yang berada di antrian input (input queue) yang menanti dibawa ke memori. Terdapat dua denah yakni partisi tetap (fixed partition) dimana memori dibagi dalam sejumlah partisi tetap dan setiap partisi berisi sempurna satu proses. Jumlah partisi terbatas pada tingkat multiprogramming. Digunakan oleh IBM OS/360 yang disebut Multiprogramming with a Fixed number of Task (MFT). Skema yang kedua yakni partisi dinamis (variable partition) ialah MFT yang digeneralisasi yang disebut Multiprogramming with a Variable number of Tasks (MVT). Skema ini dipakai utamanya pada lingkungan batch. Pada MVT, metode operasi menyimpan tabel yang berisi bagian memori yang tersedia dan yang dipakai. Mula-mula, semua memori tersedia untuk proses user sebagai satu blok besar (large hole). Lubang (hole) ialah blok yang tersedia di memori yang memiliki ukuran berlawanan. Bila proses tiba dan memerlukan memori, dicari lubang (hole) yang cukup untuk proses tersebut. Bila ditemukan memory manager mengalokasikan sejumlah memori yang diperlukan dan menyimpan sisanya untuk undangan berikutnya. Sistem operasi menyimpan info wacana partisi yang dialokasikan dan partisi yang bebas (hole). Baca juga : Cara Menghitung Bandwidth Memori Pada VGA Card Modern Memahami Fungsi dan Cara Kerja Memori RAM Pada Komputer Paging Paging ialah kemungkinan solusi untuk problem fragmentasi eksternal dimana ruang alamat nalar tidak berurutan; mengizinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran tetap yang disebut frame. Memori logika juga dibagi ke dalam blok-blok dengan ukuran yang sama yang disebut page. Semua daftar frame yang bebas disimpan. Untuk melakukan acara dengan ukuran n page, perlu mendapatkan n frame bebas dan menaruh program pada frame tersebut. Tabel page (page table) digunakan untuk menterjemahkan alamat nalar ke alamat fisik. Setiap alamat dibangkitkan oleh CPU dengan membagi ke dalam 2 bab yakni : Page number (p) digunakan sebagai indeks ke dalam table page (page table). Page table berisi alamat basis dari setiap page pada memori fisik. Page offset (d) mengkombinasikan alamat basis dengan page offset untuk mendefinisikan alamat memori fisik yang diantarke unit memori. Чоймаа , CC BY-SA 3.0 , via Wikimedia Commons Implementasi Sistem Paging Setiap tata cara operasi mempunyai metode sendiri untuk menyimpan tabel page. Beberapa tata cara operasi mengalokasikan sebuah tabel page untuk setiap proses. Pointer ke tabel page disimpan dengan nilai register lainnya dari PCB. Pada dasarnya terdapat 3 sistem yang berbeda untuk implementasi tabel page : Tabel page diimplementasikan sebagai kumpulan dari “dedicated” register. Register berbentukrangkaian akal berkecepatan sungguh tinggi untuk efisiensi translasi alamat paging. Tabel page disimpan pada main memori dan menggunakan page table base register”(PTBR) untuk menunjuk ke tabel page yang disimpan di main memori. Penggunakan memori untuk mengimplementasikan tabel page akan memungkinkan tabel page sungguh besar (sekitar 1 juta entry). Perubahan tabel page hanya mengganti PTBR dan menurunkan waktu context-switch. Akan namun penggunaan sistem ini memperlambat kanal memori dengan aspek 2. Hal ini dikarenakan untuk mengakses memori perlu dua langkah : pertama untuk lokasi tabel page dan kedua untuk lokasi alamat fisik yang dibutuhkan. Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang disebut associative register atau translation look-aside buffers (TLBs). Merupakan penyelesaian patokan untuk persoalan penggunaan memori untuk implementasi tabel page.  sekumpulan associative register berbentukmemori kecepatan tinggi. Setiap register berisikan 2 bagian adalah key dan value. Jika associative register menawarkan item, akan daripada semua key secara simultan. Jika item ditemukan nilai yang bekerjasama diberikan. Model ini memperlihatkan penelusuran cepat tetapiperangkat keras masih mahal. Segementasi Konsep segmentasi yakni user atau programmer tidak memikirkan sejumlah berkala acara yang dipetakan ke main memori selaku array linier dalam byte tetapi memori dilihat sebagai kumpulan segmen dengan ukuran berbeda-beda, tidak perlu berurutan diantara segment tersebut. Segmentasi adalah bagan manajemen memori yang memungkinkan user untuk melihat memori tersebut. Ruang alamat logika ialah kumpulan segmen. Setiap segmen memiliki 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 dibuat secara otomatis oleh compiler. Sebuah program yakni kumpulan segmen. Suatu segmen ialah unit nalar mirip program utama, mekanisme, fungsi, tata cara, obyek, variabel lokal, variabel global, blok umum, stack, tabel simbol, array dan lain-lain.
Sumber http://teknojempol.blogspot.com


EmoticonEmoticon

:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:o
:>)
(o)
:p
:-?
(p)
:-s
8-)
:-t
:-b
b-(
(y)
x-)
(h)