Topic 6 - Fundamentals of Computer Systems Flashcards
What are the two components of computer systems?
The two primary components of a computer are hardware and software.
Define one of the components of computer systems.
Hardware is the electrical and electro-mechanical components of a computer such as the keyboard, mouse, speakers, hard drive or SSD, power supply, printer.
Define another one of the components of computer systems.
Software is the program and program code of an application of a computer; this may be a word processor, video games, and other programs such as Spotify, Internet Explorer, Skype and many more.
Give examples of devices that are part of both components of computer systems.
Wireless routers and wireless keyboards are devices which are both hardware and software.
Define application software.
Application software is simply software which completes a specific task for the user.
Define system software.
System software is software which maintains the computer, ensuring it is running healthily with no problems.
What are the 4 types of system software?
- Utility program
- Operating System (OS)
- Library programs
- Translators
Define an OS.
An operating system is the system software which manages the computer’s hardware and peripherals and also completes other important tasks such as providing a user interface for the user.
What are utility programs?
Utility programs are programs that maintain and optimize the computer, and its storage via housekeeping tasks; data backup, defragmentation of hard drive, data compression and data encryption.
Describe library programs.
Library programs are pre-compiled routines/modules which can be imported into the code of a program by the user. These programs are very useful as they simplify the programming process and prevent unnecessary lines of code.
Describe translators.
Translators are another type of utility programs which translate between languages, typically translating the program source code to low-level machine code.
State the types of translators.
Types of translators are:
- Compilers
- Assemblers
- Interpreters
Why were low-level languages created?
At the time during the earliest computers, these computers were very weak in speed and memory so programmers would write instructions which directly manipulated the CPU to execute commands.
What are high-level languages?
High-level programming languages are languages which directly communicate with the processor of a computer, making the programming process much easier.
What are low-level languages?
Low-level languages are instructions which directly manipulate the CPU of a computer as they are specific to the type of CPU and directly affect the CPU.
What are the two types of low-level languages?
- Machine Code
- Assembly Language
Define machine code.
Machine code is a type of low-level language in the form of pure binary bits.
Give a disadvantage of machine code.
Because it is in the form of binary bits, machine code can get very long, making it hard to debug.
Give another disadvantage of machine code.
Machine code can be prone to errors.
Describe an advantage of machine code.
Because it is already in binary format, when being executed by the computer it does not need to be translated so it can run easily and quickly, making it powerful and strong.
State two uses of machine code.
Machine code can be used in real-time applications and embedded systems.
Define assembly languages.
Assembly languages are another type of low-level language which use mnemonics (ADD, MOV, STR…) instead of binary code, aiming to simplify the programming process.
Describe an advantage of assembly languages.
Assembly languages are generally less vulnerable to errors as they are more compact than machine code.
What correlation do assembly languages and machine code have?
Assembly languages and machine code have a 1 to 1 correlation;
e.g: The assembly instruction MOV R2, R1 is directly correlated to the binary number 11011001:
MOV stands for the MOVE command, represented by the 4-bit identifier 1101, R2 stands for Register 2, so in binary this would be 10, and R1 stands for Register 1 so in binary this would be 01.