Computer Systems Flashcards

1
Q

Define Hardware

A
  • Physical components of the computer system (you can touch it)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define Software

A
  • Program code, sequences of instructions which are executed in order to perform a task (non-physical)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Hardware examples

A
  • Monitor
  • Processor
  • Graphics
  • Webcam
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Software examples

A
  • Word Processor
  • Web Browser
  • Image editor
  • Video editor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Examples of both software and hardware

A
  • Wireless router
  • Wireless keyboard
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Application Software

A
  • programs that run to complete a specific task for the user e.g. Word, Powerpoint
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does a device driver do?

A
  • Allows the device to communicate with the OS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Operating system role

A
  • System software that allows control of the computer while hiding complexities using a virtual machine
  • Manages/controls resources, memory, processor scheduling and interrupts
    e.g. Windows, Ios, Linux
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Translators role

A
  • Translate between different programming languages (high/low)
    e.g. VS(Compiler), Python(Interpreter)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Utility Programs role

A
  • System software to complete housekeeping tasks
    -Data backup, defragmenting, compression and encryption
    e.g. Disk clean-up, antivirus, firewall, task manager
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Library programs role

A
  • Useful functions frequently used by a program, programmers import them within their code to simplify the process
    e.g. NetCore, NetFramework, OpenSSL
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the purpose of the operating system? (In reference to the user?

A
  • The purpose of an operating system is to hide the complexities of hardware from the user (providing a VM), and manage said hardware.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What types of management can the operating system perform?

A

(detail explain these if a question comes up)
- Memory management
- Resource management
- Security management
- Command Interpreter
- File management
- Input/Output management

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

What types of resource management can the OS perform?

A
  • Allocates space on a storage device
  • Moves data into/out of RAM
  • Allocates memory/RAM to processes
  • Install + Manage users on a network
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are Low level languages?

A
  • Languages directly manipulated by the processor
  • Require a lot of work to code and – Very error prone.
    e.g. Machine Code and Assembly language
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are High-level languages?

A
  • Allow for instructions to be communicated much easier
  • Have to be translated before the computer can read them.
17
Q

What is Assembly Language, and what are the key mnemonics?

A

hash .# denotes a denary number

  • Uses mnemonics to simplify the process of computer programming and make it easier
    LDR - Load
    STR - Store
    ADD - Add
    INP - Input
    HALT - End
  • Read backwards to indicate where objects are stored
18
Q

Machine Code

A
  • Language the computer directly reads, e.g. binary
19
Q

High vs Low Level Languages

(Machine Code, Assembly and HL languages)

A

LL Machine Code;
- Not portable
- difficult for humans to understand
- difficult to spot errors
- directly executed by processors

LL Assembly Language;
- Processor specific
- Mnemonics slightly easier, debugging slightly easier than MC but harder than HL Languages,
- Assembler must be used, quick translation due to 1 to 1 correlation

HL Languages;
- Portable, non specific, easy for humans to understand and debug (named variables + indentation).
- A compiler or interpreter must be used to translate source code into object code before it can be executed. This can be time consuming

20
Q

Machine code positives and negatives?

A

Positives;
- Programmers are not restricted
- No translator is needed
- Useful for embedded systems as it is faster

Negatives;
- Difficult to read, work with and understand
- Operation codes and memory addresses must be remembered
- Very difficult to amend/locate errors

21
Q

What are assemblers?

translation

A

Assembly to machine code;

  • Quick and straightforward, due to 1 to 1 relationship;
  • Platform specific, each processor instruction set requires its own assembler;
22
Q

What are compilers?

translation

A

High level language to machine code;
- Taken as source code, checked for errors;
- Translated all at once, once compiled, can run without any other software (not the case for interpreters);

23
Q

What are interpreters?

translation

A

High level language to machine code;
- line by line error checking
- Stops if error is found
- SC and interpreter must be present, making this method vulnerable

24
Q

Compilers versus Interpreters

A

Compiler;

  • Translation begins immediately;
  • Entire source code is translated at once;
  • No need for source code or compiler to be present when translated code is executed;
  • Protects the source code from extraction

Interpreter;

  • Checks source code for errors line-by-line before translating;
  • Each line is translated sequentially (after error checking);
  • source code + Interpreter must be present when the program is executed (vulnerable);
  • Offers little protection of the source code ;
25
Q

What is an intermediate language?

A
  • Some compilers first translate into an intermediate language commonly known as byte code.
  • Byte Code allows the code to be used on a variety of processors due to being independent (working on any system)
26
Q

truth table

A
  • shows every possible combination of inputs and corresponding outputs for a logic gate or circuit
27
Q

NOT gate Boolean Logic Symbol

A

¯A

over the A

28
Q

AND gate Boolean Logic Symbol

A

A.B

29
Q

OR gate Boolean Logic Symbol

A

A + B

30
Q

XOR gate boolean logic symbol

A

A ⊕ B

31
Q

Why should you try to use as few gates as possible in a circuit?

A
  • Less power used by the processor
  • Faster
  • Less heat and lower cost
32
Q

Adders

A
  • A logic circuit that can be used to add Boolean values together
33
Q

Half Adder

A
  • 2 inputs, 2 outputs, 2 logic gates (XOR, AND)
34
Q

Full Adder

A
  • 3 inputs, 2 outputs, Used in most digital circuits
35
Q

Boolean Algebra
order of precedence:

A
  1. ()
  2. NOT
  3. AND
  4. OR
36
Q

De Morgan’s Law

A

—> Break the line, change the sign

37
Q

Boolean Identities

A

A.0 = 0 Any value and 0 is 0
B.1 = B Any value and 1 is itself
C.C = C Any value and itself is itself
D+0 = D Any value or 0 is itself
E + 1 = 1 Any value or 1 is 1