Optimizing a Computer for Multitasking

Optimizing a Computer for Multitasking

When most of us hear the word “multitasking,” our minds probably do not instantly go to computers.  Perhaps it conjures up imagines of your mother, on the phone with a friend and cooking dinner all while reminding the kids to do their chores or their homework. You may think of someone on top of the world, juggling multiple responsibilities at once like it is a total breeze.

 

However, today I would like to focus on what it means for a CPU and why we should care about it in the first place. Honestly, it is rather easy to take the fact that our computers can multitask for granted.  Consider what you have open on yours right now.

 

For me, I have my typing program, my work group chat, another messaging service, a music streaming service, and several tabs of my internet browser all operating at the same time. When I finish work for the day, I often play a video game as well, meaning that there is even more occurring concurrently.

 

How Can We Define Multitasking in this Context?

 

As you can probably expect, there are a few phrases that refer to this concept. The other fairly common one is multiprocessing, which you can read about here: https://www.techopedia.com/definition/3394/multitasking. What does it mean, then? Well, it is pretty simple, seeing as we can figure it out from the name.

 

In essence, it is the process of any tasks occurring simultaneously on one piece of hardware. It can also apply to software and any other appliances that compute, though, just to cover all of the bases.  The goal is to achieve minimal levels of lag and instead get high performance levels despite the number of tasks running at once.

 

Multitasking

 

How Does it Work?

 

Naturally, this is where things get a bit tricky. You see, the truth of the matter is that the CPU is not actually doing all of the tasks at once. Rather, because it is processing so quickly, it merely gives that impression. So, that is a part of why higher quality CPUs are so appealing to professionals and hobbyists alike.

 

This does raise the question of how cooperative multitasking truly functions, though, so allow me to explain. Essentially, the hardware and/or software which is performing tasks will sort said tasks into a queue of importance and execute them accordingly. This does mean that resources tend to be assigned based on that importance that is assigned. 

 

Now, when is this useful, though? As most of us probably anticipate, there are positives and negatives to utilizing this technique, so we must employ it judiciously. For the most part, it is most impactful if we are performing a solo job and need to do several things at once on the computer. Designating levels of importance is not overly difficult in a situation like this one, after all.

 

Computer

 

The Positives

 

I have opted to begin here in our comparison of the pros and cons, since there are generally more positives. The first thing is that it prevents us from overworking our CPU. While this may not be something that we consider all that often, it is definitely something that we should keep in mind.

 

There are a surprising number of articles out there, such as this one, that cover this topic. You see, it is a bit more common with laptops, but it can happen to any sort of computer. Typically, there will some sort of popup or alert message informing you of the overloaded and overworked core processing unit. 

 

It is never a desirable occurrence, but sometimes it does happen and that is okay. Still, we should avoid it as much as possible, since it is easy to overheat a PC or laptop and cause damage to the hard drive. So, using multitasking to avoid this or at least mitigate the chances of it occurring is certainly a nice perk.

 

Additionally, it tends to make exchanging or handing over large volumes of data easier. How, exactly? Well, the user is able to share the projects that they are working on thanks to the queuing process, so other people can access the data at the same time!

 

For positives, I have two more to share before we move on. Thankfully, it is something that is easy to install or implement for our current systems, and it does come in several distinct programming languages. So, whether you use java, C++, or another type of coding, you will be able to access the ability to create the necessary code to have multitasking work.

 

The Negatives

 

As with anything, though, there is always the flip side to consider. What are some of the drawbacks of this technique, and why should we be aware of them?  Well, allow me to explain.

 

Some of them can be read about on pages like this one: https://study.com/academy/lesson/how-operating-systems-manage-multitasking.html. It is generally a smart idea to educate ourselves about both sides of an issue before definitively choosing to implement a code like this.  However, a lot of it will boil down to the skill of the programmer behind the wheel.

 

You see, if there are any issues with the code used to implement this process, it is highly likely to cause problems for multitasking as well. Obviously, this will vary in its manifestation based on the original disturbance. However, in general, it does tend to be fairly bad news.

 

Another issue is that once a task is started on the processor, it will not exactly be easy to stop it.  Unfortunately, that means that you will have to manually have the computer stop it. This can be a hassle, although it is not necessarily the end of the world.

 

Clearly, the negatives are not all that condemning. I still maintain that they are worth sharing, though, just so that anyone who is thinking about this can get the full picture before they decide to commit to it.  With that being said, I hope that this article has helped in that regard!