os211

Top 10 List of Week 06

1. Process Management in OS

Secara sederhana, proses merupakan suatu unit eksekusi dimana program berjalan. Proses juga dapat dikatakan sebagai program yang sedang dieksekusi. Manajemen proses merupakan salah satu masalah utama dalam sistem operasi yang melibatkan berbagai tugas seperti pembuatan, penjadwalan, penghentian proses, dan dead lock.

2. Process Creation & Termination

Pocess creation dicapai melalui pemanggilan sistem fork() yang kemudian terdapat 2 proses setelahnya, yaitu Parent Process dan Child Process. Sedangkan process termination dapat dilakukan dengan 2 cara, yaitu secara abnormally maupun normally. Website ini menjelaskan lebih lanjut terkait process creation & termination beserta contoh simple program.

3. Fork System Call Linux

Fork system call digunakan untuk membuat proses baru. Proses baru yang dibuat tersebut disebut child process. Sementara itu, proses yang memanggil fork dan membuat proses baru disebut parent process. Dalam website tersebut juga terdapat contoh-contoh code yang dapat membantu untuk memahami fungsi fork().

4. Process Scheduling

Sesuai dengan namanya, process scheduling merupakan tugas sistem operasi untuk menjadwalkan proses dari berbagai status. Terdapat 3 tipe dari process scheduler, yaitu long term, short term, dan medium term. Perbedaan dari ketiga tipe ini dijelaskan lebih lanjut pada website di atas.

5. Interprocess Communication

Interprocess communication adalah mekanisme yang disediakan sistem operasi untuk mengizinkan beberapa proses agar dapat berkomunikasi satu sama lain. Komunikasi ini dapat berupa proses yang memberi tahu proses lain bahwa beberapa peristiwa telah terjadi atau transfer data dari satu proses ke proses lainnya.

6. What Is a “Zombie Process” on Linux?

Proses yang telah dihentikan, tetapi parent-nya belum memanggil wait (), dikenal sebagai zombie process. “Zombie” ini akan tetap berada dalam memory sampai dibersihkan. Pada dasarnya zombie process yang tidak terlalu besar tidak perlu dihilangkan, namun ada beberapa cara untuk menyingkirkan zombie process ini yang dijelaskan pada artikel di atas.

7. Introduction to Threads

Setelah mengenal istilah proses yang merupakan program yang sedang dieksekusi, kita mulai mengenal istilah lain, yaitu thread yang merupakan unit dasar eksekusi. Dalam video ini dijelaskan mengenai threads, single-threaded process, multi-threaded process, dan manfaat dari multi-threaded programming.

8. User-level threads and Kernel-level threads

Terdapat dua tipe utama dari threads, yaitu user-level threads dan kernel-level threads. User-level threads diimplementasi oleh user sedangkan kernel-level threads di-handle langsung oleh sistem operasi. Dalam website tersebut dikatakan bahwa user-level threads lebih cepat dan lebih mudah dibuat, namun masing-masing tipe tersebut juga memiliki kelebihan dan kekurangannya masing-masing.

9. What is the concept of Multithreading in OS and what are its benefits?

Kita sudah sering mendengar konsep multithreading yang mengizinkan beberapa thread untuk berjalan secara bersamaan/paralel. Sebelumnya juga kita sudah tau bahwa terdapat 2 tipe thread (user-level thread & kernel-level thread). Agar thread-thread tersebut dapat berfungsi bersama, maka dibuatlah relasi dengan multithreading model (1:1, N:1, dan N:N).

10. Threading Issues in OS

Threading issues dapat muncul pada suatu multithreading environtment. Terdapat beberapa threading issues dalam OS, yaitu system calls, thread cancellation, signal handling, thread pool, dan thread specific data. Dalam website tersebut juga dibahas bagaimana masalah ini dapat ditangani untuk mempertahankan manfaat dari lingkungan pemrograman multithread.