System resources are the parts within a computer that are available to be used by the operating system and other applications. The most notable of the system resources is the amount of memory in use, but CPU time should be considered here as well. Each time an application starts, the application will request memory from the operating system and a slice of CPU time to perform its function. For example, when a computer user starts the word processing application on the computer, they will click the icon for the application and shortly thereafter, the program starts. During the time while the user is waiting for the program to start, the operating system is provisioning system resources to handle this application. It is essentially making room for it among the other processes and applications that may be running at the time the program is started. When the word processor application starts, it sends a request to the operating system to provision the necessary system resources for it to function.
Depending on the amount of memory available, the application may open quickly, or may open a bit slower if less memory is available when the application starts. Sometimes there is not enough memory to get an application running right away, in which case the operating system recognizes the lack of system resources and will make an attempt to store some things in a swap file to allow more memory to be available for the active applications.
The swap file acts like memory but is contained on the hard disk of the computer. When the RAM memory within a computer becomes full, the operating system will page (or write) things out to the computers swap file, freeing up RAM memory for programs in use. As the swap file continues to grow, it can become full. This will cause the operating system to produce warning messages indicating that the swap file or virtual memory is full and the user will be instructed to close some programs to free up system resources, allowing the computer to function better. Many times, restarting the computer is the best way to alleviate these warning messages.
If a peripheral is needed, like a printer or disk drive, the hardware being requested will send an Interrupt Request (IRQ) to the CPU. The IRQ is the signal that the peripheral device uses to let the CPU know that it needs to do something. Hardware resources are the memory and CPU time used when peripheral devices, like printers, scanners, and modems are used. Each time one of these devices is accessed by the user, the device sends a signal to the motherboard to interrupt the CPU so it can operate. Once it is finished performing the requested tasks, the device signals again that it has completed. These signals are known as Interrupt Requests (IRQs), and each device has a specific channel or set of channels that it can use to communicate with the motherboard. If all of the channels for a specified device are used, the device cannot function. Each IRQ channel can only use one device, or have one device assigned to it in a computing system. This helps the motherboard know which devices it should expect on which IRQs. System resources are monitored by the computers operating system to ensure that the computer runs as efficiently as possible, given the resources available at any time.