Computers Flashcards
What is the stored program concept?
Where there is main memory and a central processing unit interconnected by buses with some form of secondary storage for long-term storage
What is the role of the clock?
Synchronises the actions of the CPU
What is the role of the control unit?
Fetches program instructions from main memory one at a time, decodes them and directs the operations of the other parts of the system to execute them
What is the role of the arithmetic logic unit?
Performs arithmetic and logic operations on data
What is the role of registers?
Direct-access storage for instructions, intermediate results and data within the CPU.
What is an embedded system?
A small computer that performs a dedicated task within a bigger system
What are some features of an embedded system?
- Single purpose
- Low power consumption
- Minimal or no user interface
- Small physical size
- Low maintenance
What is an operating system?
A program that acts as an interface between the hardware and software in a computer system
How does an OS manage files?
Files are stored in a hierarchal tree structure with the root directory at the top, branching off into directories, sub-directories and files
What is a code review?
Where another programmer or specialised software checks the code to find any vulnerabilities in the code. It may also suggest way to fix them
What is an audit trail?
It keeps track of who made what changes and when during the development changes. Should a problem be discovered, the code can be rolled back to a version before the flaw was introduced
What is a low-level language?
Machine code and assembly language that work directly with a computer’s hardware
What are the advantages and disadvantages of low-level languages?
ADV:
1. Interact directly with the hardware, enabling memory to be used efficiently
DIS:
1. Are difficult and time consuming to use
2. Have few tools to help with maintenance and debugging
3. Are machine-specific
What is a high-level language?
A language much closer to human language - Java and Python
What are the advantages and disadvantages of high-level languages?
ADV:
1. Programmer friendly
2. Have tools that make maintenance and debugging easier
3. Are machine-independent
DIS:
1. Are generally less memory efficient