From Rosetta Code

Task is a subject of scheduling, usually owning other system resources. Operating systems (OS) supporting multiple tasks are called multitasking. Modern OS may have several types of tasks: process, thread, fiber. For a language supporting concurrency there are multiple options to map language defined tasks:

  • mapping to the OS scheduling items, like a process or more often a thread;
  • using own scheduler within single OS task;
  • own scheduler without OS support, bare board, common for real-time embedded systems.