Primary Memory (RAM)
What it does:
Place where all the data / programs currently being processed are kept.
Common capacities
Gigabytes (GB): 1,2,4,8,16
Effect on system if too limited
If there is too little memory the system will need secondary storage, which is a lot slower, through virtual memory.
If virtual memory cannot be made or is insufficient the program or data will just not be loaded.
It influences how many processes can be done simultaneously.
Secondary Storage (HDD / SDD / Optical drives)
What it does
Place where data / programs can be stored if power is lost (RAM is too volatile)
Common capacities
HDD: 500GB, 1TB, 2TB (terabytes)
SDD: 256 GB, 512 GB
Optical: CD 650 MB (megabyte), DVD 4.7 GB
Effect on system if too limited
No place to “save” work so data can be lost.
Can also prevent the OS from using storage as virtual memory if RAM fills up.
Limits how much data can be kept.
Processor Speed
What it does
A processor (like CPU and others) does all the calculations for a computer system
Speed is a measurement of how many calculations can be done per second (1 (gigahertz) Ghz = 1 billion calculations per second).
Common capacities
Ghz: 1, 1.2, 2, 2.4, 3.2
Effect on system if too limited
Processor will take long to perform tasks
Processor Cores
Processor cores
What it does
Each processor has at least 1 ALU or core. If you have two you can do two operations at once.
Common capacities
2 core = dual core, 4 = quad core, 8 = octa, etc
Effect on system if too limited
If you only have one you can only perform one set of operations or calculations at a time. If you have two or more you can do more calculations in the same time frame.
It affects how many tasks a system can cope with simultaneously.
Bandwidth (network transmissions)
What it does
Measurement of how much data can be sent at the same time in a certain time frame.
Common capacities
Measured in bits per second (bps)
Broadband (high speed internet connection) = 16-100 Mbps.
LAN = up to 1 Gbps
Effect on system if too limited
Limiting bandwidth means data will take longer to move between two points.
Affects how long it takes before data can be processed in its entirety.
Screen Resolution
What it is
Measurement of the number of pixels in height times width of display
Effect on system if too limited
The number of pixels that can be displayed is less, so the display may be blocky / pixelated.
Lower resolutions = smaller file size but poorer quality images.
Sound Processor
What it does
Sound reproduction is done by a separate processor freeing up CPU for other calculations.
ALso contains a bank of ‘sampled’ sounds to reproduce better quality music / audio.
Common seen in
Home theater systems
Movie theaters
Effect on system if too limited
CPU is taxed with having to process sound and it slows down the system overall.
Overall quality is not as high in a system with a sound processor.
Graphics Processor (GPU)
What it does
Complex graphic processing (like rendering 3D)
Common seen as
Nvidia or ATI graphics cards
Effect on system if too limited
If CPU has to do graphics processing it will take longer or be limited.
Cache
What it does
Contains the instruction / data the CPU is likely to request next from RAM. It massively speeds up processing as the CPU does not have to ‘wait’ for instructions to arrive from RAM.
Common capacities
MB: 1 to 128
Effect on system if too limited
CPU will have to ‘wait’ for instructions / data to be fetched from RAM - slowing down the system. Users experience a ‘sluggish’ system.
Network Connectivity
What it is
Each networked card connects to a particular type of network media (cable / wireless signal)
Commonly found as
Network interface card (NIC) = LAN / ethernet cables
Wireless network interface controller (WNIC) = wifi signals
Bluetooth = bluetooth signals
3G radio = cellular signals
Effect on system if too limited
Limited connection types limits the way data can be sent or received in a system
Speed can also be a factor
Resources in the Mainframe
Processor
Thousands of cores
Primary memory
Vast amounts
Secondary memory
Vast amounts
Common use
Used in large companies
Used for weather/financial models and predictions
Used to ‘virtualize’ smaller computers
Mostly CRAY or IBM
Resources in Servers
Processor
Many high spec PCs running in parallel (3-4 GHz)
Primary memory
Big capacity (32 GB+ per machine)
Secondary memory
Terabyte per machine
Common use
To serve networks
Data centers for cloud storage
Size varies according to use
Resources in PCs
Processor
Single processor (multiple cores) 1-4 GHz
Primary memory
2-16 GB
Secondary memory
256 GB to 2 TB
Common use
Companies and schools where portability is not needed
Can be expanded by adding expansion or graphics cards
Used to be the most common type of personal computer - not anymore.
Resources in Cell Phones
Processor
Single / multicore
Primary memory
1 - 3 GB
Secondary memory
Usually limited but can be upgraded (MicroSD card)
Common use
Most common personal computing deceive in the world
Getting more capable of rivaling PCs/laptops
Biggest constraint is screen size and input options (lack of a physical keyboard)
Resources in Tablets
Processor
Single / multicore
Primary memory
1 - 4 GB
Secondary memory
Usually limited but can be upgraded (MicroSD card)
Common use
Very common for media consumption
Getting more capable of rivaling PCs/laptops
Biggest constraint is lack of physical keyboard
Resources in Digital Cameras
Processor
Single core
Primary memory
Limited
Secondary memory
Expandable through the use of memory cards (SD / compact flash / memory stick)
Common use
For higher end photography
Most digital cameras now integrated in mobile phones / laptops / tablets
Limitations in 3D graphics rendering
Single processor computers may not be able to render 3D graphics as effectively as multicore systems with a GPU.
Primary memory
The game may not load, or it could fall back on secondary storage. This will cause the entire computer to significantly slow down.
Secondary storage
Limits how much data can be kept by the game. Also may cause your progressive to not save.
CPU speed
The CPU will take even longer to perform, making it take a long time to render the graphics.
CPU cores
The system will not be able to cope with all the graphics programming and movements at once. Less cores means that less things can be done at once. Will severely slow down play time.
Connectivity
Slows it down and limits what type of games and data can be played / sent.
Problems from Limiting Resources in a Computer System
User time wasted if primary memory is too small or processor speed inadequate.
Multi-access and multi-programming environments should be considered as well as single-user systems.
Multi-user system
Either many users on the same machine
Or many users connected to the same network
Multiprogramming system
Multiprogramming system = systems that can have different programs or apps installed.
Phones and laptops
Switch
Single programming system = can only run one program / set of programs
A kindle
Scheduling
Scheduling is the method by which work is assigned to resources that complete the work.
The work could be processes which are in turn scheduled onto hardware resources such as processors, network links, or expansion cards.
The algorithm used could be as simple as a round-robin in which each process is given equal time in a cycling list. So process A executes for 1ms, then process b, then c, then back to A.
Policies
The policies what is to be done while the mechanism specifies how it is to be done.
For instance, the timer construct (limiting the time a process can use the CPU for) thereby ensuring CPU protection is a mechanism.
On the other hand, the decision of how long the timer is set for a particular user is a policy decision.
The separation of mechanism and policy is important for flexibility to a system.
Multitasking
Multitasking, in an operating system, is allowing a user to perform more than one computer task (such as the operation of an application program) at a time.
The operating system is able to keep track of where you are in these tasks and go from one to the other without losing information.
Almost all of today’s operating systems can do this.
When you open your web browser and then open Word at the same time, you are causing the operating system to do multitasking.
Virtual Memory
Virtual memory is a feature of an OS that allows a computer to compensate for shortages of physical memory by temporarily transferring pages of data from RAM to disk storage.
Eventually, the OS will need to retrieve the data that was moved temporarily to disk storage - but remember, the only reason the OS moved pages of data from RAM to disk storage was because it was running out of RAM.
Paging
When using virtual memory, the OS needs to retrieve the data that was moved to temporary disk storage. This is a problem as there is no memory left to have the pages be brought back.
To solve the problem the operating system needs to move other pages to the hard disk so it has room to bring back the pages it needs.
This is a pagefile or swap file
It is carried out by the computer’s memory manager unit. MMU.
Memory Management Unit Algorithms
Least Recently Used LRU
Least Frequently Used LFU
Most Recently Used MRU
Interrupt
An interrupt is a signal to the processor emitted by hardware or software indicating an event that needs attention.
An interrupt alerts the OS to a high-priority condition that needs to interrupt the current code.
OS responds by suspending current activities, saving its state, and executing a function called interrupt handler.
After the handler finishes normal activities are resumed.
Two types of interrupts
Hardware interrupts
Software interrupts
Polling
The process where the computer or controlling device waits for an external device to check for its readiness or state, often with low-level hardware
A printer is connected via a parallel port, the computer waits until the printer has received the next character
It is usually more efficient to use interrupts because it can reduce processor usage and bandwidth consumption.
Advantages of a dedicated operating system
Security: a dedicated operating system ensures a higher level of security.
Customizability: when custom made to do a specific function it works at maximum efficiency
Modify priorities: can make running some devices easier to use or better suited to the audience. You can eliminate certain aspects of the os which are not needed, reducing size of the os, therefore reducing the amount of secondary memory and RAM being used.
Abstraction leading to simplicity
Users and applications do not see the hardware directly, but view it through the OS.
This is used to hide certain hardware details from users and applications (abstraction)
Users cannot see changes in the hardware. It can be used to make related devices appear the same from the user’s point of view.
IE hard disks, floppy disks, USB keys.
Drive Letters
A drive letter is a single alphabetic character A through Z that has been assigned to a physical drive or drive partition in the computer.
A computer with a floppy drive has a drive letter of A assigned to the drive.
All computers with a hard drive will always have the default hard drive assigned to a C drive letter.
CD-ROM or other drive is the next drive letter (eg D), etc.
JVM
A java virtual machine - JVM interprets compiled Java binary code (called bytecode) for a computer’s processor (or hardware platform) so that it can perform a java program’s instructions.
Each platform gets its own JVM so that Java code can run on any platform.
Operating System role
Device Configuration
file management
memory management
interface platform
managing primary memory
virtual memory
secondary storage
providing an interface
time-slicing
interrupt handling
Device configuration
controls peripheral devices connected to the computer
Use of drivers (specially written, individualized) translation programs, the other programs can use and control peripheral devices (like keyboards, mouses, printers, etc).
File management
transfers files between main memory and secondary storage, manages file folders, allocates the secondary storage space, and provides file protection and recovery
Memory management
allocates the use of RAM (random access memory) to requesting processes
Interface platform
allows the computer to run other applications
Manages primary memory
The OS has to ensure that each process (program) runs in its own allocated memory space
If programs interfere with each other’s memory space it could cause many problems and security issues
Virtual memory
A feature of an OS that allows a computer to compensate for shortages of physically memory by temporarily transferring pages of data from RAM to disk storage.
Manages secondary storage
Manages by providing structure and access methods to these structures
The folder-structure or the directory-structure
Also manages the security access of these folders
Provides an interface
User interface is used to interact with the computer to perform various tasks. User gives commands to computer and enters the data into the computer. The operating system then translates the input/output and sends it to the correct memory address/folder access to be processed.
There are two types of OSs based on user interface:
Graphical User Interface Operating System (Windows)
Command Line Operating System (Linux Terminal)
Time-slicing
With a multi-user system, a time-slice is the set amount of processing time each user gets
With a single-user system, a time-slice is the set amount of processing time each program gets
Slices are alternately processed to give the illusion of many tasks happening at once.
Interrupt handling
An interrupt handler is a function in of the OS or a device driver, whose execution is triggered by the reception of an interrupt.
Interrupts are used to handle high-priority conditions that require the interruption of current code the processor is executing
For example: pressing a key on a keyboard or moving the mouse, triggers interrupts that call interrupt handlers which read the key, or mouse’s position, and copy the associated information into the computer’s memory.