#3- Multiprogramming, multiprocessing, multitasking, and multithreading

1. MULTIPROGRAMMING: Multiprogramming is a technique where multiple programs are loaded into memory simultaneously, and the CPU switches between them to execute instructions. 

  *On a single processor computer, a multiprogramming OS can run many programs. In a multiprogramming OS, if one program must wait for an input/output transfer, the other programs are ready to use the CPU. As a result, different jobs may have to split CPU time.


2. MULTIPROCESSING: Multiprocessing refers to the execution of multiple process on a system with multiple CPUs or CPU cores. 
*the utilization of two or more central processing units (CPUs) in a single computer system. Its definition can vary depending on the context, but generally it refers to a system's ability to support multiple CPUs and its capacity to distribute work among them.



   3.MULTITASKING: Multitasking is a technique that allows multiple tasks or processes to run concurrently on a single CPU.
 In a modern computer system, the word “multitasking” is employed. It's a logical extension of the multiprogramming system that allows numerous applications to run simultaneously. Multitasking in an OS enables a user to execute multiple computer tasks at the same time.

ex. Windows, macOS, and Linux are all examples of multitasking operating systems. 




4.MULTITHREADING:  Multithreading involves executing multiple threads within a single process. a thread is a lighweight unit of execution that can run concurrenctly with other threads within the same process.

*Multithreading allows threads in the same process to share memory, I/O, and file resources, allowing threads to communicate at the user level. When compared to a process, threads are light. Web-client browsers, network servers, bank servers, word processors, and spreadsheets are examples of multithreading programs.
 








Comments