2.2 Fundamentals of computer systems Flashcards
Define hardware
A generic term for the physical parts of the computer, both internal and external
Define software
A generic term for any program that can be run on a computer
Define application software
Programs that perform specific tasks
Define system software
The range of programs that are concerned with the setup and running of the computer - the 4 main types of system software are utility programs, library programs, translators, and operating system software
Define utility program
Programs that perform specific common tasks relating to the running of the computer
Define library program
Code, data, and resources that can be called by other programs
What is a translator?
Software that converts programming language instructions into machine code. There are 3 types of translator - compilers, assemblers, and interpreters
What is a compiler?
A program that translates high-level language into machine code by translating all of the code in one block. This will often create a file such as a .exe file which will not need translating to be run again
What is an assembler?
A program that translates a program written in assembly language to machine code
What is an interpreter?
A program for translating a high-level language into machine code by reading each statement in the source code line by line and performing the action. Code that is translated by an interpreter will need to be interpreted each time it is run
Define operating system software
A suite of programs designed to control the operations of the computer
Define virtual machine
The concept that all of the complexities of using a computer are hidden from the user and other software by the operating system
What tasks are performed by the operating system?
- Controls start-up configuration of the computer
- Recognises input from peripherals and decides what action to take
- Sends signals to hard disk controller telling it what programs to transfer to memory
- Decides what sections of memory to allocate to the program currently running
- Attempts to handle errors
- Ensure complete and correct shutdown process
- Controls print queues
- Manages users on a network
Define resource management
How an operating system manages hardware and software to optimise the performance of a computer. This includes tasks such as managing input/output devices, memory management, file management, and scheduling tasks
Define scheduling
A technique to ensure that different users or different programs are able to work on the same computer system at the same time
Define memory management
How the operating system uses RAM to optimise the performance of the computer
Define file management
How an operating system stores and retrieves files
Define machine code
The lowest level of code that is completely understandable by a computer, which is written in binary
Define assembly language
A way of programming that involves writing mnemonics. This is one level above machine code
Why is assembly language used?
- Programs are executed quickly as a compiler does not optimise the machine code it produces as effectively as a programmer writing assembly language
- Program code is relatively compact
- Assembly language allows for direct usage of registers on the processor, giving lots of control over how the program is run
Define source code
Programming code that has not yet been compiled into an executable file
Define object code
Compiled code that can be run as an executable on any computer
Define low level language
A programming language that is machine oriented, this refers to assembly language and machine code
Define high level language and what are the 4 main types?
A programming language that allows programs to be written using English keywords and that is platform independent. The 4 main subsections of this are imperative, object-oriented, declarative, and functional (a subset of declarative)