Hardware & Software Flashcards

(81 cards)

1
Q

What is Hardware?

A

The physical components of a computer e.g: CPU, Memory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is Software?

A

A set of instructions, data or programs used to operate computers and execute specific tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is System Software?

A

Provides a platform for other software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is Application Software?

A

Designed to carry out specific tasks, not on the operating of the computing itself

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is an Operating System?

A

A program that oversees the processes on a computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a Utility Program?

A

A program specifically designed to help manage system and/or application software:
Designed to keep computer safe, running efficiently, provides useful tools with file management

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a Library?

A

Collection of reusable premade files, functions, routines etc that can be referenced by computer programmers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are Imperative Languages?

A

Program code is executed one line at a time.
Code is written by a programmer using sequence, selection, iteration and subroutines/procedures.

Referred to as Procedural Language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Imperative Languages:

A

Object Oriented
Procedural

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Facts about Machine Code?

A

Least Abstract
Closest to what actually happens on the computer
Programming directly in 1’s and 0’s
These translate directly into matching electrical signals.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Facts about Assembly Language?

A

Programming using short code words known as mnemonics.
received by computer and looked up in tables
If a match is found it replaces the word with its binary.
One-to-one relationship
Written in assembly language and translated by an assembler

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Advantages of Assembly Language

A
  • Same efficiency as machine code due to one-to-one nature
  • produce very precise, locally optimized and efficient code
    Direct access to system-level features without going through software interface, improving speed of program.
  • complete control of code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Disadvantages of Assembly Language

A
  • Machine Dependent
  • Code produced is hard/impossible to port
  • Barely any programmers in assembly (reason why HLL exists)
  • Long and tedious to write and very bug prone.
  • difficult to understand and modify/maintain
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Types of Application Software?

A

General Purpose
Bespoke

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Types of System Software?

A

Operating System
Utility Software
Libraries
Programming Language Translators

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Types of Software?

A

System Software
Application Software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Common categories of Application Software?

A

Word Processor
Database
Web Browser
Graphics Manipulation
Communication Software
Software Development Tools

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the relationship between Hardware and Software?

A

Neither can work without the other - Symbiotic relationship

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What are Generic Applications?

A

Does not have a specific or narrow purpose
Carry out different for multiple needs
Examples: Word Processor, Spreadsheets, Web Browsers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What are Specific Applications?

A

Highly specific and bespoke, made for a specific purpose to execute
Has little use generally

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Examples of Utility Software?

A

File Repair
Device Drivers
Anti-Malware
Backup
Compression
Defragmentation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is file repair?

A

If a file becomes corrupted, file repair software attempts to correct the issues and restore the file

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is Backup?

A

Backups can be set automatic, manual or scheduled
Can perform full backups or incremental backups
Backup to different media or off-site cloud system
Comes with operating system but can be purchased separately

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is Data Compression?

A

Reduces size of file so it takes up less space and downloads faster on the internet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Benefits of using Library Routines?
Quick and easy to use and hook into your own code Pre-tested so you can be relatively sure they are already free from errors Pre-compiled so they are typically optimized to run quickly.
25
What is Anti-Malware?
Defends against Cyber Threats All operating systems are pretty much malware protected as its built in and hopefully configured and turned on.
26
What is Defragmentation?
Reorganizes files on hard disk, putting fragments of files and free space back together Speeds up file access by reducing the movement of the read/write head across the surface of the disk. SSD's cannot be defragmented as they have no moving parts
27
What is a device driver?
A device driver is software that tells the operating system how to communicate with devices Device drivers translates the OS's instructions for different devices that a specific piece of hardware will understand.
28
Drawbacks of Library Routines?
Adding functionality or making specific tweaks can be difficult - or impossible Sometimes you are "black-boxed" from the actual implementation You must rely on the developers to continue maintaining the library.
29
What system bridges the gap between user and hardware
Operating System
30
Uses of Operating System?
Providing a user interface Facilitating the interaction between users and hardware Process Management File Management Security Multitasking Interrupt Handling
31
What does a Paradigm mean?
To describe an example of a pattern Computer context = "To describe an example of a way of doing things"
32
Features of Machine Code?
Least abstract Closest to what actually happens on a computer Programs directly in 1s and 0s These translate into matching electrical signals e.g.: 1 for high voltage, 0 for low
32
Features of Assembly Language?
Uses short code words known as Mnemonics Each mnemonics matches a specific sequence of 1s and 0s One-to-one relationship Written in assembly language and translated by a specific assembler
33
Advantages of High-Level Languages?
Better Abstraction - easier to understand Portability - Can run on different machines, not written for specific hardware Productivity - Has libraries and frameworks making Programmers more productive Maintenance - Easier to read, write, maintain, reduces cost of development Community Support: Popular Languages have communities with extensive documentation
34
Disadvantages of High-Level Languages?
Performance: Less efficient than low level as abstraction can produce overhead Control: Less control over hardware Dependency: Rely on interpreters or compiles to translate code into machine language - can produce bugs and errors. Resource-intensive: Require more memory and processing power Learning Curve: Requires time and effort to master
35
What are the two types of High Level Language
Imperative Declarative
36
What are Imperative Languages?
Statements that change a program's state n the form of sequence, selection, iteration etc. Consist of commands for a computer to perform describing how a program operates.
37
What are Declarative Languages?
Focuses on what the program should accomplish.
38
Advantages of Machine Code and Assembly Language?
Assembly Language has same efficiency as Machine Code Very precise, locally optimized and efficient code. Provides direct access to system-level features without going through a software interface - increases speed. Complete control of code, especially in hardware.
39
Disadvantages of Assembly language and Machine Code?
Machine dependent - code is very hard to port Programmers who can write in assembly code well are rare Tedious to write and prone to bugs Difficult to understand - hard to modify and maintain
40
Three types of translators?
Assembler Interpreter Compiles
41
Assembly Code to Machine Code Translator?
Assembler
42
Features of Assemblers?
Translate Assembly Language into Machine Code Takes basic operations form AC and converts them to binary for a specific type of processor The translation process is typically one-to-one process from assembly code to machine code
43
Features of Compilers?
Translates sources code from HLL to Object code and then Machine Code The whole program is translated into machine code before it is run
44
Features of an Interpreter?
Translates source code form HHL to machine code. Program translated line by line.
45
Advantages of Assembler/
Programs can be replaced wit Mnemonics Memory Efficient Speed of Execution Faster Hardware-Oriented Fewer instructions to accomplish the same result
46
Advantages of Compilers?
No need for translation at run time Speed of execution is faster Code is usually optimized Original source code is kept secret
47
Advantages of Interpreters?
Easy to write source code as program will always run, stopping when finding a syntax error Code does not need to be recompiled when code is changed Easy it try commands when program pauses after finding an error.
47
Disadvantage of Assemblers?
Long programs written in such languages cannot be executed on small computers Takes a lot of time to code or write program Difficult to remember syntax Lack of portability between computers of different makes
48
Disadvantages of Compilers?
Source code is easier to write in HHL, but the program will not run with syntax errors, which can make it difficult to write the code. Code needs to be recompiled when the code is changed Designed for a specific type of processor
49
Disadvantages of Interpreters?
Translation software is required at run-time Speed of execution is slower Code is not optimized Source code is required.
50
What is Bytecode?
An intermediate language between machine code and high-level language source code
51
Features of Bytecode?
Produced by compiler which has been designed to translate source code into object code Executes on a virtual machine
52
+ symbol?
OR
53
. symbol?
AND
54
⨁ symbol?
XOR
54
- symbol?
NOT
55
| symbol?
NAND
56
V symbol?
NOR
57
≡ symbol?
The same as
58
What does Abstraction mean?
Process of simplifying complex real-world scenarios by focusing on the essential features
59
What is contained in the Processor?
Control Unit Arithmetic Logic Unit (ALU) Registers
60
SIMD?
Single Instruction Multiple Data Uses parallel processing A processor carries out a single instruction on multiple data items at the same time
61
MIMD
Multiple Instructions Multiple Data Multiple Instructions are carried out on multiple data items across several cores
62
Distributed computing?
Multiple computers on a shared network each take on part of a bigger problem.
63
What is an Instruction?
Instruction = Opcode + Operand
64
What is the addressing mode in?
OPERAND, last digit usually.
65
What is an Instruction Set?
A set of all instructions written in machine code that can be recognized and executed by a CPU's processing unit.
66
Types of Instruction Set
CISC - Complex Instruction Set Computer RISC - Reduced Instruction Set Computer
67
What does CISC do?
Aims to complete the task in as few lines of assembly as possible
68
What does RISC do?
Aims to use simple instruction that will be executed within a single machine/clock cycle Make up 90% of processors today E.g.: in smart watches, tablets etc.
69
Main features of CISC?
Used in laptops/desktops computers Has more complex hardware Large num of complex instructions of variable length Multiple machine/clock cycles per instruction Larger, complex circuitry, more silicon, more expensive Greater Energy Consumption Can't make use of pipe lining Emphasis is on the hardware, the compiler (software) needs to do less work. Small code sizes, higher cycles per second Makes more efficient use of RAM than RISC Multiple addressing modes available
70
Main features of RISC?
Used in Phones, Tablets, Embedded Systems Has simpler hardware Small num of simple standardized instructions at fixed length Single machine cycle per instruction Smaller in size, less complex circuitry, less silicon, cheaper Lower energy needs Can support pipe lining Emphasis on Software, compiler has to do more work Large code sizes, lower cycles per second Heavy use of RAM Fewer addressing modes available.
71
Types of Addressing Mode?
Immediate Addressing Direct Addressing
72
What is Immediate Addressing?
Also known as Immediate Operand The Value in the Operand is the value that needs to be used. For exam instead of code. For example ADD 10, would mean ADD 10 not not add the value in address location 10.
73
What is Direct Addressing?
The value in the Operand is the memory location. For instance ADD 10, would be ADD contents of addressing location 10.
74
Where is Check for new Interrupt in the FDE Cycle
Between Execute and Fetch
75
76
77