Home | Week1 | Week2 | Week3 | Week4 | Week5 | Week6 | Week7 | Week8 | Week9 | Week10 | Key | Rank | Log
Address binding adalah pemetaan dari suatu address ke address lainnya. Untuk dapat dieksekusi, sebuah program harus dipindahkan ke main memory. Logical address yang dibuat saat eksekusi perlu ditranslasi oleh Memory Management Unit (MMU) menjadi physical address.
Memory Management Unit merupakan komponen hardware yang melakukan pemetaan dari logical address ke physical address.
Pada link sebelumnya sudah diketahui bahwa MMU melakukan mapping dari logical ke physical address. Pada page ini akan dijelaskan bagaimana tahapan translasi tersebut dilakukan.
Sebagai alternatif dari link di atas, berikut penjelasan melalui video tentang address translation dan perbedaan pada logical dan physical address.
Memory allocation adalah proses penyediaan sebagian atau keseluruhan memori untuk mengeksekusi suatu proses atau lebih. Memory allocation dapat dibagi menjadi dua berdasarkan kapan proses alokasi tersebut dilakukan, yaitu static dan dynamic allocation.
Dynamic allocation menyebabkan permasalahan yang harus diperhatikan memory manager untuk tetap dapat mengatur alokasi memori dengan baik terutama ketika menentukan bagaimana memori dialokasi ketika ada proses baru dan didealoksi ketika ada proses yang selesai. Strategi yang popular dalam mengatasi masalah ini adalah first-fit, best-fit, dan worst-fit strategy.
Salah satu teknik memory management yang ada adalah paging dimana proses dibagi-bagi menjadi pages. Page table digunakan dalam memetakan address page dari suatu proses dengan physical addressnya di memory.
Swapping adalah teknik memory management terkait terbatasnya main memory lainnya. Pada swapping, proses yang sedang tidak dijalankan di main memory ditukar dengan proses pada disk yang siap dieksekusi.
Endiannes adalah aspek dari suatu sistem mengenai apakah suatu bilangan direpresentasikan untuk dibaca dari kiri ke kanan atau sebaliknya. Tipe endianness ini ditentukan oleh CPU dan sifatnya implisit. Beberapa arsitektur menggunakan little endian dan yang lainnya menggunakan big endian.
Static library direferensi saat compile time dan menyertakan salinan dari seluruh code para librarynya untuk dieksekusi. Terlebih, ketika library diextend, perlu dilakukan recompile. Berbeda dengan shared library yang direferensi saat runtime, hanya memiliki satu instance, dan akan diload ketika dibutuhkan.
Here is the Github Repo