# difference between task and process

**URL:** <https://community.unix.com/t/difference-between-task-and-process/140700>\
**Category:** UNIX for Dummies Questions & Answers\
**Created:** [December 20, 2001, 8:08am UTC](https://community.unix.com/t/difference-between-task-and-process/140700 "2001-12-20T08:08:23Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ramyar](https://community.unix.com/letter_avatar/ramyar/32/5_5575768a8748004e209b776fc1b2916d.png) [@ramyar](https://community.unix.com/u/ramyar)\
**Post date:** [December 20, 2001, 8:08am UTC](https://community.unix.com/t/difference-between-task-and-process/140700/1 "2001-12-20T08:08:23Z")

</div>

Hi,

what is the difference between a task and a process.

what is the difference between multitasking , multiprogrammnig and multiprocessing?

Thanks in advance

---

<div class="post-metadata">

**Author:** ![Perderabo](https://community.unix.com/user_avatar/community.unix.com/perderabo/32/27_2.png) [@Perderabo](https://community.unix.com/u/Perderabo)\
**Post date:** [December 20, 2001, 9:52am UTC](https://community.unix.com/t/difference-between-task-and-process/140700/2 "2001-12-20T09:52:33Z")

</div>

"Task" and "multitasking" are terms that do not have universal definitions in the world of unix.

"Multiprogramming" means the ability to run several programs at once. We take this for granted today, but early systems could run one program at a time. Almost all computer systems today use multiprogramming, so's there's really no need for the term anymore.

"Multiprocessing" is the ability to have several cpu's in one system to distribute the load. The are still penty of uniprocessor systems out there, so this term still sees frequent use.

You didn't ask, but "multithreading" is the ability to have multiple threads in a process. For example, one thread may be reading the next block of data while another thread processes the current block of data. When I heard "multitasking" used in the non-unix world, it was referring to something close to today's multithreading.

---

<div class="post-metadata">

**Author:** ![system](https://community.unix.com/uploads/default/original/2X/c/c7e9e16a595259edafe88615719d5c5dcda035c2.png) [@system](https://community.unix.com/u/system)\
**Post date:** [December 21, 2001, 11:50am UTC](https://community.unix.com/t/difference-between-task-and-process/140700/3 "2001-12-21T11:50:31Z")

</div>

perderabo  
Can I have some more on "Multithreading"?  
🙂

---

<div class="post-metadata">

**Author:** ![Perderabo](https://community.unix.com/user_avatar/community.unix.com/perderabo/32/27_2.png) [@Perderabo](https://community.unix.com/u/Perderabo)\
**Post date:** [December 21, 2001, 1:23pm UTC](https://community.unix.com/t/difference-between-task-and-process/140700/4 "2001-12-21T13:23:46Z")

</div>

See "man pthread\_create" as a starting point. There is an example on that page. There are also a lot of man pages on threads. Use "man -k pthread" to get a list.

---

<div class="post-metadata">

**Author:** ![Neo](https://community.unix.com/user_avatar/community.unix.com/neo/32/22838_2.png) [@Neo](https://community.unix.com/u/Neo)\
**Post date:** [December 21, 2001, 1:39pm UTC](https://community.unix.com/t/difference-between-task-and-process/140700/5 "2001-12-21T13:39:41Z")

</div>

The defination I use for multiprocessing is more similar to number (1) in the link below:

[http://www.webopedia.com/TERM/M/multiprocessing.html](http://www.webopedia.com/TERM/M/multiprocessing.html)

Multiprocessing has two meanings, like terms in Websters. I tend to use the term for (1) in the link above and not (2). For (2) I tend to use the term 'multiprocessor'....... confused 😕

Here is another link:

> **[What is Multitasking? | Webopedia](https://www.webopedia.com/definitions/multitasking/)**
>
> The ability to execute more than one task at the same time, a task being a program.

---

<div class="post-metadata">

**Author:** ![Perderabo](https://community.unix.com/user_avatar/community.unix.com/perderabo/32/27_2.png) [@Perderabo](https://community.unix.com/u/Perderabo)\
**Post date:** [December 22, 2001, 4:00pm UTC](https://community.unix.com/t/difference-between-task-and-process/140700/6 "2001-12-22T16:00:54Z")

</div>

I have gone deep into my archives to further research this question. The earliest book that I could find that uses all three terms is Operating Systems by Harry Katzan Jr published in (I'm dating myself here) 1973. The book heavily focuses on IBM operating systems since IBM dominated the market in those days.

First, the word "process" does not even get an entry in the index. Where we would use "process", this book uses "task".

In Chapter 5 Evolutionary Development of Operating System Technology, we learn that IBM first broke the "one program at a time" mold when it introduced SPOOL. You will love this quote...

> [@](#):
>
> The term Spooling was derived from the acronym SPOOL (Simultaneous Peripheral Output On Line) which obviously refers to the process of computing and doing output concurrently.

But anyway Spooling was the first example of multiprogramming. The computer could run one user written task and it did something else. But the "else" was limited to spooling and few other os supplied utility programs.

Multitasking was the next step where the OS could actually run two or more user written tasks at once.

And multiprocessing is indeed two or more cpu's in one system. I too used to use multiprocessing to mean multiple processes, but I stopped when real multi-processors came along. It's kinda like the way the terms "microcode" and "firmware" got carelessly used.

---

<div class="post-metadata">

**Author:** ![Neo](https://community.unix.com/user_avatar/community.unix.com/neo/32/22838_2.png) [@Neo](https://community.unix.com/u/Neo)\
**Post date:** [December 22, 2001, 7:48pm UTC](https://community.unix.com/t/difference-between-task-and-process/140700/7 "2001-12-22T19:48:33Z")

</div>

Excellent point Perderabo.... thanks for the extra research! Here is a Linux link that basically says the same thing as you are saying:

[http://www.linuxguruz.org/foldoc/foldoc.php?multiprocessing](http://www.linuxguruz.org/foldoc/foldoc.php?multiprocessing)

And another one:

> **[CbBrowne.com is for sale | HugeDomains](https://www.hugedomains.com/domain_profile.cfm?d=cbbrowne.com)**
>
> The leading source brandable domain names. Competitive prices. Excellent service. Get your domain name today.

Thanks for the clarification!!
