Cicak Bin Kadal
Top 10 List of Week 06
Annisa Devi Nurmalasari --- Tangerang

Top 10 List of Week 06

  1. Processes
    Situs tersebut menjelaskan di mana proses merupakah program yang sedang tereksekusi. Ketika program di load ke memory dan menjadi proses, hal ini akan dibagi menjadi beberapa komponen, yaitu stack, text, heap, dan data. Situs ini juga menjelaskan siklus dari proses yang terdiri dari start (inisialisasi), ready (proses menunggu untuk di assign ke prosesor), running (prosesor menjalankan instruksi), waiting (jika menunggu source), terminated (program selesai).

  2. Process Control Block
    Di dalam operating system, ada beberapa proses yang berjalan secara bersamaan, sehingga kita membutuhkan struktur data untuk menyimpan informasi dari masing-masing process (PCB). Situs ini berisi penjelasan dari berbagai atribut PCB seperti Process ID, PC, Process State, Priority, Register, CPU Scheduling Information, List of opened file, dan List of I/O device.

  3. What is Process Scheduling?
    Process Scheduling menentukan proses mana yang akan berada di ready state dan akan dipindahkan ke running state. Scheduling terbagi menjadi dua kategori umum, yaitu Non Pre-emptive dan Pre-emptive. Di dalam situs ini juga terdapat beberapa queue untuk masing-masing state dari process dan beberapa tipe dari scheduler (Long, short, dan medium term).

  4. Operation on a Process
    Eksekusi dari proses merupakan aktivitas kompleks yang melibatkan banyak operasi. Situs ini menjelaskan beberapa operasi dari proses, di antaranya Creation (Konstruksi proses baru untuk eksekusi), Scheduling (Aktivitas di mana state berubah dari ready ke running), Blocking (Ketika proses memanggil I/O system yang block proses), Preemption(Ketika berapa di state waiting dan proses belum di terminate dalam interval waktu tertentu dan proses selanjutnya siap dijalankan), dan Termination (Mengakhiri proses).

  5. Inter Process Communication
    IPC digunakan dalam pertukaran data pada multithreads di satu/lebih prosesor/programs. Situs ini berisikan beberapa method penting atau pendekatan dalam IPC, di antaranya Pipes, Message Passing, Message Queues, Direct Communication, Shared Memory, FIFO, dan Indirect Communication.

  6. Concurrency vs Parallelism: What’s the Difference?
    Pada concurrency, banyak task yang bisa dijalankan pada waktu yang saling tumpang tindih, dengan kata lain ketika kita memulai task baru sebelum task sebelumnya selesai, kita tidak bisa menjalankan task tersebut secara langsung. Sementara pada parallelism, banyak task yang bisa dijalankan secara serentak atau pada waktu yang bersamaan. Situs ini juga menggambarkan ilustrasi dari keduanya dan menjelaskan mana yang lebih baik dari keduanya.

  7. Program, Process, dan Threads
    Seperti yang kita tahu program merupakan text file dari programming code yang di compile, di load ke memory, dan dieksekusi menjadi proses. Sementara threads merupakan subset dari proses di mana threads berkomunikasi satu sama lain dengan lebih mudah dari proses tetapi threads lebih rentan terkena masalah. Situs ini menjelaskan perbedaan di antara keduanya dengan lebih spesifik dengan kelebihan dan kekurangannya, serta alasan memilih proses daripada threads ataupun sebaliknya.

  8. Multithreading Models
    Threads terdiri dari user threads (ditaruh di program) dan kernel threads (didukung di dalam kernel OS itu sendiri). Dalam implementasinya, ada beberapa model untuk memetakan user threads ke kernel threads, di antaranya Many-To-One, One-To-One, dan Many-To-Many. Situs ini berisikan gambaran dan deskripsi dari masih-masing Multithreading Models.

  9. Thread Libraries
    Thread Libraries menyediakan API untuk membuat dan mengatur threads. Situs ini menjelaskan secara detil tiga thread libraries utama, yaitu POSIX Pthreads, Win32 threads, dan Java threads. Selain itu, situs ini juga mendemonstrasikan penggunaan threads dari ketiga library itu untuk menghitung fungsi sum 0-N di threads yang berbeda.

  10. Threading Issue
    Situs ini menjelaskan beberapa isu yang mungkin terjadi pada Threading pada Operating Systems. Isu tersebut terdiri dari System Calls, Thread Cancellation, Signal Handling, Thread Pool, Thread Specific Data. Selain menjelaskan definisi dari masing-masing isu, situs ini juga membahas bagaimana isu tersebut bisa diatasi untuk mempertahankan fungsionalitas dari multithreaded programming environment.


© 2021-2021 --- Annisa Devi Nurmalasari --- File Revision: 0030---05-Mar-2021.