os202

OS202

View the Project on GitHub rabialco/os202

HOME


Top 10 List of Week 05

  1. Virtual Memory
    Hal pertama yang saya pelajari adalah bahwa virtual memory merupakan teknik yang memungkinkan eksekusi proses yang tidak sepenuhnya ada di memori. Satu keuntungan utama dari skema ini adalah bahwa program bisa lebih besar dari memori fisik. Memori virtual juga mengabstraksi memori utama menjadi array penyimpanan yang sangat besar dan seragam, memisahkan memori logis seperti yang dilihat oleh pemrogram dari memori fisik. Teknik ini membebaskan programmer dari kekhawatiran akan batasan penyimpanan memori. Memori virtual juga memungkinkan proses untuk berbagi file dan libraries, dan untuk mengimplementasikan memori bersama. Namun, memori virtual tidak mudah untuk diimplementasikan, dan dapat secara substansial menurunkan kinerja jika digunakan secara sembarangan.
    -> Source : OSC10, Page 389

  2. Demand Paging
    Hal kedua yang saya pelajari adalah bahwa demand paging merupakan sistem yang sangat mirip dengan swapping di mana proses berada di memori sekunder dan halaman dimuat hanya atas permintaan, bukan sebelumnya. Ketika context switch terjadi, sistem operasi tidak menyalin halaman program lama apa pun ke disk atau halaman program baru mana pun ke dalam memori utama. Sebaliknya, ia hanya mulai menjalankan program baru setelah memuat halaman pertama dan mengambilnya halaman program sebagaimana mereka direferensikan. Saat menjalankan program, jika program mereferensikan halaman yang tidak tersedia di memori utama karena ditukar beberapa saat yang lalu, prosesor memperlakukan referensi memori yang tidak valid ini sebagai kesalahan halaman dan mentransfer kontrol dari program ke sistem operasi ke menuntut halaman tersebut kembali ke dalam memori.
    -> Source : Demand Paging

  3. Copy on Write
    Hal ketiga yang saya pelajari adalah bahwa copy on write memiliki fungsi sebagai pekerjaan yang mengizinkan proses parent dan child pada awalnya untuk berbagi halaman yang sama. Halaman bersama ini ditandai sebagai copy on write saat menulis, artinya jika salah satu proses menulis ke halaman bersama, salinan halaman bersama akan dibuat. Jika proses child mencoba untuk mengubah halaman yang berisi bagian dari stack, dengan halaman yang disetel menjadi copy on write. Sistem operasi akan mendapatkan frame dari free-frame list dan membuat salinan halaman ini, yang selanjutnya akan dipetakan ke ruang alamat proses child. Proses child kemudian akan mengubah halaman yang disalin dan bukan halaman milik proses parent.
    -> Source : OSC10, Page 399

  4. Page Replacement
    Hal keempat yang saya pelajari adalah bahwa page replacement merupakan teknik yang digunakan Sistem Operasi untuk memutuskan halaman memori mana yang akan ditukar, yang selanjutnya melakukan penulisan ke dalam disk ketika halaman memori perlu dialokasikan. Algoritma page replacement juga melihat informasi terbatas tentang akses halaman yang disediakan oleh perangkat keras, dan mencoba memilih halaman mana yang harus diganti untuk meminimalkan jumlah halaman yang terlewat, sambil menyeimbangkannya dengan biaya penyimpanan utama dan waktu prosesor dari algoritme diri.
    -> Source : Page Replacement

  5. Basic Page Replacement
    Hal kelima yang saya pelajari adalah bahwa basic page replacement merupakan salah satu contoh dari page replacement yang memiliki pendeketan dengan mencari availibility dari free frame, jika tidak ada free frame, basic page replacement menemukan bingkai yang saat ini tidak digunakan dan membebaskannya. Kita dapat membebaskan bingkai dengan menulis isinya untuk menukar ruang dan mengubah tabel halaman (dan semua tabel lainnya) untuk menunjukkan bahwa halaman tidak lagi dalam memori. Sehingga basic page replacement memberikan kemudahan untuk dapat menggunakan frame yang dibebaskan untuk menahan halaman yang prosesnya salah. Source: English
    -> Source : OSC10, Page 401

  6. Allocation Algorithms
    Hal keenam yang saya pelajari adalah bahwa allocation algorithms merupakan algoritma yang memudahkan untuk melakukan pembagian frames dari banyaknya proses yang ada agar dapat memberikan pembagian yang setara. Dalam jalannya algoritma ini juga membuat sistem operasi untuk mengabaikan terhadap sebagian frame secara sementara. Skema ini juga dapat dibilang sebagai equal allocation. Adapun juga propotional allocation yang melakukan alokasi memori yang tersedia untuk setiap proses sesuai dengan ukurannya. Ukuran ini juga dipengaruhi oleh besarnya virtual memori yang tersedia untuk melakukan proses.
    -> Source : OSC10, Page 414

  7. Non-Uniform Memory Access
    Hal ketujuh yang saya pelajari adalah bahwa non-uniform memory access merupakan sistem yang mengatur CPU tertentu untuk dapat mengakses beberapa bagian memori utama lebih cepat daripada yang dapat mengakses bagian lain. Perbedaan kinerja ini disebabkan oleh bagaimana CPU dan memori saling berhubungan dalam sistem. Sistem seperti itu terdiri dari beberapa CPU, masing-masing dengan memori lokalnya sendiri. CPU diatur menggunakan interkoneksi sistem bersama, dan seperti yang Anda duga, CPU dapat mengakses memori lokalnya lebih cepat daripada memori lokal ke CPU lain. Sistem NUMA (Non-Uniform Memory Access) tanpa kecuali lebih lambat daripada sistem di mana semua akses ke memori utama diperlakukan sama. Sistem NUMA dapat menampung lebih banyak CPU dan oleh karena itu mencapai tingkat throughput dan paralelisme yang lebih tinggi.
    -> Source : OSC10, Page 418

  8. Thrasing
    Hal kedelapan yang saya pelajari adalah bahwa thrasing merupakan hal yang terjadi ketika proses tidak memiliki frame yang cukup yang berarti tidak memiliki jumlah minimum frame yang dibutuhkan untuk mendukung halaman dalam set kerja. Prosesnya akan cepat terjadi kesalahan halaman. Pada titik ini, beberapa halaman harus diganti namun, karena semua halamannya aktif digunakan, halaman tersebut harus segera menggantikan halaman yang akan dibutuhkan lagi. Akibatnya, itu dengan cepat membuat kesalahan lagi, dan lagi, dan lagi, mengganti halaman yang harus segera dibuka kembali. Sebuah proses thrasing terjadi jika menghabiskan lebih banyak waktu paging daripada mengeksekusi. Seperti yang Anda duga, thrasing menghasilkan masalah kinerja yang parah.
    -> Source : OSC10, Page 419

  9. Memory Compression
    Hal kesembilan yang saya pelajari adalah bahwa memory compression merupakan alternatif yang dapat dilakukan dari paging. Memory compression melakukan compress beberapa frames dan mengubahnya menjadi single frame yang menyebabkan memungkinkan sistem untuk mengurangi penggunaan memori tanpa harus bertukar halaman.
    -> Source : OSC10, Page 425

  10. How Linux Manage Virtual Memory
    Hal kesepuluh yang saya pelajari adalah bahwa Linux menggunakan demanding paging untuk mengalokasikan halaman dari daftar free frame. Selain itu, ia menggunakan kebijakan global page-replacement policy yang mirip dengan algoritma perkiraan LRU. Untuk mengelola memori, Linux memelihara dua jenis daftar halaman: daftar aktif dan daftar tidak aktif. Daftar aktif berisi halaman-halaman yang dianggap digunakan, sedangkan daftar tidak aktif berisi halaman-halaman yang belum lama ini direferensikan dan memenuhi syarat untuk diklaim kembali.
    -> Source : OSC10, Page 437