4.6 Fundamentals of computer systems Flashcards

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

What is meant by hardware

A

Hardware describes the electrical or electro-mechanical parts of a computer system

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

What is meant by software

A

Software comprises all of the programs that make the computer function

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

Explain what is meant by 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

What is the purpose of an OS ( 2 things)

A

To hide the complexities of the hardware from the user (i.e. provide a virtual machine)

Manages the hardware (resources) including the allocation of hardware resources (to processes)

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

What is utility software

A

Utility software is software that performs a non-core, ancillary function for a computer

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

What are three examples of utility software

A

Defragment a disk
install/uninstall software
Virus checkers
Automatic backup and restore
File compression software

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

What is a library program

A

A library program is a collection of pre-compiled routines that can be used by other programs

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

What is machine code (2)

A

Machine code is a computer programming language consisting of binary or hexadecimal instructions

which a computer can respond to directly.

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

What is a translator

A

A translator is used to translate code written in assembly language or other high level code into machine-code

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

What are the three types of translators

A

Assembler
Compiler
Interpreter

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

What does an assembler do

A

translate assembly language into machine code

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

What does an interpreter do

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

What does a compiler do

A

translate high-level language programs into object code (machine code) which can be saved and run whenever needed, without the compiler having to be present

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

What is general purpose software

A

General purpose softwares can be used for a range of generic tasks

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

What is special purpose software

A

Special-purpose software performs tasks for a single, specific job

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

What is off the shelf software (2)

A

Off-the-shelf software is software that can be purchased by lots of different customers -

they are all purchasing the same piece of specialised software

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

What is bespoke software

A

Bespoke software is software that has been developed by programmers specifically for a particular customer to meet their exact needs and requirements

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

What are the benefits and drawbacks of off the shelf software

A

Off-the-shelf software is readily available for anyone to use

The cost is usually lower because development costs are shared among all the buyers

You have little or no control over what features there are

It may not do exactly what you want

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

Definition of an API (2)

A

An application programming interface (API) is a way for two or more computer programs to communicate with each other.

It is a type of software interface, offering a service to other pieces of software.

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

What is the OS responsible for (4)

A

allocating processors to processes
allocating memory/RAM to processes
allocating I/O devices (input and output devices) to processes
allocating space on storage devices to files

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

What is meant by the scheduler

A

The scheduler is the operating system module responsible for ensuring that processor time is used as efficiently as possible

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

How does the OS control RAM (2)

A

The OS allocates memory to processes and moves data into and out of RAM or to a paging file for virtual memory

The OS ensures processes can only write to memory that they have been allocated

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

How does the OS carry out IO device managment (3)

A

Allocate I/O devices to processes
manages communication between processes and I/O devices automatic installation of drivers for new I/O devices

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

How does the OS manage storage on a computer system (2)

A

The OS keeps track of where all files are stored on hard disk or external drives,

and where space is free to be used if the user performs a save operation

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

What two things does machine code consist of

A

In machine code, a typical instruction holds an operation code (opcode) in the first few bits

and an operand in the rest of the bits

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

What is meant by an instruction set of a computer

A

The instruction set of a computer is all the instructions that it can understand and execute

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

What is assembly language

A

any low-level programming language with a very strong correspondence between the instructions in the language and the architecture’s machine code instructions.

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

What were the two major improvements made with assembly language

A

Each opcode was replaced by a mnemonic which gave a clue as to what the operation did

The operand was replaced by a decimal (or hexadecimal) number

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

Advantages and disadvantages of assembly language

A

The assembly code has to be translated into machine code by an assembler

30
Q

What is meant by a low level language

A

A language that is close to the hardware

31
Q

Advantages of low level languages (4)

A

Assembly language enables close manipulating of bits
Executes very quickly
Uses less memory than a comparable HLL version
To maintain historic coding

32
Q

What is the difference between imperative and declarative high level language

A

An imperative high-level language consists of commands for the computer to perform

This is in contrast to a declarative language which focuses on what the program should do without listing the steps needed to achieve the result (eg SQL)

33
Q

What is meant by a imperative high level language

A

Imperative:
Instructions are executed in a programmer defined sequence
Instructions specify how to solve the problem
Executed line by line

HLL:
A language that uses English-like/more meaningful keywords

34
Q

How are HLL easier to maintain and understand? (3)

A

HLL allows several machine code statements to be replaced by one high level statement

HLL program expressed in language that is human-oriented

Able to use meaningful identifier names

35
Q

Why High level over low level (3)

A

People find it easier to debug high-level language programs

High-level languages save time for programmers as they use fewer lines of program code

Programs written in a high-level language are machine independent-

36
Q

Why low level over high level

A

Programs written in a high-level language may not make best use of specific features of a particular processor

Programs written in a high-level language may not execute as quickly

Programs written in a high-level language may use more memory

37
Q

How is assembly code translated (3)

A

Assembly language is translated into machine code by a program called an assembler

Typically, one assembly code instruction is translated into one machine code instruction

Each type of processor has its own assembly code and assembler program

38
Q

What is source code and object code in the context of an assembler (4)

A

The assembly code program is the input to the assembler

This is known as the source code

The output is the machine code instructions produced by the assembler, called the object code

The object code can be saved and run whenever needed

39
Q

Why use assembly code and what are some of its uses (4)

A

Assembly code is used when a program needs to execute as fast as possible, occupy as little space as possible or manipulate individual bits and bytes

Typical uses include embedded systems, real-time systems, sensors, mobile phones, device drivers and interrupt handlers

40
Q

Difference between assembly code and assembly language

A

There is none, they are interchangeable

41
Q

Can every hardware platform use the same compiler explain your answer

A

No

Different hardware platforms need different compilers to translate the source code into the machine code that the computer understands

42
Q

What are the the three different stages of the compilation process

A

lexical analysis, syntactic analysis, and semantic analysis, going through the whole program at each stage

43
Q

Advantages of a compiler

A

The object code runs faster than interpreted code

The object code is more secure, as machine code cannot easily be read and copied by someone wishing to modify the code and sell it as their own product

44
Q

Describe the operations of an interpreter (5)

A

Interpreter analyses program on a line-by-line basis
Interpreter calls subroutines within its own code to carry out commands
Interpreter translates/executes program until first error is encountered
Interpreter translates a program each time it is executed
Interpreter executes each line immediately after translating it

45
Q

What is bytecode

A

Some compilers such as the Java compiler compile the source code into an intermediate form known as bytecode

46
Q

What is different from bytecode and source code

A

The bytecode file is portable,

because each computer that can run Java has a JVM or Java Virtual Machine (which is itself a program)

that understands bytecode and converts it into the machine code required for that particular computer

47
Q

How is bytecode translated into HLL (5)

A

Additional software is used to finish the translation process (on the computer running the program)

This is done by a virtual machine or a just-in-time (JIT) compiler

The virtual machine will translate the bytecode by calling functions within its own code to carry out the command

Each processor will have its own virtual machine

The JIT compiler compiles the bytecode into machine code for the processor it is being executed on

48
Q

Why use bytecode (4)

A

Allows processor independence and the code is more portable

A compiler is only required to translate the source code once (but the intermediate language / bytecode can still be executed on a variety of platforms)

Can create intermediate language code (bytecode) for a specific (standardised) virtual machine that all the target machines have installed

The virtual machine can perform security checks on the byte code without execution, hence it is more secure

49
Q

Describe the symbol for the OR Gate and its boolean notation

A

A curved shape similar to a rocket

50
Q

Describe the symbol for the AND Gate and its boolean notation

A

A D-shaped symbol with a flat input side and a rounded output side.

.

51
Q

Describe the symbol for the XOR Gate and its boolean notation

A

Similar to the OR gate but with an extra curved line on the input side.

Circle with a plus inside it

52
Q

Describe the symbol for the NOT Gate and its boolean notation

A

A small triangle with a circle at the output.

Dashed line above the input

53
Q

Describe the symbol for the NAND Gate

A

Similar to an AND gate but with a small circle (inversion bubble) on the output.

54
Q

Describe the symbol for the NOR Gate

A

Similar to an OR gate but with a small circle at the output.

55
Q

Advantages of NAND gates

A

Using only NAND gates to build a circuit can minimise cost of production

Using as few gates as possible can speed up processing

56
Q

Describe DE morgans law

A

NOT A AND NOT B = NOT( A OR B)

57
Q

Describe DE morgans 2nd law

A

Inverse of the first law
NOT( A OR B) = NOT A AND NOT B

58
Q

Simplify X . 0

A

0

59
Q

Simplify X . 1

A

X

60
Q

Simplifty X.NOTX

A

0

61
Q

What is the commutative law

A

States that

X.Y = Y.X
AND
Y + X = Y + X

62
Q

What is the associative law

A

States that

X.(Y.Z) = Z.(X.Y)

63
Q

What is the distributive law

A

States that

X.(Y+Z) = X.Y + X.Z

64
Q

What is the absorption law

A

States that

X + (X.Y) = X

65
Q

What is the order of precedence for booelan algebra

1-5

A

Brackets
NOT
XOR
AND
OR

66
Q

What is a half adder and its boolean expression for the carry and sum

A

A half-adder is a circuit that performs the addition
of two bits

The Boolean expressions for a half adder are:

S=A⊕B (XOR gate)
C=A⋅B (AND gate)

67
Q

What is a full adder

A

A combination of two half adders

68
Q

What is a flip flop

A

A flip flop is an elemental sequential logic circuit that can store one bit and flip between two states, 0 and 1

69
Q

What is a d type flip flop (2)

A

A D-type flip flop has one input called D, and two outputs Q and NOT Q
It also has a Clock signal input

70
Q

Why is the clock needed in a d type flip flop

A

A clock is needed to synchronise the change of state of flip flop circuits

71
Q

What are the uses of d type flip flops (3)

A

D-type flip-flops are used for creating registers and counters

They are used for the intermediate storage needed during arithmetic operations

Static RAM is also created using D-type flip-flops