ShadeOfBlue wrote:
Would you consider the textbook used in MIT's
Operating Systems I
class a few years ago to be authoritative enough?
No, but this does explain the confusion if you know the history on IBM, DEC, Bell Labs, and MIT.
ShadeOfBlue wrote:
According to
Operating System Concepts, 7th edition
, multitasking and time sharing are one and the same thing
This book is noted for being overly general. It's not a good reference. It's a very high level overview, very weak on actual details, and full of oversimplifications and overgeneralizations. It's not for people who actually go on to write operating systems or work on them.
Multitasking and time sharing are not one and the same thing at all. That's a broken analogy. It's like saying virtual storage and large address spaces are the same thing because most large address spaces are implemented through virtual storage.
Multitasking is a popular way timesharing systems are implemented, it's hardware and software. Timesharing is an application of technology to allow multiple users to share the same machine (hence the name timesharing). Nobody ever said that timesharing systems were designed to run one program, even with multiple tasks, contrary to what your quote seems to be suggesting by conflating the two terms. Timesharing systems let more than one person use the same box at the same time. That's all.
Multitasking is the way timesharing is usually implemented, it is not timesharing itself.
Multitasking is used for other things like making the best use of the processor or processors and getting more throughput, and to achieve a high level of concurrrency by scheduling the use of resources effectively. Multitasking has value independent of timesharing, timesharing is just one of the many possible benefits of multitasking. Timesharing is not multitasking. They're two totally separate things, although they are often related.
ShadeOfBlue wrote:
(also, under the index entry for "multitasking" it says "see time sharing"). It defines it as an extension of multiprogramming, where switches between jobs occur frequently and not only when a job is waiting for I/O or another task, so that the users can interact with every running program.
I don't have enough context. Are you saying the book defines multitasking as an extension of multiprogramming or timesharing as an extension of multiprogramming? Either way, it's the cart before the horse. Multitasking is one way multiprogramming and timesharing (again two different things) are implemented. Multiprogramming and timesharing can also be implemented through multiprocessing without multitasking. Conflating these things isn't correct or helpful in understanding anything. It's technically wrong, even if that's a popular or the most popular implementation. Reading the IBM doc helps since they invented and implemented most of this stuff originally and their hardware and software is still in use today, using the same techniques and principles as in the 1960s obviously with many enhancements etc. Like I said the guy who delivers something usually gets to call it whatever he wants. It's hard to argue on them.
ShadeOfBlue wrote:
It later divides it into preemptive and cooperative multitasking (as is done on the Wikipedia page).
That's also an oversimplification because one of the earliest, most pervasive and long-lived multitasking models is neither strictly preemptive nor cooperative but a hybrid. Doesn't the fact you're trying to bring proofs from wikipedia trouble you at all? Most of the people who actually wrote and work on this stuff don't hang out on wikipedia.
ShadeOfBlue wrote:
This is the accepted definition in use today.
I'm sure it was in your operating systems class. But that doesn't really change anything. You have to actually know what you're talking about, you have to have been there, and written and used this stuff to know. That's how I know. Not from textbooks, not from people with an agenda, not from an MIT operating systems class, but by actually coding on those systems and seeing how they work, and reading the manuals written by the people who actually wrote the OS and designed and implemented all the technology. Not from some academic that never produced anything in his life except misinformation.
ShadeOfBlue wrote:
I don't decide how people choose to name or rename concepts
Renaming concepts is
exactly
what you're doing only you're trying to hang the responsibility on somebody else.