os211

#W06

TOP 10 LINKS

  1. Are process and thread both the same thing?
    Website ini memberitahukan perbedaan antara process dan thread. Dari website ini, saya jadi tahu bahwa process adalah eksekusi sebuah program (atau application) yang sudah di load ke memori (beserta resources yang diperlukan), sedangkan thread (bukan benang) adalah eksekusi sebuah program yang dipengaruhi/digerakkan oleh environment sebuah process. Thread dan process pada dasarnya saling terkait karena thread adalah sebuah unit/bagian dalam process.

  2. Do you know about multithreading?
    Website ini menjelaskan secara singkat mengenai multithreading. Yang saya tangkap dari website ini yaitu multithreading adalah kemampuan sebuah program untuk eksekusi dan mengatur dan berbagai requests pada waktu yang bersamaan. Berbagai thread terbuat dalam satu process, dan thread tersebut saling dapat mengakses resources yang dimiliki process.

  3. Fork()? Isn’t that for eating?
    Website ini membahas apa itu fork(). Have you ever wondered what the heck is fork()? Awalnya saya penasaran kenapa di script ataupun program bahasa C selama OS muncul terus. Ternyata fork() adalah sebuah system call di bahasa C. fork() dibutuhkan ketika terjadi parallel processing pada aplikasi yang sedang dijalankan. Method fork() membuat process baru (child) berupa copy dari process original (parent).

  4. The great four multi(s) of OS : multitasking, multiprogramming, multithreading, multiprocessing
    Artikel ini membahas mengenai istilah multitasking, multiprogramming, multithreading dan multiprocessing. Saya menemukan website ini menarik karena saya baru tahu ada banyak sekali istilah baru yang saling mirip pada chapter Concurreny. Singkatnya, multiprogramming adalah eksekusi lebih dari satu program pada suatu CPU, multiprocessing adalah ketika ada lebih dari satu CPU untuk menyelesaikan suatu task, multitasking adalah ketika OS menjalankan lebih dari satu task yang saling berbagi resources dan multithreading adalah eksekusi berbagai unit yang merupakan potongan bagian dari suatu task.

  5. Multicore? What is that?
    Website ini mengulas mengenai multicore. Saya menemukan website ini menarik karena saya jadi tahu bahwa ada yang namanya multicore, dimana suatu processor (CPU) bisa memiliki lebih dari satu core (execution unit dalam CPU). Dengan multicore, processor dapat menjalankan berbagai instruksi pada waktu yang bersamaan.

  6. Concurrency vs Parallelism. What’s the difference?
    Artikel ini menceritakan mengenai parallelism dan concurrency. Mungkin sekilas concurrency dan parallelism mirip, secara dua-duanya sama-sama berhubungan dengan melakukan berbagai hal “pada waktu yang bersamaan”. Namun itu tidak sepenuhnya tepat. Concurrency adalah penanganan berbagai task sekaligus, sedangkan parallelism adalah eksekusi berbagai task yang benar-benar (alias literally) dilakukan pada waktu yang bersamaan (serentak). Bila diibaratkan sebuah challenge dimana kita harus makan kue yang besar DAN menyanyikan sebuah lagu dari awal sampai akhir, concurrency tidak peduli mau kita habisin kuenya dulu baru nyanyi, atau sebaliknya, atau makan kue sedikit terus nyanyi sedikit dan ulangi lagi hingga kedua task selesai (karena kita tidak bisa benar-benar makan dan nyanyi bersamaan, yang ada malah keselek. Selain itu juga kita hanya punya satu mulut untuk melalukan satu task saja). Sedangkan pada parallelism, kita bisa melakukan challenge tersebut dengan sebuah partner, sehingga kita bisa melakukan task makan kue dan partner kita melakukan task nyanyi lagu (atau sebaliknya). That way, we can say that we’re doing both tasks simultaneously.

  7. What’s a Daemon?
    Website ini membahas mengenai Daemon process. Daemon adalah suatu jenis process pada Linux. Saya menemukan website tersebut menarik karena dulu saya ingat pernah dapat notifikasi popup bernama Daemon pada laptop saya. Awalnya saya kira Daemon adalah sebuah aplikasi antivirus seperti Mc4fee atau aplikasi ngga jelas bawaan Windows yang tidak perlu diapa-apakan, jadinya saya tidak pernah membaca isinya. Notifikasi tersebut sering kali muncul hingga saya rada capek sendiri untuk klik exit / close. Namun saya baru tahu kalau ternyata Daemon adalah system-related background processes.

  8. Background and Foreground Processes
    Website ini berisi uraian singkat mengenai background dan foreground process pada Linux. Saya menemukan website tersebut menarik karena saya mendapatkan ilmu baru mengenai process. Awalnya saya GSGS mengenai background dan foreground process gara-gara hasil quiz OS saya membuat saya meringis. Pada soal mengenai background dan foreground, jawaban saya salah sehingga saya penasaran mengenai materi tersebut. Kemudian saya GSGS lanjut untuk mendapatkan penjelasan lebih dalam. Yang saya tangkap … Sebenarnya saya masih kurang paham mengenai materi ini, namun untuk sekarang, saya paham bahwa background process bisa dikirim ke foreground dan foreground process bisa dikirim ke background (tapi untuk kejelasan detil process apa saja, saya masih kurang yakin).

  9. Multilevel models
    Website ini membahas mengenai multilevel models. Sebenarnya website tersebut rada sulit untuk dicerna bahan bacaannya, jadinya saya masih rada zonk mengenai multilevel models. Ada website lain yang mengatakan bahwa multilevel model itu kurang lebih hierarchical model (link). Ada juga website yang menjelaskan adanya 4 jenis multithreading models sehingga saya anggap bahwa salah satu model (yaitu two-level model) adalah multilevel model (link).

  10. All about shared memory and message passing
    Website tersebut berisi penjelasan mengenai shared memory dan message passing. Saya menemukan website tersebut menarik karena saya jadi ingat dengan materi Advanced Programming / Programming Lanjut, dimana ada materi mengenai Concurrency, Process dan Threads juga. Sebelum terjun ke materi shared memory dan message passing, kita harus mencari tahu dulu mengenai IPC (Inter-Process Communication). IPC digunakan untuk saling bertukar (exchange) data dan informasi antara berbagai threads, and by extension, satu atau lebih processes. Ada berbagai method / implementasi IPC, namun secara garis besar, ada dua : shared memory dan message passing. Shared memory adalah komunikasi antara multiple process melalui suatu bagian dari memori yang dapat diakses secara bersamaan (shared memory region), sedangkan message passing adalah komunikasi antara multiple processes melalui bertukar pesan (exchanging messages). Pada message passing, ada sebuah communication link diantara berbagai process sehingga process tersebut bisa saling mengirim (send) dan menerima (receive) pesan. Sedangkan pada shared memory, ada common memory segment diantara process agar IPC bisa terjadi.