# Processes and Threads ## Processes ### What is a Process? - **Definition and Explanation:** - [Wikipedia: Process (computing)](https://en.wikipedia.org/wiki/Process_(computing)) - [GeeksforGeeks: Process in Operating System](https://www.geeksforgeeks.org/process-in-operating-system/) - **Process vs. Program:** - [What is the difference between a process and a program?](https://stackoverflow.com/questions/2002717/what-is-the-difference-between-a-process-and-a-program) (Stack Overflow) ### Process Management - **Process Lifecycle and States:** - [Wikipedia: Process state](https://en.wikipedia.org/wiki/Process_state) - [GeeksforGeeks: Process States in Operating System](https://www.geeksforgeeks.org/process-states-in-operating-system/) - **Process Control Block (PCB):** - [Wikipedia: Process control block](https://en.wikipedia.org/wiki/Process_control_block) - [Tutorialspoint: Process Control Block](https://www.tutorialspoint.com/operating-system/os_process_control_block.htm) - **Process Scheduling:** - [Tutorialspoint: CPU Scheduling](https://www.tutorialspoint.com/operating-system/os_process_scheduling.htm) - [GeeksforGeeks: CPU Scheduling Algorithms](https://www.geeksforgeeks.org/cpu-scheduling-algorithms/) - **Inter-process Communication (IPC):** - [Wikipedia: Inter-process communication](https://en.wikipedia.org/wiki/Inter-process_communication) - [Tutorialspoint: Inter Process Communication](https://www.tutorialspoint.com/inter_process_communication/index.htm) ## Threads ### What is a Thread? - **Definition and Explanation:** - [Wikipedia: Thread (computing)](https://en.wikipedia.org/wiki/Thread_(computing)) - [GeeksforGeeks: Threads in Operating System](https://www.geeksforgeeks.org/threads-processes-in-operating-system/) - **Threads vs. Processes:** - [Programiz: Difference Between Process and Thread](https://www.programiz.com/operating-system/process-vs-thread) - [Stack Overflow: What is the difference between a thread and a process?](https://stackoverflow.com/questions/2002717/what-is-the-difference-between-a-process-and-a-program) ### Thread Management - **Thread Creation and Management:** - [Java Threads - Tutorialspoint](https://www.tutorialspoint.com/java/java_multithreading.htm) (Example for Java) - [POSIX Threads - Tutorialspoint](https://www.tutorialspoint.com/operating_system/os_multi_threading.htm) (Example for C/C++) - **Thread Synchronization:** - [Wikipedia: Thread synchronization](https://en.wikipedia.org/wiki/Thread_synchronization) - [Tutorialspoint: Thread Synchronization](https://www.tutorialspoint.com/operating-system/os_thread_synchronization.htm) - **Types of Threads (Kernel-level, User-level):** - [GeeksforGeeks: Types of Threads](https://www.geeksforgeeks.org/types-of-threads/) - **Thread Pools:** - [Oracle Java Documentation: Thread Pools](https://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html) ## Concurrency and Parallelism - **Concurrency (computer science):** - [Wikipedia: Concurrency (computer science)](https://en.wikipedia.org/wiki/Concurrency_(computer_science)) - **Parallel Computing:** - [Wikipedia: Parallel computing](https://en.wikipedia.org/wiki/Parallel_computing) ## Books - **Operating System Concepts by Silberschatz, Galvin, and Gagne:** (**ISBN:** 978-1292400451) - Excellent coverage of processes, threads, and concurrency. - **Modern Operating Systems by Andrew S. Tanenbaum:** (**ISBN:** 978-0133591620) - In-depth explanations of operating system concepts, including process and thread management.