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
What is an intermediate language?
- 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
truth table
- shows every possible combination of inputs and corresponding outputs for a logic gate or circuit
27
NOT gate Boolean Logic Symbol
¯A | over the A
28
AND gate Boolean Logic Symbol
A.B
29
OR gate Boolean Logic Symbol
A + B
30
XOR gate boolean logic symbol
A ⊕ B
31
Why should you try to use as few gates as possible in a circuit?
- Less power used by the processor - Faster - Less heat and lower cost
32
Adders
- A logic circuit that can be used to add Boolean values together
33
Half Adder
- 2 inputs, 2 outputs, 2 logic gates (XOR, AND)
34
Full Adder
- 3 inputs, 2 outputs, Used in most digital circuits
35
Boolean Algebra order of precedence:
1. () 2. NOT 3. AND 4. OR
36
De Morgan's Law
—> Break the line, change the sign
37
Boolean Identities
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