Resource
What is a resource?
A resource is anything that can be used to perform a task or achieve a goal. In computing, system resources refer to things like CPU, memory, hard drive storage, network bandwidth, and battery life.
For purposes of this article, “computing” collectively refers to devices like desktop and laptop computers, phones, tablets, and servers. As with any system, device resources are finite and demand for these resources needs to be managed efficiently. A computer’s resources are managed by its operating system.
What is an operating system?
An operating system (OS) is the program that manages the system resources of your computer or device; the OS is the main interface between you and the device. The most common operating systems for personal computing are Windows and macOS, and iOS and Android for mobile devices. Having a single, central program to manage the computer’s system ensures better coordination among the needs of multiple programs and apps. The OS also handles your computer’s interaction with peripherals like a printer, mouse, or secondary monitor.
Types of system resources
Central processing unit (CPU)
The system resource where active programs are run. When more than one program is running, the OS uses a scheduler to manage which programs are being executed by the CPU, and which are in a queue waiting to run. A program that needs to complete a task requests CPU time from the OS. If the CPU is busy with one program when another program makes a request, the OS scheduler forms a queue and processes each request in turn.
Memory
Also called RAM (for random access memory), a computer’s memory is where data for an active program is temporarily stored. The OS allocates a section of memory when a program starts. If the program needs more memory later on, more can be allocated. When a program is closed, the allocated memory is returned to the available pool. If active programs need more memory in total than the computer has, hard drive space is used—this is called virtual memory.
Hard drive
The permanent storage space of a computer. The hard drive fills up as you install programs and create and save files. The OS is in charge of managing file storage as you add, delete, and update files. The OS keeps track of what space is free, and what space becomes free when a file is deleted or a program is uninstalled. A small portion of the hard drive is set aside for the cache.
Bandwidth
The measurement that quantifies how much data can travel over a network. If you’re running multiple programs that all need Internet data, and the bandwidth available can’t handle the requests simultaneously, the programs will receive their requested data as it comes in. Since there’s no way to control what comes “in the door” first, a slow network connection can slow down all applications accessing the Internet.
Note that your device’s OS does not control how bandwidth is used. It’s up to you to track which programs are using the most bandwidth on your device.
Battery life
Battery usage is partially managed by the OS, based on user settings for things like display brightness and screen timeout, and when to use low-power mode. On mobile devices, location settings—which can govern GPS usage, and when to use Wi-Fi vs. a cell network—can both affect battery life.
How do resources get maxed out?
Running many applications, or even just one large program, can put a strain on system resources. A few common ways resources can become taxed on your device include:
- Navigation software on your phone can require a lot of CPU to continually update the map as you’re moving, and the GPS consumes battery power while it maintains constant contact with satellites.
- Large spreadsheets with a great deal of data need a lot of memory to store data.
- Video game streaming puts demands on both CPU and bandwidth.
- Loading a website with lots of ads (and the trackers hidden behind those ads) uses up bandwidth and memory.
- Having multiple apps open and running at once can result in a long queue for CPU, and quickly eat up available memory. Although virtual memory is an option, it’s less efficient and slower.
- Malware running in the background can hog bandwidth, CPU, and memory.
- Leaving a program or app open over a long time can slowly eat up memory resources, if the program “leaks” memory (that is, the program fails to clear data from memory that it no longer needs, and so continually requests more allocation).
In all these situations, performance suffers. Response time may slow, content will take longer to load, and the device may even freeze up.
Good habits for successful resource management
You can help the OS do its job by reducing the demand on the device’s resources:
- Keep software, OS, and browsers up to date, as updates can include performance improvements.
- Free up memory by closing unused programs and apps, and any tabs in your browser that you don’t need anymore.
- Use Wi-Fi instead of a cell network whenever possible. This saves both battery life and data usage (important if you don’t have an unlimited data plan). However, be sure that the Wi-Fi you switch to is secure, and/or that you have a VPN enabled.
- On phones, you can also improve battery life by managing settings such as screen brightness and how soon the display goes to sleep.
- Limit the use of GPS and location monitoring to only when you need it. Don’t let apps track you in the background.
- Use a browser with a built-in ad blocker to stop bandwidth hogs like ads, cookies, and trackers. Note that separate browser extensions can also block these elements, but with a price of increased battery usage and, sometimes, decreased security.
When you find your device is having problems, and performance is compromised, you can use Task Manager (for Windows) or Activity Monitor (for macOS) to identify the problem program and force it closed. When all else fails, power down and restart your device to get a fresh slate for all your resources.
One easy way to save resources and improve performance is to switch to a browser like Brave. With a built-in ad blocker (Brave’s Shields feature), Brave reduces the amount of data required to load a webpage, and thus saves bandwidth on your connection, battery life, CPU, and more. All without any additional effort or apps.