Top 10 List of Week 06

  1. Concurrency in Operating System
    Materi minggu ini adalah Concurrency. Concurrency adalah eksekusi banyak instruksi yang dilakukan pada satu waktu yang sama. Concurrency merupakan cara dalam mengatasi masalah multithreading dalam CPU. Website tersebut berisi penjelasan Concurrency yang cukup lengkap.

  2. Dispatching and context switching
    Context switching terjadi saat CPU switch dari suatu proses ke suatu proses lain. State dari proses yang lama harus disimpan. Dispatcher sendiri merupakan komponen yang memberikan CPU akan kontrol dari suatu proses yang sudah dipilih oleh short-term-scheduler.

  3. Process Scheduling: Long, Medium, Short Term Scheduler
    Process Scheduling adalah OS task yang bertugas menjadwalkan proses dari berbagai status seperti ready, waiting, dan running. Process Scheduling memungkinkan OS mengalokasikan interval waktu eksekusi dari setiap proses. Hal ini penting dilakukan demi mencegah issue threading.

  4. Interrupts
    Interrupt merupakan sinyal yang dikeluarkan oleh software atau hardware ketika suatu proses perlu perhatian saat itu juga. Hal ini memperingatkan prosesor tentang adanya proses prioritas tinggi baru, yang mengakibatkan CPU harus menginterupsi proses yang sedang dilakukan.

  5. Definition of “synchronization primitive”
    Synchronization primitives merupakan sebuah mekanisme dari suatu software yang disediakan oleh platform (Contoh: OS) kepada user dengan tujuan membantu proses threading atau synchronization. Forum stackoverflow tersebut berisi penjelasan lengkap tentang Synchronization primitives dan contoh-contohnya.

  6. Lock Variable
    Lock variable juga merupakan salah satu mekanisme synchronization yang berguna ketika terjadi masalah multithreading. Lock variable memiliki dua nilai yang mungkin, yaitu 0 atau 1. Nilai kunci 0 melambangkan vacancy sedangkan 1 melambangkan okupasi. Website tersebut berisi penjelasan lengkap tentang Lock variable disertakan contoh pseudo-code yang membantu pemahaman.

  7. Mengenal RPC (Remote Procedure Call)
    Remote Procedure Calls (RPC) RPC adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (remote system). Artikel medium tersebut sangat membantu saya dalam memahami apa itu RPC karena penjelasannya yang mudah dimengerti.

  8. Concurrency vs. Parallelism — A brief view
    Concurrency adalah tentang bagaimana suatu sistem “menangani” banyak hal sekaligus, sedangkan Parallelism adalah tentang bagaimana sistem tersebut melakukan “banyak” hal sekaligus. Sebuah aplikasi dapat menjadi concurrent tetapi tidak parallel dan juga sebaliknya. Artikel tersebut memberikan saya banyak sekali insight tentang bagaimana kedua hal tersebut mirip tetapi juga berbeda.

  9. Multithreading Models in Operating System
    Terdapat 3 jenis Multithreading Models yaitu Many to One, One to one dan juga Many to many. Multithreading sendiri merupakan cara pemrosesan data dengan membagi proses tersebut ke banyak thread. Website tersebut berisi penjelasan setiap model multithreading secara lengkap.

  10. Introduction to Threads
    Thread adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi. Merupakan sebuah status eksekusi (ready, running, suspend, block, queue, dll). Video tersebut berisi penjelasan lengkap tentang Threading dari awal sampai akhir.