os211

My Week-6 Top 10 List

1. Process

Process dapat didefinisikan sebagai unit eksekusi dimana sebuah program berjalan. Website ini bagus untuk untuk orang awam untuk mempelajari lebih lanjut tentang process karena di website ini dijelaskan juga mengenai process management, process architecture, process control blocks, dan process states.

2. What is Thread?

Website ini memberikan penjelasan tentang thread secara singkat dan mudah dipahami. Dijelaskan bahwa thread merupakan jalur eksekusi dalam suatu proses. Perbedaan utama antara thread dan process adalah bahwa thread berjalan di shared memory space, sedangkan proses berjalan di memory spaces yang terpisah. Website ini juga menjelaskan mengenai beberapa keuntungan thread dibandingkan process.

3. Process Scheduling

Process Scehduling merupakan tindakan menentukan proses mana yang berada dalam running state, dan harus dipindahkan ke running state.Tujuan utama dari Process Sceduling adalah untuk menjaga CPU tetap sibuk sepanjang waktu dan memberikan waktu respon minimum untuk semua program.

4. Fork in C

Fork digunakan untuk membuat process baru yang dinamakan child process, yang dimana berjalan bersamaan dengan process yang membuat panggilan fork() (parent process). Setelah child process baru dibuat, kedua process akan menjalankan instruksi berikutnya mengikuti panggilan fork(). Pada website ini terdapat beberapa contoh program yang dapat membantu untuk memahami fork lebih lanjut.

5. Context Switching

Website ini mejelaskan bahwa context switching merupakan teknik atau metode yang digunakan untuk melakukan switch suatu proses dari satu state ke state lain untuk menjalankan fungsinya menggunakan CPU di sistem. Pada website ini juga dijelaskan alasan dibutuhkannya context switching dan juga tahapa dalam context switching.

6. Concurrency vs Parallelism

Banyak yang mengira concurrency dan parallelism mungkin merujuk pada konsep yang sama. Namun, concurrency dan parallelism sebenarnya memiliki arti yang berbeda. Dijelaskan bahwa concurrency mengacu pada bagaimana satu CPU dapat membuat progress pada multiple tasks yang tampaknya pada saat bersamaan (aka concurently), sedangkan Parallelism lebih terkait dengan bagaimana aplikasi dapat memparalelkan eksekusi single task - biasanya dengan membagi tugas menjadi subtugas yang dapat diselesaikan secara paralel. Website ini menyertakan ilustrasi juga yang dapat membantu kita untuk lebih memahami keduanya.

7. Multithreading Models

Multithreading memungkinkan suatu proses untuk dibagi menjadi thread-thread kecil dan meningkatkan pemanfaatan CPU. Pada website ini dijelaskan secara singkat dan padat mengenai beberapa multithreading models, yaitu many to one model, one to one model, dan many to many model.

8. What is RPC?

Remote Procedure Call (RPC) adalah protokol yang dapat digunakan suatu program untuk request service dari program yang terletak di komputer lain di jaringan tanpa harus mengetahui detail jaringannya. RPC digunakan untuk memanggil proses lain pada sistem jarak jauh seperti sistem lokal. Website ini berisikan penjelasan mengenai RPC cukup lengkap mulai dari bagaimana cara kerjanya, tipenya, keuntungan, serta kelebihannya.

9. Difference between Long-Term and Short-Term Scheduler

Website memberikan penjelasan cukup lengkap mengenai perbedaan Long-Term dan Short-Term Scheduler. Long-Term Scheduler mengatur program yang dipilih ke sistem untuk diproses, sedangkan Short-Term Scheduler memastikan program mana yang cocok atau penting untuk diproses. Dijelaskan juga bahwa Short-Term Scheduler mengatur lebih sedikit DOM (Degree of Multi-programming) dibandingkan Long-Term Scheduler.

10. Background Process and Foreground Process

Website ini cukup menarik karena penjelasannya yang singkat dan mudah dimengerti. Dijelaskan bahwa foreground process yaitu setiap perintah atau tugas yang dijalankan secara langsung dan ditunggu hingga selesai. Berbeda dengan foreground process, shell tidak harus menunggu background process berakhir sebelum dapat menjalankan lebih banyak proses.