6: Fundamentals of Computer Systems Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Hardware

A

The physical components of a computer system

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

Software

A

Instructions / code / programs

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

System Software

A

Software used in the management of a computer system

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

Application Software

A

Software for carrying out user-oriented tasks

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

Operating System (3)

A
  • Provides a user interface between the user and the hardware
  • Runs application programs
  • Manages resources / hardware
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Utility Program (1, 1:4)

A
  • Programs designed to help maintain the computer
  • Examples include:
    • Virus scanner
    • Disk defragmenter
    • System monitor
    • File managers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Library Program (2)

A
  • Are collections of resources used to develop software
  • Include pre-written code and subroutines
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Translators (4)

A
  • Convert source code into machine code
  • Assembler converts assembly code into machine code
  • Compiler converts source code written in a high-level language into machine code
  • Interpreter treats high level language source code as data and interprets that data as instructions to its own routine
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Examples of System Software (4)

A
  • Operating systems (OSs)
  • Utility programs
  • Libraries
  • Translators (compilers, assemblers, interpreters)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

The operating system hides ____

A

The complexities of the hardware

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

OS Functions (8)

A
  • To hide the complexities of the hardware from the user
  • To call appropriate interrupt handler when an interrupt occurs
  • To allocate processors to processes
  • To allocate memory to processes
  • To allocate I/O devices to processes
  • To allocate space on a storage device to files
  • Installation of new software and managing updating software
  • Manage power consumption
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Classification of Programming Languages (2)

A
  • Low-level languages: are based upon the instruction set of the computer
  • High-level languages: are problem-oriented and close to a natural language
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Low-Level Languages (2)

A
  • Machine-code
  • Assembly language
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

High-level languages include ____

A

Imperative high-level language

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

Machine-Code Language

A

Is written in binary and doesn’t require translation to be run

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

Assembly Language

A

Help programmers write machine-code using a set of ‘mnemonics’, that represent a binary, machine-code statement

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

Low-Level Languages + (4)

A
  • Programs give better access to computer hardware
  • Programs may execute more quickly as they require less translation
  • Some programs can only be written using a low-level language particularly some parts of a computer’s operating system
  • Programs may use less memory
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

High-Level Languages + (8)

A
  • Programs are portable
  • Program code is easier to understand
  • Faster development time
  • Availability of flow control structures
  • Improved features for supporting modularity
  • Built-in support for data structures
  • Language is problem-oriented
  • Support for different paradigms
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Imperative High-Level Language (4, 1:4)

A
  • Instructions are executed in a programmer-defined order
  • Imperative languages describe how to solve a problem
  • High-level languages use English-like keywords
  • They support structured statements
  • They support the use of:
    • Local variables
    • Parameters
    • Named constants
    • Indentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

One statement in an imperative high-level language corresponds to ____

A

Many low-level language statements

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

Compilation +/- (4)

A

+ Commercial software is compiled before distribution to protect the source code
- Errors are reported at the end of compilation, which makes debugging harder
+ Object code runs very quickly but programs take long to compile
+ Users don’t need a translator to run object code

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

Interpretation +/- (4)

A

+ Developers can quickly test the program without having to translate the entire program every time
+ Errors appear as they occur so it is easy to identify and fix them
- Interpreting source code is slower than running object code
- Users must have a translator to run the source code

23
Q

Intermediate Language (3)

A
  • Some compilers produce an intermediate language (e.g., bytecode) as their final output
  • This is because the code may need to run on multiple platforms
  • To execute it, a virtual machine performs just in time translation to convert the intermediate language to object code and execute it
24
Q

Source Code vs Object (Executable) Code

A

Source code is code in its original form, written by the programmer whereas object code is compiled source code, which can be executed

25
Q

Logic Gates (6)

A
  • NOT
  • AND
  • OR
  • XOR
  • NAND
  • NOR
26
Q

Truth Table for NOT Logic Gate

A

Input | Output
0 | 1
1 | 0

27
Q

Truth Table for AND Logic Gate

A

Input | Input | Output
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1

28
Q

Truth Table for OR Logic Gate

A

Input | Input | Output
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 1

29
Q

Truth Table for XOR Logic Gate

A

Input | Input | Output
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0

30
Q

Truth Table for NAND Logic Gate

A

Input | Input | Output
0 | 0 | 1
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0

31
Q

Truth Table for NOR Logic Gate

A

Input | Input | Output
0 | 0 | 1
0 | 1 | 0
1 | 0 | 0
1 | 1 | 0

32
Q

Diagram for NOT Logic Gate

A

https://isaaccomputerscience.org/api/v2.19.3/api/images/content/computer_science/computer_systems/boolean_logic/figures/sys_bool_logic_gates_not.svg

33
Q

Diagram for AND Logic Gate

A

https://isaaccomputerscience.org/api/v2.19.3/api/images/content/computer_science/computer_systems/boolean_logic/figures/sys_bool_logic_gates_and.svg

34
Q

Diagram for OR Logic Gate

A

https://isaaccomputerscience.org/api/v2.19.3/api/images/content/computer_science/computer_systems/boolean_logic/figures/sys_bool_logic_gates_or.svg

35
Q

Diagram for XOR Logic Gate

A

https://isaaccomputerscience.org/api/v2.19.3/api/images/content/computer_science/computer_systems/boolean_logic/figures/sys_bool_logic_gates_xor.svg

36
Q

Diagram for NAND Logic Gate

A

https://isaaccomputerscience.org/api/v2.19.3/api/images/content/computer_science/computer_systems/boolean_logic/figures/sys_bool_truth_tables_nand2_2.svg

37
Q

Diagram for NOR Logic Gate

A

https://isaaccomputerscience.org/api/v2.19.3/api/images/content/computer_science/computer_systems/boolean_logic/figures/sys_bool_truth_tables_nor2_labelled.svg

38
Q

Boolean Expressions (6)

A
  • A AND B = A ⋅ B
  • A OR B = A + B
  • NOT A = ̅A
  • A NAND B = ̅A ̅⋅ ̅B
  • A NOR B = ̅A ̅+ ̅B
  • A XOR B = A ⊕ B
39
Q

____ can be Used to Simplify Simple Boolean Expressions

A

Truth tables

40
Q

Boolean Identities (5)

A
  • Commutative law
  • Associative law
  • Absorption law
  • Distributive law
  • De Morgan’s law
41
Q

Commutative Law

A

AND: A ⋅ B = B ⋅ A
OR: A + B = B + A

42
Q

Associative Law

A

AND: (A ⋅ B) ⋅ C = A ⋅ (B ⋅ C)
OR: (A + B) + C = A + (B + C)

43
Q

Absorption Law

A

AND: A ⋅ (A + B) = A
OR: A + (A ⋅ B) = A

44
Q

Distributive Law

A

AND: A + (B ⋅ C) = (A + B) ⋅ (A + C)
OR: A ⋅ (B + C) = (A ⋅ B) + (A ⋅ C)

45
Q

De Morgan’s Law

A

AND: ̅A ̅⋅ ̅B = ̅A + ̅B
OR: ̅A ̅+ ̅B = ̅A ⋅ ̅B

46
Q

Order of Boolean Operations (4)

A
  • Brackets (first)
  • NOT
  • AND
  • OR
47
Q

Compilation vs Interpretation (6)

A
  • A compiler produces object code whilst an interpreter does not
  • A compiler translates the whole of the source code into object code whilst an interpreter translates line by line
  • The object code produced by a compiler will execute faster, than interpreting the source code
  • An interpreter can run parts of a program whilst there are syntax errors in other parts of it, which a compiler cannot
  • Once code has been compiled it does not need to be recompiled whilst an interpreter has to translate code every time a program is run
  • If using an interpreter, it needs the source code each time it executes the program whereas a compiler only needs to use the source code once
48
Q

Binary Half-Adder Circuit

A

https://isaaccomputerscience.org/api/v3.1.6/api/images/content/computer_science/computer_systems/boolean_logic/figures/isaac_cs_sys_bool_binary_half_adder.svg

49
Q

https://isaaccomputerscience.org/api/v3.1.6/api/images/content/computer_science/computer_systems/boolean_logic/figures/isaac_cs_sys_bool_binary_full_adder.svg

A

Binary Full-Adder Circuit

50
Q

Edge Triggered D-Type Flip-Flop (3)

A
  • This is used as a NAND flash memory unit
  • On the rising edge of each clock signal, the state of the data input is accepted and the output is updated to reflect this
  • Once the clock signal input goes low, the state of the circuit will not change and store the output
51
Q

OS Processor Management (2)

A
  • To allocate processors to processes
  • Schedule processes
52
Q

OS Memory Management (4)

A
  • To allocate memory to processes
  • To determine what areas of memory
    are used for what purpose
  • Moving data into and out of RAM / to a paging file for virtual memory
  • Ensuring processes can only write to memory that they have been allocated
53
Q

OS I/O Devices Management (3)

A
  • To allocate I/O devices to processes
  • Manages communication between
    processes and I/O devices
  • Automatic installation of drivers for new I/O devices
54
Q

OS Storage Management (4)

A
  • To allocate space on a storage device to files
  • Organising files into directories
  • Determines where on a device to save a file
  • Recognising storage devices when
    they are connected