Resource limitations

From Computer Science Wiki
Resource Management[1]

A system resource is any usable part of a computer that can be controlled and assigned by the operating system so all of the hardware and software on the computer can work together as designed. System resources can be used by users, like you, when you open programs and apps, as well as by services which are usually started automatically your operating system. Note: A system resource is sometimes called hardware resource, computer resource, or just resource.[2]

What would the consequences be if we limited...[edit]

Resource Description Consequence of limiting...
Primary memory Please read this article about Primary memory. If an operating system does not have enough primary memory it will employ virtual memory in an attempt to provide adequate primary memory for each process. If this doesn't work, the operating system will not be able to process instructions and processes will not be able to execute.
Persistent storage Please read this article about Persistent storage As persistent storage is commonly used a swap area fro primary memory AND used to save data when a process has completed, inadequate secondary memory would moer quickly lead to a system failure.
CPU When the OS runs a piece of software it has to find the program files on the storage drive, load them into main memory, and instruct the CPU to start executing the program from the beginning.


In each case, the OS performs the same sequence of steps:

  1. the program code is found on the storage drive
  2. a section of RAM is reserved for the program and space is allocated for the program's data
  3. the program code is copied from storage into the reserved space in the memory
  4. the CPU program counter is set to the memory location of the first instruction in the program, and execution begins

[3]

Please click this link for a good article describing how to compare CPU's

A CPU executes instructions. If it cannot process instructions quickly enough, there would be a experience of latency, lag, or failure. This would result in cascading failure, as one process may not be able to execute instructions, which may impact a different process.
Network Bandwidth, which is the amount of data that can be transmitted in a fixed amount of time, is expressed in multiples of bits per second in digital devices. In analog devices, it is expressed in hertz. The operating system allocates bandwidth to each program, input or output method. The most common consequence of limited bandwidth is latency (or lag). The problem with networks is we never really have a guarantee of throughput. If a process is depending on a certain amount of data in a certain amount of time, buffering strategies are employed. Buffering is Preloading data into a reserved area of memory (the buffer). In streaming audio or video from the Internet, buffering refers to downloading a certain amount of data before starting to play the music or movie. Having an advance supply of audio samples or video frames in RAM at all times prevents disruption if there are momentary delays in transmission while the material is being played[4]
Display server A display server or window server is a program whose primary task is to coordinate the input and output of its clients to and from the rest of the operating system, the hardware, and each other[5]. The IB might call this screen resolution.
  • The OS X operating system uses Quartz Compositor as a display server and of a window manager in the windowing system.
  • The Windows operating system uses the Desktop Window Manager to render the graphical user interface
  • The Linux operating system might use X11, wayland, mir or other display server and windows manager.
If there is inadequate resources to process video, we would see choppy, distorted or corrupted graphics. Video cards are often used to render complex graphics and off-load the job of rendering graphics from the CPU. A CPU can only process a limited number of instructions per second. A dedicated video card only processes video rendering processes and can thus process more instructions per clock cycle.
Sound server A sound server is software that manages the use of and access to audio devices (usually a sound card). It commonly runs as a background process.[6]


  • The OS X operating system uses CoreAudio process to manage sound
  • The Windows operating system uses Audio Processing Object Architecture
  • The Linux operating system might use PulseAudio
The operating system must translate the bit rate into sound. A common bit rate is 48,000 samples per second. Blue-ray has an audio sample rate of 192,000 samples per second. Without the resources to translate sound (at the target bitrate) we won't hear sound at the quality intended.

Standards[edit]

  • Identify the limitations of a range of resources in a specified computer system.
  • Describe the possible problems resulting from the limitations in the resources in a computer system.

References[edit]