I am studying a certain theoretical optimization problem related to scheduling, and I am confused by the different terms used in the literature for such problems. In particular, I found the following terms:

  • Job scheduling
  • Machine scheduling
  • Process scheduling
  • Processor scheduling
  • Multiprocessor scheduling
  • Task scheduling

Are these terms all synonymous? Alternatively, are some of these terms more standard than others, or used in different contexts than others?

Wikipedia is not very helpful - there is quite a mess in the articles about these problems. Google Scholar also gives tens of thousands of articles and it is hard to understand the relations between them. I am looking for some clarification regarding the basic concepts.


I think in the older literature there was a real distinction between job shop scheduling and multiprocessor scheduling. I tried to break down some of that distinction in an answer to a previous question about the distinction between job shop, flow shop, and open shop scheduling.

Briefly: In job shop scheduling problems the resources are different from one another, and each job may need to use some of each of those resources in some order. In multiprocessor scheduling the resources tend to be interchangeable.

I'm unaware of any agreed on formal definition of any of the terms machine, process, processor, or task scheduling in the theoretical scheduling literature (although their may be distinctions made between some of these terms in practical operating systems implementations).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.