I understand that a multitasking operating system has to be multithreaded, but I don't get it. If someone could confirm it and explain it to me, I would appreciate it.
I understand that a multitasking operating system has to be multithreaded, but I don't get it. If someone could confirm it and explain it to me, I would appreciate it.
Nope.
The concept of multitasking is best understood by comparing the old cooperative multitasking (windows 3.1) vs. windows 95 multitasking.
In Windows 3.1, if you ran two programs at the same time (eg, word and excel), these tasks handled a communication queue with the CPU that allowed you to know if another program was also participating in the resource demand. To the extent that the calls to the CPU and responses from it were happening, the first program passed control to the second and so on. In the background, the CPU attended to one program at a time, but the programs cooperated with each other to release the CPU when they were not executing operations. As this flow of calls and responses was not always as smooth and immediate as in the ideal case, it actually felt to the user as if they were only running one program at a time.
When Windows 95 came out, one of its great novelties was multitasking, an environment in which the software does not directly access hardware resources, but the operating system assigns it a sandbox to run. That way if you ran excel and word, it didn't happen that excel took over the CPU and you had to wait for it to drop it. Both processes ran in separate sandboxes, and the operating system was the intermediary between them and the hardware resources, allowing to switch between one and the other in microseconds and giving the feeling that both were running at the same time without getting in the way.
The concept of multithreading refers to an operating system being able to handle more than one processor, and there are several approaches to this. Servers from the 1990s had multiple physical CPUs. You looked at the motherboard and there were four sockets for processors.
This evolved over time with the advent of multi-core processors (AMD Opteron first, Intel Pentium D a few months later) which housed two or more cores in a single physical processor.
In between, Intel also introduced an architecture called Hyperthreading that created two virtual CPUs on a single-core processor (although it was like a fake multi-core, after all).
In short, a multithreaded OS allows when you open word and excel, their respective sandboxes are assigned to different physical cores. And when you open N programs, they are distributed in the different kernels available.
This allowed for a true multitasking environment, associated with multiple physical resources, but each program was assigned to a core. In that sense, very demanding CPU programs ran even if there were 1 or 4 cores in the system, which was wasting resources.
Finally, with the spread of multi-core processors, software also evolved, and today it is common for the same software to generate different threads in order to run simultaneously on several cores. This approach combines the concept of multiprocessor with multithreading (multithreading) and is the combination that all desktop computers that we see today have.
dash for sum
Windows 95 is multitasking, but it doesn't support more than one core or more than one processor. Windows 2000, on the other hand, added multithreading to the existing multitasking support. Therefore, there were multitasking systems that were not multithreaded.
I don't think it's "by force" but rather a system having the quality of being multitasking allows it to also have the goodness of being multithreaded because a multitasking system refers to one that is capable of executing several operations "simultaneously" . " Like browsing the internet and playing music at the same time for example.
By being able to carry out several activities in this way, this gives the system the ability to be multiprocessed , the term of which refers to being able to execute several processes at the same time .
In conclusion, yes, but as I mentioned, it doesn't "have to be" but when we speak today that a system is "multitasking" it is implicit that it is also multiprocess . The term multiprocess is more important because it is the one that "encompasses" the concept of multitasking.
More information is available in the Multithreaded, Multitasked, and Multiuser article .