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