Computer Systems Flashcards

1
Q

Define “hardware”.

A

hardware refers to the physical components of a computer system. These are the tangible parts that work together to perform various tasks, such as processing data, storing information, and interacting with users.

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

Define “software”.

A

software refers to the programs and applications that run on a computer, enabling it to perform specific tasks. Unlike hardware, software is intangible and consists of instructions that tell the computer what to do.

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

Describe the relationship between hardware and software.

A

the relationship between hardware and software is essential for the functioning of a computer system. They work together to perform tasks and execute operations.

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

Explain “system software”. Give examples.

A

system software manages the computer system resources and acts as a platform to run application software. macOS, Linux, Android, and Microsoft Windows)

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

Explain “application software”. Give examples.

A

application software is software that performs end-user tasks. word processors, web browsers and spreadsheet software.

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

name the 5 things the OS manages.

A

processor(s)
memory
input/output (I/O) devices
applications
security.

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

Explain the main differences between low-level and high-level languages.

A

Abstraction:

Low-level: Close to hardware, less abstract.
High-level: More abstract, easier for humans to read.
Ease of Use:

Low-level: Difficult to learn and write.
High-level: Easier to write and understand.
Control:

Low-level: More control over hardware and memory.
High-level: Less control, abstracted away from hardware.
Portability:

Low-level: Not portable, machine-specific.
High-level: Portable across different platforms.
Execution Speed:

Low-level: Faster execution.
High-level: Slower execution due to translation.
Examples:

Low-level: Assembly, machine code.
High-level: Python, Java, C++.

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

what are the differences between assembly language and machine code

A

Level of Abstraction:

Assembly Language: Human-readable, uses mnemonics (e.g., MOV, ADD).
Machine Code: Binary code (0s and 1s), directly understood by the computer’s CPU.
Readability:

Assembly Language: Easier for humans to read and write.
Machine Code: Not readable by humans, only understood by the CPU.
Translation:

Assembly Language: Needs to be translated into machine code by an assembler.
Machine Code: Already in the form that the CPU can execute directly.
Use:

Assembly Language: Used for low-level programming and system tasks (e.g., operating systems).
Machine Code: The actual code that runs on the CPU after being compiled/assembled.
Portability:

Assembly Language: Specific to a computer’s architecture.
Machine Code: Also specific to a computer’s architecture and CPU type.

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

machine code and assembly language are ___ level languages

A

low

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

what code do all processors execute

A

machine

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

what is assembly language used for?

A

assembly language is often used to develop software for embedded systems and for controlling specific hardware components

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

what is the ratio of correspondence between assembly language and machine code

A

1:1

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

what do high level languages and assembly language need to be translated into?

A

machine code

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

what are the advantages of low level languages

A

faster execution
greater control
efficient
hardware specific
smaller code size

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

what are the disadvantages of low level languages

A

difficult to learn
Time-Consuming
Less Portable
Low-Level Management:
Lack of Built-in Features:

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

what are the advantages of high level languages

A

Easier to learn and use
More readable and understandable code
Portable across different platforms
Faster development time
Rich libraries and built-in functions
Less need for manual memory management

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

what are the disadvantages of high level languages

A

Slower execution compared to low-level languages
Less control over hardware and system resources
Requires translation (compiling or interpreting) into machine code
May use more memory and processing power

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

which 2 of assemblers, interpreters and compilers, directly translate their inputs into machine code?

A

assemblers, compilers

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

what are the advantages of a compiler

A

Fast execution after compilation
Program can be run multiple times without recompiling
Errors detected before execution
Produces optimized machine code for better performance

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

what are the disadvantages of a compiler

A

Compilation process can be time-consuming
Requires re-compilation to test changes
Platform-specific code (may need recompiling for different systems)
More difficult to debug due to lack of immediate feedback

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

what are the advantages of a assembler

A

Directly converts assembly language into machine code
Faster execution of programs
Provides low-level control over hardware
Generates efficient, compact code
Suitable for system-level programming

22
Q

what are the disadvantages of a assembler

A

Difficult to learn and use
Requires detailed knowledge of the hardware
Not portable across different hardware platforms
Time-consuming to write and debug code
Limited debugging tools compared to higher-level languages

23
Q

what are the disadvantages of a interpreter

A

Slower execution speed compared to compiled code.
The program must be interpreted every time it runs.
Requires the presence of an interpreter to execute the code.

24
Q

what are the advantages of a interpreter

A

Executes code line-by-line, allowing for immediate feedback.
Easier to debug since errors are reported immediately.
Platform-independent, as the interpreter runs on different systems.

25
Q

what is a bus?

A

A bus is a collection of wires through which data/signals are transmitted from one component to another.

26
Q

explain the role and operation of main memory within the von Neumann architecture

A

In the von Neumann architecture, main memory stores both the program instructions and the data that the CPU needs to execute.

27
Q

what is a clock within the von Neumann architecture

A

the clock is a crucial component that controls the timing and synchronization of all operations within the computer system.

28
Q

what is an ALU within the von Neumann architecture

A

The ALU handles calculations like addition, subtraction, multiplication, and division, as well as logical operations such as AND, OR, NOT, and comparisons (e.g., equal to, greater than).

29
Q

what is the control unit within the von Neumann architecture

A

the Control Unit (CU) is a key component of the CPU that manages and coordinates the execution of instructions.

30
Q

what is a register within the von Neumann architecture

A

In the von Neumann architecture, a register is a small, fast storage location within the CPU used to hold data temporarily during processing. Registers are used to store intermediate results, instructions, and addresses that the CPU needs quickly during program execution.

31
Q

explain the role of fetch in the Fetch execute cycle

A

the next instruction is fetched to the CPU from main memory

32
Q

explain the role of decode in the fetch execute cycle

A

the instruction is decoded to work out what it is

33
Q

explain the role of execute in the fetch execute cycle

A

the instruction is executed (carried out). This may include reading/writing from/to main memory.

34
Q

why is secondary storage required?

A

permanent
large capacity

35
Q

what are the differences between main memory and secondary storage

A

Main memory will be considered to be any form of memory that is directly accessible by the CPU (except for cache and registers).

Secondary storage is considered to be any non-volatile storage mechanism not directly accessible by the CPU.

35
Q

what are the differences between ram and rom

A

RAM (Random Access Memory):
Volatile (loses data when powered off).
Used for temporary storage of data and instructions currently in use.
Read/write memory (data can be both read and written).
Larger capacity compared to ROM.

ROM (Read-Only Memory):
Non-volatile (retains data when powered off).
Used for permanent storage of firmware or essential startup instructions (e.g., BIOS).
Read-only memory (data cannot be modified easily).
Smaller capacity compared to RAM.

36
Q

what is cloud storage?

A

Cloud storage refers to storing data on remote servers that can be accessed over the internet, rather than on local hard drives or physical devices.

37
Q

what are the advantages of cloud storage

A

Accessible from any device with internet connection.
Easy to share files and collaborate.
Scalable storage, allowing for more space as needed.
Data is backed up automatically, reducing the risk of data loss.
Reduces the need for physical storage hardware.

38
Q

what are the disadvantages of cloud storage

A

Requires an internet connection to access data.
Security risks, including potential data breaches.
Ongoing subscription costs.
Limited control over data management and privacy.
Dependent on the cloud service provider’s reliability.

39
Q

what is an embedded system

A

is a specialized computer designed to perform a specific task or function within a larger system.

40
Q

give examples of an embedded system

A

smart thermostats, fitness trackers, home security cameras, and automobile control systems.

41
Q

give examples of a non embedded system

A

Desktop computer
Laptop
Smartphone
Tablet
Server
Gaming console
Personal computer

42
Q

how does a optical disk work?

A

An optical disk uses a laser to read and write data. The surface of the disk is encoded with pits and lands, which represent binary data.

43
Q

how does a magnetic disk work?

A

A magnetic disk works by using a read/write head that moves over a spinning disk coated with magnetic material.

44
Q

how does a solid state drive work?

A

An SSD stores data using flash memory chips, which retain data even when power is off. It has no moving parts, unlike traditional hard drives, and data is accessed electronically through electrical signals.

45
Q

what are the advantages of optical disks?

A

Portable and lightweight
Relatively low cost per GB
Durable and resistant to physical damage
Can store large amounts of data (e.g., CDs, DVDs)
Long shelf life for storage

46
Q

what are the disadvantages of optical disks?

A

Slower data transfer speeds compared to other storage types
Susceptible to scratches and physical damage
Limited storage capacity compared to newer technologies
Requires a specific drive to read or write data

47
Q

what are the advantages of magnetic disks?

A

High storage capacity.
Relatively low cost per gigabyte.
Reliable for long-term storage.
Can be easily rewritten and updated.

48
Q

what are the disadvantages of magnetic disks?

A

Slower than solid-state drives (SSDs).
Can be damaged by physical impact.
Moving parts make them less durable.
Noisy during operation.

49
Q

what are the disadvantages of solid state drives?

A

More expensive than traditional hard drives
Lower storage capacity (generally) compared to HDDs
Limited write cycles (can wear out over time)
Data recovery can be more difficult if damaged

50
Q

what are the advantages of solid state drives?

A

Faster data access and boot times
More durable (no moving parts)
Lower power consumption
Quieter operation
More compact and lightweight

51
Q

give 3 types of secondary storage devices

A

solid state, magnetic, optical