Cicak Bin Kadal
Top 10 List of Week 04
Annisa Devi Nurmalasari --- Tangerang

Top 10 List of Week 04

  1. How computer memory works - Kanawat Senanan
    Seperti halnya manusia yang menggunakan memory untuk mengingat masa lalu dan merencanakan masa depan, memory pada komputer memiliki peran yang sama (entah itu movie, teks, ataupun instruksi). Karena semua bits di dalam memory cell perlu diproses di CPU, ada hal yang perlu kita perhatikan yaitu (size, cost, dan speed). Komputer memiliki short-term memory untuk instruksi yang langsung dijalankan (misalnya mengetik) dan long-term memory untuk penyimpanan permanen. Penyimpanan short-term adalah RAM dan common type dari RAM adalah DRAM yang masing-masing cell terdiri atas transistor dan capasitor. Penggunaan DRAM less cost tapi low latency sementara SRAM cepat namun mahal. Saya suka dengan video ini karena dipenuhi animasi yang menarik dilihat.

  2. What Is Address Binding?
    Video ini menjelaskan apa itu Address binding, di mana Address binding mengalokasikan physical memory ke logical pointer dengan mengasosiasikan physical address ke logical address (virtual address). Address binding terkait bagaimana code yang kita buat disimpan di memory. Address binding schemes terdiri dari compile time, load time, dan excetuion time. Situs ini menjelaskan address binding secara singkat namun mudah dipahami.

  3. Dynamic Loading
    Untuk mengefisiensi penggunaan CPU, kita harus menyimpan proses di main memory dan meningkatkan degree dari multi-programming, yang salah satu caranya adalah dengan dynamic loading. Saat kira melakukan compile program, akan digenerage object code yang biasanya memiliki modul terkait. Kemudian linker akan menghubungkan object code (modul) ke main object code menjadi single object code. Loader akan melakukan load object code ke main memory untuk dieksekusi (Static loading). Dynamic loading adalah menunda proses loading dengan melakukan eksekusi terhadap main routine, object module tertentu akan dipindahkan ke main memory jika dan hanya jika main routine memanggilnya dan akan dieksekusi. Saya suka dengan video ini karena dilengkapi dengan contoh konkret.

  4. What is difference between Dynamic and Static library(Static and Dynamic linking)
    Video ini menjelaskan perbedaan antara static dengan dynamic linking. Mirip dengan konsep dynamic loader, pada dynamic linking saat tahap link, linker tidak mengaitkan object code dengan semua module object. Linker hanya akan mengambil address dari module object yang akan dieksekusi sehingga “size problem” bisa teratasi. Video ini benar-benar menjelaskan kedua jenis linking dengan spesifik dan perbedaannya dengan jelas.

  5. Operating Systems 2 - Memory Manager
    Video ini menjelaskan terdapat 3 scheme di dalam memory management. Pertama, single user contiguous, sebuah job memasukin main memory, clear, dilanjutkan dengan next job di mana single job tersebut memenuhi semua space dari memory. Sementara jika job terlalu besar maka tidak akan dieksekusi. Jika kita ingin memproses beberapa jobs sekaligus, digunakan fixed-partitions di mana penggunaan partisinya disimpan di partition memory table. Jika size dari partisi static, harus dilakukan rebooting, untuk mencegahnya, digunakan dynamic partitions yang mencari ukuran partisi paling tepat (smallest untuk job itu sendiri dan more space untuk job lainnya).

  6. Contiguous Memory Allocation
    Bagaimana cara mengalokasikan ruang memory untuk proses yang sudah mengantri? Solusinya adalah Contiguous Memory Allocation, di mana Contiguous Memory Allocation adalah salah satu method untuk mengalokasikan suatu bagian memory yang berdekatan ke suatu proses. Untuk itu, memory bisa dibagi menjadi beberapa partisi, di antaranya Fixed-Sized Partition dan Variable-Size Partition. Saya suka dengan situs ini, karena terdapat gambaran partisi untuk contiguous memory.

  7. Fragmentation: What Is Disk Fragmentation?
    Situs ini menjabarkan cakupan yang luas dalam bahasan fragmentasi. Tujuan dari fragmentasi itu sendiri adalah untuk membantu operating system menggunakan ruang tersedia di dalam suatu penyimpanan. Situs ini juga menjelaskan beberapa tipe dari fragmentation di antaranya, internal, di mana RAM terlalu banyak disediakan yang kemudian tidak digunakan lagi oleh OS. Tipe eksternal terjadi ketika aplikasi dihapus dari memory dan ruang yang digunakan tidak segera dialokaskan kembali. Sementara data fragmentasi ditulis di memori dengan tidak berurutan.

  8. Paging in Operating Systems with Example & Working - Memory Management
    Paging juga merupakan salah satu method untuk mengefisiensi memory management di mana paging akan mengambil beberapa porsi space di secondary memory untuk virtual ram. Paging merupakan salah satu bagian penting dari implementasi virtual memory os masa kini dengan menggunakan secondary memory sehingga membiarkan program melampai ukuran yang ada pada physical memory. Saya suka dengan video ini karena memberikan contoh dengan rangkaian yang jelas terkait paging.

  9. Swapping in Operating System
    Situs ini membantu saya mengerti mengenai swapping di mana swapping adalah menukar tempat proses dari main memory ke secondary memory sehingga space di main memory bisa digunakan untuk proses lain. Swapping terdiri dari dua konsep, yaitu swap-in (menghapus program dari hard-disk dan mengembalikannya ke RAM) dan swap-out(menghapus proses dari RAM dan menambahkannya ke hard-disk). Selain menjelaskan definisi swapping, situs ini juga memberikan contoh perhitungan, kelebihan, dan kekurangan dari swapping.

  10. [C/C++] Basic Introduction to Pointers and Memory - What is a pointer?
    Video ini membuat saya lebih mengerti tentang pointers pada C karena video ini juga mengimplementasikan langsung penggunaan pointer secara detil. Selain itu, video ini juga menerangkan apa yang sebenarnya terjadi pada memory saat program C kita dijalankan.


© 2021-2021 --- Annisa Devi Nurmalasari --- File Revision: 0030---05-Mar-2021.