os211

Top 10 List of Week 04

1. Logical vs Physical Address Space

Terdapat 2 tipe address pada memory, yaitu logical dan physical address. Perbedaan mendasar di antara kedua tipe address ini yaitu logical address merupakan suatu address yang dihasilkan oleh CPU (sering disebut juga virtual address), sedangkan physical address merupakan alamat yang terdapat di memory. Menurut saya ini cukup menjelaskan perbedaan mendasar antara kedua tipe address ini hingga perbandingan berdasarkan beberapa aspek seperti visibility, access, address space, dan lainnya.

2. Address Binding

Address binding merupakan sebuah prosedur untuk menetapkan physical address yang akan digunakan oleh program yang terdapat di dalam main memory. Dalam website tersebut dijelaskan bahwa terdapat 3 tipe address binding, yaitu compile time, load time, dan execution time. Pada dasarnya, perbedaan ketiga tipe tersebut adalah berdasarkan waktu dilakukannya address binding terhadap loading program ke memory.

Static dan dynamic linking adalah dua proses mengumpulkan dan menggabungkan beberapa file object untuk membuat satu file yang dapat dieksekusi. Pada artikel tersebut berisi tutorial tentang bagaimana static dan dynamic linking di C dilakukan untuk static dan shared libraries (Dynamic Link Libraries).

4. Dynamic Linking vs Dynamic Loading

Pada proses eksekusi program, linking dan loading memainkan peran yang penting dan memiliki keterkaitan satu sama lain. Artikel tersebut menjelaskan proses linking dan proses pada dynamic loading, serta perbandingan antara dynamic loading dan dynamic linking.

5. Paging in OS

Paging adalah sebuah mekanisme storage yang memungkinkan OS untuk mengambil proses dari penyimpanan sekunder ke dalam main memory dalam bentuk page. Manfaat terbesar dari paging adalah penggunaan algoritma memory management yang mudah, meskipun dapat menyebabkan internal fragmentation.

6. Page Table

Kelanjutan dari artikel sebelumnya mengenai konsep paging, artikel ini menjelaskan lebih dalam mengenai struktur pada paging beserta skema dari konsep-konsep tersebut. Pada konsep paging terdapat suatu page table, yaitu yang akan menerjemahkan memori virtual menjadi memori fisik.

7. Structure of Page Table

Terdapat 3 metode yang digunakan untuk menyusun page table, yaitu hierarchical, hashed, dan inverted page table. Pada hierarchical, logical address dibagi menjadi beberapa bagian yang masing-masing mengacu pada level page table yang berbeda. Namun, terdapat masalah jika address melebihi 32 bit. Oleh karena itu, dapat digunakan 2 cara lain yaitu hashed dan inverted page table yang dijelaskan lebih lanjut pada artikel tersebut.

8. Difference Between Paging and Swapping in OS

Selain paging, terdapat strategi memory management lain yang perlu diketahui, yaitu Swapping. Perbedaan mendasar antara keduanya yaitu pada paging menghindari terjadinya external fragmentation dengan mengizinkan physical address space dari sebuah proses menjadi non-contiguous, sedangkan swapping mengizinkan multiprogramming.

9. Contiguous Memory Allocation

Sistem operasi bertanggung jawab untuk mengontrol akses ke sumber daya sistem, salah satunya adalah memori. Pengalokasian memori dibagi menjadi 2 tipe, yaitu contiguous allocation dan non-contiguous allocation. Pada contiguous allocation, tiap proses menempati satu blok tunggal lokasi memori yang berurutan. Artikel ini menjelaskan lebih lanjut mengenai hal ini beserta keuntungan dan kerugiannya.

10. Memory Fragmentation

Memory fragmentation merupakan sebuah fenomena munculnya ruang memori kecil yang tidak digunakan dan tidak cukup besar untuk menampung permintaaan alokasi memori dari proses. Memory fragmentation memiliki 2 tipe, yaitu internal dan external fragmentation. Pada artikel ini dijelaskn perbedaan keduanya dan solusi untuk menghindarinya.