Top 10 List of Week 06

  1. Process
    Process adalah suatu entitas yang mempresentasikan program yang sedang dijalankan pada suatu sistem. Komponen pada process terdiri dari Stack, Heap, Data , dan Text. Pada website ini, banyak membahas mengenai informasi mengenai Process pada sistem operasi seperti Process life cycle dan Process Control Block. Penjelasannya sangat jelas dan pada process life cycle dan process control block disertai dengan visualisasi yang menarik, sehingga lebih mudah untuk dipahami.

  2. Fork()
    Fork() merupakan suatu system call pada bahasa C. Fork memiliki fungsi untuk membuat child process. Fungsi pada fork() sendiri mereturn 3 jenis value, masing-masing value memiliki makna tersendiri. Website ini membahas mengenai penjelasan pemanggilan fork(), dan informasinya juga disertai dengan penjelasan pada masing-masing 3 jenis value, salah satu contohnya apabila fungsi fork() mereturn value 0 maka berarti bahwa fungsi telah berhasil membuat new child process.

  3. Threads
    Thread merupakan bagian dari suatu process. Multithreading merupakan kemampuan suatu process menjalankan perintah-perintah yang berbeda secara bersamaan. Website ini membahas mengenai multithreading mulai dari 3 jenis model pada multithreading, keuntungan dari multithreading, dan lainnya. Selain itu, setiap penjelasan pada struktur thread diberi visualisasi gambar sehingga mudah untuk dipahami.

  4. Concurrency
    Concurrency merupakan kemampuan suatu program menangani banyak request. Concurrency bermanfaat untuk mempercepat suatu process. Pada website ini banyak membahas mengenai concurrency, mekanisme concurrency seperti multitasking, multiprocessing, dan application-based solutions. Penjelasan pada website ini sangat lengkap dibandingkan dengan website-website yang pernah saya lihat.

  5. IPC Shared Memory
    Shared Memory adalah suatu metode dimana process program dapat melakukan pertukaran data lebih cepat daripada melakukan pembacaan dan penulisan. Website ini membahas mengenai langkah-langkah membuat shared memory. Pembahasan yang terdapat pada website ini sangat jelas singkat dan tidak bertele-tele sehingga dapat mudah dipahami.

  6. Race Condition
    Race condition merupakan suatu kondisi dimana behavior dari program bergantung pada timing dari suatu thread. Race condition merupakan masalah yang biasanya muncul dari multi threading. Website ini membahas mengenai Race Condition dan juga contoh-contoh kasus Race condition yang biasanya terjadi. Penjelasannya sangat lengkap dan mudah dipahami.

  7. Synchronization to handle race condition
    Synchronization merupakan solusi untuk mengatasi race condition pada sistem operasi. Pada website ini dibahas mengenai mekanisme dari proses synchronization. Penjelasannya sangat lengkap dan juga disertai dengan visualisasi untuk memudahkan pemahaman mengenai alur dari synchronization yang benar.

  8. Difference between Exec() and Fork()
    Exec merupakan suatu sistem call yang digunakan untuk mengeksekusi suatu program. Fork() merupakan suatu sistem call yang digunakan untuk mengeksekusi suatu process. Namun Exec() dan Fork() memiliki perbedaan. Website ini menjelaskan mengenai perbedaan dari Exec() dan Fork(). Pembahasannya sangat lengkap bahkan disertai dengan contoh-contoh yang dapat memudahkan pemahaman.

  9. Semaphore
    Semaphore merupakan suatu solusi untuk mengatasi race condition. Pada website ini banyak membahas mengenai jenis-jenis Sempahore pada sistem operasi. Pembahasannya sangat jelas bahkan disertai contoh untuk masing-masing tiap jenis dari semaphore.

  10. Buffering
    Buffering merupakan suatu area pada main memory yang digunakan untuk menyimpan data sementara. Website ini membahas secara lengkap mengenai buffering serta alasan mengapa kita melakukan proses buffering. Selain itu website ini juga membahas perbedaan antara buffering dan spooling.