os211

Top 10 List of Week 06

  1. Thread in Operating System
    Thread adalah jalur eksekusi dalam suatu proses. Suatu proses dapat berisi banyak thread. Thread juga dikenal sebagai proses ringan. Idenya adalah untuk mencapai paralelisme dengan membagi proses menjadi beberapa thread. Misalnya, di browser, banyak tab bisa menjadi thread yang berbeda. MS Word menggunakan banyak thread: satu thread untuk memformat teks, thread lain untuk memproses input, dan lain-lain. Artikel ini memberikan penjelasan dasar mengenai thread yang mudah dipahami.

  2. User-level Thread and Kernel-level Thread
    Dalam sistem operasi, thread dibagi menjadi dua, yaitu user-level thread dan kernel-level thread. Thread tingkat pengguna diimplementasikan oleh pengguna dan kernel tidak mengetahui keberadaan thread ini. User-level thread menangani mereka seolah-olah mereka adalah proses single-threaded. Thread tingkat pengguna berukuran kecil dan jauh lebih cepat daripada thread tingkat kernel. Thread tingkat kernel ditangani oleh sistem operasi secara langsung dan manajemen thread dilakukan oleh kernel. Informasi konteks untuk proses serta thread proses semuanya dikelola oleh kernel. Karena itu, thread tingkat kernel lebih lambat daripada thread tingkat pengguna. Artikel ini menjelaskan perbedaan user-level thread dan kernel-level thread dengan baik.

  3. Multithreading in C
    Multithreading memungkinkan eksekusi beberapa bagian program secara bersamaan. Bagian-bagian ini dikenal sebagai thread dan merupakan proses ringan yang tersedia dalam proses tersebut. Oleh karena itu, multithreading mengarah pada pemanfaatan CPU secara maksimal dengan melakukan multitasking. Model utama multithreading adalah model satu ke satu, model banyak ke satu dan model banyak ke banyak. Pada artikel ini terdapat contoh-contoh multithreading pada C, sehingga dapat dimengerti dengan mudah dan jelas.

  4. fork() in C
    Panggilan sistem fork digunakan untuk membuat proses baru, yang disebut proses anak, yang berjalan bersamaan dengan proses yang membuat panggilan fork() (proses induk). Setelah proses anak baru dibuat, kedua proses akan menjalankan instruksi berikutnya mengikuti panggilan sistem fork(). Proses anak menggunakan pc yang sama (penghitung program), register CPU yang sama, file terbuka yang sama yang digunakan dalam proses induk. Penjelasan mengenai fork singkat, jelas dan padat.

  5. Process in Operating System
    Proses adalah program dalam eksekusi yang kemudian menjadi dasar dari semua perhitungan. Prosesnya tidak sama dengan kode program tetapi lebih dari itu. Proses adalah entitas ‘aktif’ sebagai lawan dari program yang dianggap sebagai entitas ‘pasif’. Atribut yang dipegang oleh proses termasuk status perangkat keras, memori, CPU, dll. Memori proses dibagi menjadi empat bagian untuk kerja yang efisien, Text section, Data section, Heap, Stack. Artikel ini menjelaskan apa itu process dengan sangat jelas.

  6. PID in Linux
    Di Linux, ketika file yang dapat dieksekusi disimpan pada disk disebut program, dan program yang dimuat ke dalam memori dan berjalan disebut proses. Sebuah proses diberi nomor unik yang disebut ID proses (PID) yang mengidentifikasi proses tersebut ke sistem, ketika dimulai. Jika kita perlu menghentikan suatu proses, misalnya, kita dapat merujuknya dengan PID-nya. Karena setiap PID unik, tidak ada ambiguitas atau risiko secara tidak sengaja mematikan proses yang salah. Penjelasan mengenai PID sangat mudah dipahami.

  7. Threading Issues in Operating System
    Ada beberapa masalah threading saat kita berada di lingkungan multithreading. Pada bagian ini, kita akan membahas masalah threading dengan panggilan sistem, pembatalan thread, penanganan sinyal, kumpulan thread, dan data khusus thread. Bersamaan dengan masalah threading, kami juga akan membahas bagaimana masalah ini dapat ditangani atau diselesaikan untuk mempertahankan manfaat dari lingkungan pemrograman multithread. Masalah-masalah yang dapat terjadi dalam threading dijabarkan dengan baik dan mudah dimengerti.

  8. Inter Process Communication (IPC)
    Inter Process Communication (IPC) adalah mekanisme yang memungkinkan proses untuk berkomunikasi satu sama lain dan menyinkronkan tindakannya. Komunikasi antara proses ini dapat dilihat sebagai metode kerjasama di antara mereka. Proses dapat berkomunikasi satu sama lain melalui shared memory dan message passing. Materi tentang Inter Process Communication dijelaskan dengan cukup baik dan disertakan juga contoh-contoh dalam C, sehingga dapat dipahami dengan mudah.

  9. Remote Procedure Call (RPC)
    Remote Procedure Call (RPC) adalah teknik yang ampuh untuk membangun aplikasi berbasis client-server yang terdistribusi. Ini didasarkan pada perluasan pemanggilan prosedur lokal konvensional sehingga prosedur yang dipanggil tidak perlu ada di ruang alamat yang sama dengan prosedur pemanggilan. Kedua proses tersebut mungkin berada pada sistem yang sama, atau mungkin pada sistem yang berbeda dengan jaringan yang menghubungkannya. Sama seperti IPC, artikel ini menjelaskan RPC dengan jelas dan tidak berbelit-belit.

  10. Concurrency
    Dalam ilmu komputer, concurrency adalah kemampuan berbagai bagian atau unit program, algoritme, atau masalah untuk dieksekusi out-of-order atau dalam urutan parsial, tanpa mempengaruhi hasil akhir. Hal ini memungkinkan eksekusi paralel dari unit serentak, yang secara signifikan dapat meningkatkan kecepatan keseluruhan eksekusi dalam sistem multi-processor dan multi-core. Dalam istilah yang lebih teknis, concurrency mengacu pada penguraian program, algoritma, atau masalah menjadi komponen atau unit komputasi yang tidak bergantung pada urutan atau sebagian dipesan. Artikel ini menjelaskan seberapa penting concurrency dan pengertian mengenai concurrency dengan lengkap dan mudah untuk dimengerti.