Comparing multi-tasking mechanisms: CPU hyperthreading vs. OS schedulers
I was curious about the difference between these two. I found a Reddit post about this, and I thought I'd summarize it here so that the content is replicated to lemmy.
Please be aware, this is not from a perspective of a computer scientist. I am very interested in computer science, but have a lot of knowledge gaps.
The premise of the question: Both of these seem to be methods of running two or more tasks / sub-tasks without necessarily using multiple cores. The concepts geeked similar to me, but I will explain the difference below.
How does the OS scheduler's multi tasking works (besides multi-threading)?
Basically, when the operating system is running two or more tasks, it may be running more tasks than cores available. To deal with this, it switches between these tasks very quickly - so fast it seems they're running concurrently.
Hyper threading
A hyper threaded CPU looks a bit different. To the user, it is interfaced almost like an extra core. Think about a multi c