Resource limitations: Difference between revisions

From Computer Science Wiki
 
(34 intermediate revisions by 11 users not shown)
Line 7: Line 7:
{| style="width: 95%;" class="wikitable"
{| style="width: 95%;" class="wikitable"
|-
|-
! Resource  !!  Description || Consequence of limiting...
! Resource  !!  Description !! Consequence of limiting...
|-
|-
| Primary memory || Primary Storage is the area in the computer where data is stored for quick access by the computer's processor. RAM is often synonymous with this term. || foo
| 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.  
|-
|-
| Secondary storage || Secondary storage is storage that is non-volatile, meaning that the data is kept even when the device is turned off. The data within a secondary storage device is also held until deleted or overwritten. Examples of secondary storage devices are: Hard Drives (HDD), Solid-State Drive (SSD), Floppy Disks and USB Drives. || foo
| 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.  
|-
|-
| processor speed || Measures in MHz (megahertz) and GHz (gigahertz), this is the number of instructions per second that the processor can execute. The CPU asks the OS for specific tasks using a bootloader (a bootloader is a computer program that loads the operating system when the computer powers on) and interrupts. Interrupts are signals to the processor that alerts the processor to a high-priority condition requiring the interruption of the current task the processor is executing. || foo
| 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.
<br />
In each case, the OS performs the same sequence of steps:
 
# the program code is found on the storage drive
# a section of RAM is reserved for the program and space is allocated for the program's data
# the program code is copied from storage into the reserved space in the memory
# the CPU program counter is set to the memory location of the first instruction in the program, and execution begins
 
<ref>https://www.bbc.co.uk/bitesize/guides/ztcdtfr/revision/3</ref>
 
[https://www.makeuseof.com/tag/compare-different-cpus-right-way/ 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.
|-
|-
| bandwidth || 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. A "bus" with low bandwidth can hamper a fast hard drive. The operating system allocates bandwidth to each program, input or output method. || foo
| 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<ref>https://www.pcmag.com/encyclopedia/term/buffering</ref>
|-
|-
| screen resolution || Number of distinct pixels in each dimension that can be displayed. It is usually quoted as width × height for example, "1024 × 768." The Screen resolution depends on the operating system (OS), as such one can change the screen resolution through the OS. || foo
| 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<ref>https://en.wikipedia.org/wiki/Display_server</ref>. 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.
|-
|-
| disk storage || Disk storage is a storage mechanism where data is recorded using various methods : Electronic, magnetic, optic or mechanical. Disk storage is stored by a computer processor and communicates within a computer with the use of input and output operations (I/O). Disk storage is managed by the operating system by determining when to read and write from a storage point.  || foo
| 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.<ref>https://en.wikipedia.org/wiki/Sound_server</ref>
|-
 
| sound processor || Sound card - provides input an output of audio signals to and from a computer. Most sound cards use a digital-to-analog converter (DAC), which converts recorded or generated digital data into an analog format. The output signal is connected to an amplifier, headphones, or external device
 
* 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 [https://en.wikipedia.org/wiki/Sampling_(signal_processing) 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.  
|-  
|-  
| graphics processor || foo  || foo
|-
| cache || Cache memory is a small-sized type of volatile computer memory that provides high-speed data access to a processor and stores frequently used computer programs, applications and data. It is the fastest memory in a computer, and is typically integrated onto the motherboard and directly embedded in the processor or main random access memory (RAM).|| foo 
|-
| Network connectivity || foo || foo
|}
|}



Latest revision as of 20:56, 18 March 2020

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]