hardware
electronic/mechanical components of a computer system
software
instructions / programs / code
software categories
application software
system software > operating systems - utility programs - library programs - translators
application software
carrying out specific tasks that are user-oriented / perform a function for the end-user
examples of application software
word processors, image editors, internet browsers, email clients
system software
controls/manages the operation of the system, required to operate a computer
operating system
controls computer’s hardware + software resources, allows software to interact with hardware - hides the complexities of the hardware
tasks of an operating system
resources that the os manages
processor scheduling
determining order in which processes executed, allows for multi-tasking
utility programs
examples of utility programs
compression software, disk defrag software, anti-malware software, backup software, disk utilities, file repair, file manager
disk utilities
library programs
collection of pre-compiled routines that can be used across many programs, eg. math, random, turtle etc in python
virtual memory (VM)
why is VM less common
RAM cheaper and systems have more RAM than they did a decade ago
multitasking
execution of more than 1 task simultaneously, cpu processes only 1 task at a time but switches between processes so fast that it appears to be processing multiple processes at same time
multiprocessing
more than one processor being used, different parts of a task may be distribute among processors in separate CPUs, or a CPU may have 2+ processors
translators
software which translates between languages, includes compilers, assemblers and interpreters
machine code
mc cons
mc pros
assembly language
al pros