x

Choose Country Code

x

Direction

x

Ask a Question

  • Ask a Question
  • Scan a Question
  • Post MCQ
  • Note: File extension must be of jpg, jpeg, png, bmp format and file size must not exceed 5 MB
x

Ask a Question

x

x
x
x
Hire a Tutor

Answers and Solutions

What's Your Question?
Answer
Multithreading is an execution model that allows a single process to have multiple code segments (i.e., threads) run concurrently within the “context” of that process. You can think of threads as child processes that share the parent process resources but execute independently. Multiple threads of a single process can share the CPU multiprocessing refers to the hardware (i.e., the CPU units) rather than the software (i.e., running processes). If the underlying hardware provides more than one processor then that is multiprocessing. Several variations on the basic scheme exist, e.g., multiple cores on one die or multiple dies in one package or multiple packages in one system. Multitasking has the same meaning of multiprogramming but in a more general sense, as it refers to having multiple (programs, processes, tasks, threads) running at the same time.
Answer

Let us start by understanding the meaning of some technical words, than we will dive into this question.

  • PRE-EMPTION - If we could allow the Processor to stop a process forcefully & than start the other one.
  • STARVATION - A process waiting forever.
  • THROUGHPUT - Number of jobs which ate going to be finished per unit time.
  • A process while executing requires CPU Time and Input/Output Time(I/O Time).
  • A process can be breaked into various THREADS.
  • THREADS allow utilization of multiprocessor architecture to a greater scale & efficiency.
  • MULTIPROGRAMMING - Whenever a process is given to a CPU for execution(i.e. CPU Time), after some time it might want to get some input/output from the user. So it will enter into Block/Waiting State and will receive Input/Output from the user(i.e I/O Time). During the I/O Time of that process, CPU will take some other process and start executing that other process. So CPU is not kept idle here. So efficiency got increased.

Now lets come to the main discussion:

MULTI-TASKING - It is just the extension to Multiprogramming. Here each process will be executed for some predecided time and than pre-empted. So that way interactiveness can be improved. We can say, Multiprogramming with Pre-emption is Multi-Tasking.

MULTI-PROCESSING - Here instead of having one CPU, we will have more than one CPU(i.e. dual, hexa, octa core). So here many jobs can be processed simultaneously(i.e. parallelism & throughput is improved).

MULTI-THREADING - It aims to increase the utilization of the single core of CPU. So Multi-Threading is the ability of single core in a 'Multi-Core Processor', to execute multiple threads concurrently.

Post Answer and Earn Credit Points

Get 5 credit points for each correct answer. The best one gets 25 in all.

Post Answer