4.6 Fundamentals of computer systems Flashcards
What is meant by application software?
Designed to perform task that a user wants to complete
What is meant by system software?
designed to cover technical aspects of setting up, running and maintaining a computer system
Provides a platform for application software
What are the different types of application software?
General purpose - used for a variety of tasks
Special purpose - used for one particular task
Bespoke - developed to meet users specific requirements
What are different types of system software?
Operating system
Utility software
Libraries
Translators
What is an operating system?
Controls the operations of computer hardware
What is utility software?
Software that is used to support the efficient running of a computer system
What is a library?
Collection of prewritten instructions that can be repurposed for other use in other programs
What is a translator?
Software tools that are used to convert program code from one format into another
What are the three types of translators?
Compiler
Interpreter
Assembler
What is a compiler?
A translator that converts high level language to machine code
What is an interpreter?
A translator which checks a source program for syntax errors line by line, translates it to machine code and executes the line
What is an assembler?
Converts assembly language into machine code
What is the role of an OS?
Hides the complexities of the hardware
Handles resource management: management of the available hardware and software to optimise performance
What is hardware?
Physical components of a computer system
What is software?
Programs that provide the instructions to control the computer hardware components
What are low-level languages considered to be?
Machine code
Assemble language
What is machine code?
Low level language written in binary that is directly understood by the CPU
What is assembly language?
Low level language consisting of a set of mnemonic instructions that represent the binary equivalent in machine code
What are advantages of low level over high level languages?
Low level can be executed quicker as high level needs to be translated into machine code first
Assembly language programs are suitable for low memory embedded systems
What are disadvantages of low level over high level languages?
More difficult to write programs in low level
Low level languages are not portable as they are specific to a particular instruction set
Low level do not have libraries unlike high level
What is a D-type flip-flop?
A sequential logic circuit used to store a single bit
Has two stable states which can be flipped between using an input signal
What is de morgans law?
Two NOTs cancel out a NOT
If You split a NOT you have to switch the sign from . to + or the other way around