4.6 Flashcards

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

What is hardware?

A

The physical components of a computer.

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

What is software?

A

Sequences of instructions that operate over the hardware.

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

What are the two classifications of software?

A

System software and application software.

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

What is system software?

A

Software that is responsible for the operating of the computer itself. It enables users to use a computer without having to understand its internal software.

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

What is application software?

A

Software that solves problems for the user. They support user oriented tasks and do interfere directly with the hardware.

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

What is the need for system software?

A

Without it a computer would be unable to use application software.

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

What are the three different types of application software?

A

General purpose, special purpose and bespoke.

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

What is general purpose application software?

A

Software that is appropriate for a wide range of uses.

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

What is special purpose application software?

A

Software that is created for a specific application. It is created for a specific customers.

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

What is bespoke application software?

A

When software must be written from scratch to solve a particular task.

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

What types of system software are there?

A

Operating systems, Utility programs, Library programs and translators.

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

What is an operating system?

A

A program that controls the entire operation of a computer and interacts directly with the hardware.

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

What are utility programs?

A

A systems program designed to perform a common task. This includes formatting and partitioning a disk and virus checkers.

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

What are library programs?

A

A collection of subroutines that can be used by other programs that link to the libraries.

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

What are the three types of translator?

A

Compilers assembles and interpreters.

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

What is a compiler?

A

A program that translates high level code into machine code.

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

What is an assembler?

A

A translator that translates assembly code into machine code.

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

What is an interpreter?

A

Translates and executes a high level program one statement at a time.

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

What is the role of an operating system?

A

To hide the complexities of the hardware and to manage the hardware resources.

20
Q

What are the classifications of programming languages?

A

High level languages and low level languages.

21
Q

What are the two types of low level languages?

A

Machine code and assembly language

22
Q

What are the classifications of high level languages?

A

Imperative and declarative

23
Q

What are imperative high level languages?

A

They are made up of procedural and object oriented program. They are programs that give commands.

24
Q

What are the advantages of coding in assembly code over high level languages?

A
  • It has a one to one relationship with machine code.
  • Can be very precise locally optimised code.
  • Directly accesses system level features without having to go via a software interface improving efficiency
  • Complete control
25
Q

What are the disadvantages of assembly code over high level languages?

A
  • Machine dependent (device specific)
  • Very few skilled programmers
  • Long and tedious to write in
  • Difficult to understand modify and maintain.
26
Q

What is an important feature of imperative languages?

A

They can change a programs state.

27
Q

How does an assembler work?

A

Assembly language has a one to one correspondence with machine code. Therefore each line in assembly code is mapped line by line to its machine code equivalent.

28
Q

What does a compiler do broadly? (Specifics later)

A

A compiler reads a program’s source code and translates it into another language called the object code. It also reports errors in the code.

29
Q

What can object code include?

A
  • Machine code
  • Intermediate code that can be interpreted by an interpreter eg java bytecode
  • Executable code for inside a virtual machine
30
Q

Does a compiler execute code?

A

No it only translates it.

31
Q

What are the stages of compilation?

A

Lexical analysis, syntax analysis, semantic analysis, intermediate code generation, code optimisation and code generation.

32
Q

What is lexical analysis in the context of a compiler?

A

It is when the source code is split up into language defined words eg “while”.

33
Q

What is syntax analysis in the context of a compiler?

A

Checks that statements are grammatically correct.

34
Q

What is semantic analysis in the context of a compiler?

A

Checking for type errors.

35
Q

What does an interpreter do?

A

An interpreter executes a high level program statement by statement. It does this by recognising what type of statement a given statement is eg a variable declaration. It the calls a prewritten function that executes the statement.

36
Q

What are the differences between a compiler and an interpreter?

A
  • An interpreter translates and executes while a compiler only translates
  • A compiler produces an independent form of the source code while an interpreter does not.
  • The interpreter has to be on the machine that is running the code whereas a compiler doesn’t have to occur on the same computer that is running it.
  • Compilers are not as good at pinpointing errors.
37
Q

When are assemblers a good choice of translator?

A

For time critical sections of code as assembly code can be highly optimised. It is also used where direct access to the hardware is required.

38
Q

When are compilers a good choice of translator?

A

When the program is distributed it hides the source code. This is useful commercially or whenever someone wants to hide their source code. Compiled code is also faster.

39
Q

When are interpreters a good choice of translator?

A

During development as they can locate errors easily.

40
Q

What is bytecode?

A

An intermediate language between machine code and high level language code. It comes from a compiler.

41
Q

How is bytecode used?

A

It runs on a pretend virtual machine which converts it into machine code.

42
Q

What logical gates do you need to know for the exam?

A

Or, nor, and, nand, XOR, not

43
Q

Can you recognise a full adder and a half adder?

A

If not google it.

44
Q

Can you draw a half adder?

A

If not google it.

45
Q

What is an edge triggered D-type flip flop?

A

A RAM memory unit. It can only change its value when the clock is on a rising edge (if a positive flip flop) or a falling edge (if a negative flip flop).

46
Q

What is a flip flop?

A

A basic circuit that can store one bit and flip it between 0 and 1

47
Q

What are the inputs for a flip flop?

A

A control input (often labelled as D) and a clock signal.