Topic 6 - Computer systems - Complete Flashcards
Define software?
Refers to the program or coded instructions that make the computer run,
Define hardware?
Refers to the physical part that makes up a computer system.
Define system software?
Is needed to carry out the tasks to operate the hardware.
Define application software?
Is needed to help carry out user-related tasks, such as Word processing, Payroll & air traffic control.
What are the 4 features of system software? O L U P
- Operating system
- Library programs
- Utility programs
- Programming language translators
What are the 3 types of application software?
G
S
B
- General-purpose (GP)
- Specialised applications (SA)
- Bespoke applications (BA)
What are some features of the operating system (OS)?
Controls the hardware and hides the complexity of the hardware by creating a platform to run application software.
What are some features of library programs?
Are pre-written software that is stored in compiled format and can be included by the programmer within one or more programs.
What are some features of Utility programs?
Are a range of system software that is designed to help the user to manage, maintain and optimise the system.
Disk formatting, file compression, data synchronisation, firewall, memory testing and anti-virus protection.
What are some features of programming language translators?
Used to translate a program in one programming language into a different programming language and to maintain the functionality of the original code.
Define these 3 types of translators?
Assembler
Compiler
Interpreter
Assembler - Used for assembly language programs
Compiler - Used for program languages like C++, Visual
Interpreter – Used for program languages like python
Define machine code?
Is the set of binary instructions that are used by the CPU to perform a task. Is processor dependant.
Define assembly language?
Is a low-level programming language which is processor-dependant, each instruction is one machine code operation.
Define high-level languages?
Is a computer programming language based on natural language or mathematical notation.
C++, Python, Java
Define declarative?
high-level languages are also based on natural language and are used to declare the necessary information to produce the required result.
Define imperative language?
Program statements or instructions are executed in a sequence or order as defined by the programmer. High-level languages are imperative.
Define the advantages of low-level language (machine code & assembly language) compared to high-level language?
Programming in low-level code can create faster and more efficient code as the programmer controls the performance level of the created code. More memory efficient.
What are the advantages of high-level languages?
It is difficult to learn to program in low-level languages whereas high-level languages have more support and training options. Easier to debug.
Define source code?
Is the language instructions that have been written by the computer programmer. The computer cannot execute the source code directly.
Define object code?
Is translated from the source code using an assembler or compiler into instructions that can be executed by the compiler.
Define assemblers?
Series of memorable mnemonics used to represent machine operational code. Assembly code is the most difficult language to program and needs a high degree of expertise to write and debug it.
What are the pros and cons of assemblers?
Pros: An efficient low-level language that can be translated quickly as it has a one-to-one relationship with machine code.
Cons: It is complex to write and takes lots of programming time and expensive
Define compilers?
The compiler converts the source code to an object, which the computer can run. Source code created by the programmer is not understandable by the computer.
What are the pros and cons of compilers?
Pros: An executable file is produced which runs without the need of the source code. This makes the source code more secure as it does not need to be distributed to the customer.
Cons: Complication of a large program takes a long time to complete and any errors in the source code need to be corrected before an executable file can be made.