computer systems Flashcards
define hardware
the physical components that make up a computer system (including input/output storage devices, the CPU and RAM)
define software
the non-physical programs that are stored by and run on a computer system
describe the relationship between software and hardware
software makes use of physical hardware components and devices as the way of:
- taking inputs from users, outputting information to users and storing information
what is system software; with examples
the software that provides a platform for other software to work e.g. operating systems and utility programs
what is application software; with examples
any software added to the system that enables the user to perform a task e.g. web browsers, music and video players
what are utility programs; with example
programs that perform extra functionality and tasks that keep computers running efficiently e.g. antivirus software
what is an operating system; with example
software that manages computer hardware and software and supplies an interface for the user e.g. Microsoft Windows, google chrome
what are operating systems responsible for managing
the processor(s), memory, input/output devices, applications and security
how does the OS control processor management
it’s responsible for deciding which program will run on the processor and how much time it will get to run
what is multi-tasking
where an OS manages many tasks happening at the same time e.g. web browser open whilst playing music and messaging friends
what are interrupts
signals sent to the CPU by external devices to indicate an event that needs immediate attention
how are hardware interrupts generated
by hardware devices e.g. printer out of paper
how are software interrupts generated
by programs e.g. a divide-by-zero error will cause an error message to be displayed
examples of high-level programming languages
python, Visual Basic, c#, java
examples of low-level programming languages
assembly language, machine code
s
advantages of high-level languages
- easier to learn
- programs can be written faster
- it is easier to understand and debug
- it is closer to the language and syntax that we as humans understand
why are most computer programs written in high-level languages
because they are easier to understand and are less complex than machine code
what do processors do
they execute machine code; each type of processor has its own specific machine code instruction set
what is the correspondence between assembly language and machine code
1:1
what is assembly language
a low-level language which has to be translated into machine code before it can be executed
what is assembly language used for
it’s often used to develop software for embedded systems and for controlling specific hardware components
how are programs using assembly language made to be very efficient
they allow the programmer to precisely control any instruction on the processor
what are high-level languages
programming languages that have a syntax we can understand; this makes them easier to learn and understand
compare assembly language and machine code
- assembly language allows a programmer to create programs more easily than writing in machine code
- each assembly language instruction maps directly to machine code
- programs written in assembly language must be translated to machine code in order to be executed
what is a translator and what are the three types
a translator program translates from one programming language to another one; the three types are interpreters, compilers and assemblers
what Is machine code
a low-level language that is expressed in binary and is specific to a processor or family of processors
function of a compiler
it translates a high-level language into machine code
function of an interpreter
another type of program that translates a high-level language into machine code
function of an assembler
it translates assembly code into machine code; they assemble source code so it can be run later
difference between interpreters and compilers
interpreters translate source code and immediately run it, but compilers compile source code so it can be run later
what do interpreters do instead of directly generating machine code
they call appropriate machine code subroutines within their own code to carry out commands
what is a bus
a collection of wires through which data/signals are transmitted from one component to another
function of the CPU
it processes instructions and runs one instruction at a time; it carries out billions of instructions per second
what is von Neumann architecture
a system where the program instructions and the data the programs are using are both stored in the same memory
what are registers
very fast small memory locations in the CPU that carry out operations for the control unit and the ALU; they temporarily store calculations
function of the ALU
performs arithmetic and logic operations on data
function of the control unit
it coordinates and controls all of the activities taking place within the CPU
how does the control unit carry out its function
- it decodes instructions and executes them
- it receives signals from the system clock
- it directs the timing and control of other parts of the CPU
function of the clock
it controls the timing of the processor
function of the clock
it controls the timing of the processor
how does the clock carry out its function
it switches between 0 and 1 several million times per second and synchronises all CPU operations
what is clock speed (AKA clock frequency)
the number of clock cycles which occur each second