Hardware and software - 100 - 107 Flashcards
meaning of hardware
any physical parts of a computer
what is software
programs that are run by the computer
examples of internal and external hardware
internal - Motherboards, hard drives, RAM
external - mouse, printers, webcam
what is system software
software that is used in the management of a computer system
what is application software
programs that allow a user to carry out a specific task, eg spreadsheet software or web browser, word processor
examples of operating systems
Windows,IOS, Linux
examples of utility programs
virus checkers, firewalls, device drivers
examples of translators
compilers
assemblers
interpreters
why might one application be recommended over another
- speed
- cost
- hardware
- memory requirements
- compatibility with device
- convenience
what are utility softwares
: (Software that) performs a non-core / specific
management function for a computer
- eg antivirus, programs that help detect and remove malicious programs
- disk defragmentation
- file managers
- firewalls
what is a translator
any program that converts source code into machine code
what are the different types of translators
- compilers
- interpreters
- assemblers
what do assemblers do
they convert low level assembly languages directly into machine code
what do compilers and interpreters do
they convert high level programming languages into object code (compilers) or machine code (interpreter)
- each line of code written by a programmer translates into many lines of binary code
difference between interpreters and compilers
- interpreters take one line of high language programming code and convert it directly into machine code and then run it
- compilers takes the entire program from start to finish and first converts it into object code, then distributes to anyone with a compatible system
- compiler produces object code, interpreter doesnt produce object code
- a compiler will not produce executable code if an error is encountered, interpreted code will run the program up to the first error
- you dont always need a compiler to execute a compiled program, when running interpreted code, the interpreter needs to be present
- once compiled, source code is no longer to run the program, an interpreter always needs source code at runtime
- compiled code can only be executed on a machine with the same processor type, interpreted code is more portable
advantages of interpreters
- useful when writing programs as there is no need for lengthy, time consuming recompilation every time an error is found
- makes it easier to partially test and debug programs
- a program run using an interpreter can execute on a computer with any type of processor
disadvantages of interpreter
-program may run slower because each statement has to be translated into machine code each time it is encountered
advantages of compilers
- compiled object code will run faster than interpreted code
- generated object code is kept on disk, it can be run when needed without needing to recompile it
- the object code can be distributed to others and will execute without the presence of the compiler
- object code is relatively secure, hard to read it and work out what the source code wouldve been
what are libraries
pre compiled, pre tested sets of code that can be run when needed, that developers can reuse to perform common tasks
uses of libraries
- data manipulation
- math functions
What is an operating system?
a program or set of programs that manages the operations of the computer for the user
purposes of operating systems
- to handle interrupts when an interrupt occurs
- to hide the complexities of the hardware from the user
- to allocate cores to processes
- to allocate RAM to processes
- to allocate I/O devices to processes
- to allocate space on a storage device to files
- installation of new software
- manage power consumption
Describe the chain from user to hardware
User, application, operating system, hardware
what are translators
- a term that refers to any software that takes code which has been written by a programmer then converts it into machine specific binary code