Computer Systems Flashcards
What is hardware?
Hardware are the physical components that make up a device
What is software?
Software is the computer code, programs and algorithms that give instructions to the hardware to make it perform a desired task.
What is application software?
A program designed to perform a specific task that the user interacts directly with.
What is system software?
System software is concerned with the running of the computer and the control of the computer hardware.
What are the five roles of an operating system.
Application management Processor management Memory management Security Input/output devices
What is a utility program?
A program for carrying out a routine function
What is a high level programming language?
A high level programming language is closer to human language and is therefore easier to understand.
What is a translator?
A translator converts the instructions into code the computer can understand (machine code)
What is a compiler?
Converts high level languages into machine code before the program is run. Saves machine code so source code not needed. Runs faster than interpreted code. People cannot copy the code to use for their own applications.
What is a low level programming language?
A low level programming language refers to machine code and assembly language. This language is very close to the language understood by computers.
What is machine code?
Machine code is expressed in binary values 0 and 1. This is what computers understand. Machine code is specific to a processor.
What is Assembly language?
Assembly language provides basic computer instructions for programs to run. Not quite machine code but has the same structure.
Advantages of low level language
Produces code that is faster and better optimised than high level languages
More appropriate for developing new operating systems, embedded systems and hardware device drivers
Disadvantages of low level languages
Very difficult to understand and modify
Is specific to the processor architecture
Advantages of high level language
Allows code to be written that is portable between different processor architectures
Easier to understand
Easier to modify