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
- software that manages the hardware and application programs of the computer
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
system software designed to optimise the performance of the computer or perform specific tasks
- 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