Fundamentals of Computer Systems Flashcards
What is Hardware?
The term given to the physical components of the computer system. If you can touch it; it’s hardware.
Includes the internal (HDD, CPU etc) and external components (Printers, Speakers etc).
What is Software?
The name given to program code; applications.
Explain the difference between Hardware and Software
Software are the programs which execute on the hardware; hardware are the physical components which allow the software to execute.
What is Application Software?
The name given to programs which complete a specific task for the user.
For example:
- Word Processors
- Web Browsers
- Spreadsheet Software
What is System Software?
Software used in the management of a computer system; layers of software that abstract the user from how the computer works.
For example:
- Operating Systems
- Utility Programs
- Libraries
- Translators
What is Utility Software?
Software that performs a non-core specific management function for a computer.
For example:
- Disk Defragmentation Software
- Back-Up Software
- Antivirus Software
- Compression Software
- File Management Software
What is a Library?
Libraries are pre-complied, pre-tested sets of code used by programmers when coding.
What is a Translator?
A translator is a program which converts source code into machine code.
There are three types of translators: interpreters, compilers & assemblers.
What are the low-level languages?
Machine code and assembly language.
What are the disadvantages of low-level languages?
They’re specific to the processor that they’re written for.
They’re harder to program with.
What is Machine Code?
Binary instructions that a computer can process.
What are the advantages of using Machine Code?
It directly manipulates a computer’s processor, meaning that the possibilities are limitless.
No need to translate it beforehand, this makes it useful for efficient/fast programs.
What are the disadvantages of using Machine Code?
Difficult to remember/understand long strings of binary digits.
It’s processor specific.
What is Assembly Language?
An alternative to machine language.
Instead of using binary numbers for instructions, it uses short keywords known as mnemonics.
It has a 1-to-1 translation correlation; meaning one line of assembly is equivalent to one line of binary.
What translators are used for high-level languages?
A Compiler or an Interpreter
Machine Code [Portability]
Not portable, programs are processor specific.
Machine Code [Ease of use]
Code is difficult for humans to understand.
Machine Code [Ease of debugging]
Errors are very difficult to spot and correct.
Machine Code [Ease of execution]
Machine code is directly executed by processors.
Assembly Language [Portability]
Not portable. Programs are processor specific.