2.2 Fundamentals of computer systems Flashcards

1
Q

Define hardware

A

A generic term for the physical parts of the computer, both internal and external

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

Define software

A

A generic term for any program that can be run on a computer

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

Define application software

A

Programs that perform specific tasks

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

Define system software

A

The range of programs that are concerned with the setup and running of the computer - the 4 main types of system software are utility programs, library programs, translators, and operating system software

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

Define utility program

A

Programs that perform specific common tasks relating to the running of the computer

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

Define library program

A

Code, data, and resources that can be called by other programs

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

What is a translator?

A

Software that converts programming language instructions into machine code. There are 3 types of translator - compilers, assemblers, and interpreters

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

What is a compiler?

A

A program that translates high-level language into machine code by translating all of the code in one block. This will often create a file such as a .exe file which will not need translating to be run again

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

What is an assembler?

A

A program that translates a program written in assembly language to machine code

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

What is an interpreter?

A

A program for translating a high-level language into machine code by reading each statement in the source code line by line and performing the action. Code that is translated by an interpreter will need to be interpreted each time it is run

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

Define operating system software

A

A suite of programs designed to control the operations of the computer

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

Define virtual machine

A

The concept that all of the complexities of using a computer are hidden from the user and other software by the operating system

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

What tasks are performed by the operating system?

A
  • Controls start-up configuration of the computer
  • Recognises input from peripherals and decides what action to take
  • Sends signals to hard disk controller telling it what programs to transfer to memory
  • Decides what sections of memory to allocate to the program currently running
  • Attempts to handle errors
  • Ensure complete and correct shutdown process
  • Controls print queues
  • Manages users on a network
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Define resource management

A

How an operating system manages hardware and software to optimise the performance of a computer. This includes tasks such as managing input/output devices, memory management, file management, and scheduling tasks

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

Define scheduling

A

A technique to ensure that different users or different programs are able to work on the same computer system at the same time

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

Define memory management

A

How the operating system uses RAM to optimise the performance of the computer

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

Define file management

A

How an operating system stores and retrieves files

18
Q

Define machine code

A

The lowest level of code that is completely understandable by a computer, which is written in binary

19
Q

Define assembly language

A

A way of programming that involves writing mnemonics. This is one level above machine code

20
Q

Why is assembly language used?

A
  • Programs are executed quickly as a compiler does not optimise the machine code it produces as effectively as a programmer writing assembly language
  • Program code is relatively compact
  • Assembly language allows for direct usage of registers on the processor, giving lots of control over how the program is run
21
Q

Define source code

A

Programming code that has not yet been compiled into an executable file

22
Q

Define object code

A

Compiled code that can be run as an executable on any computer

23
Q

Define low level language

A

A programming language that is machine oriented, this refers to assembly language and machine code

24
Q

Define high level language and what are the 4 main types?

A

A programming language that allows programs to be written using English keywords and that is platform independent. The 4 main subsections of this are imperative, object-oriented, declarative, and functional (a subset of declarative)

25
Q

What are the characteristics of a high level language?

A
  • It is easier for a programmer to recognise what a command word does
  • Require translation
  • One to many relationship between lines of high level language code and lines of machine code
  • Portable
  • Make use of a wide variety of program structures that make writing in them more straightforward, which also makes them easier to maintain
26
Q

Define imperative language

A

A language based on giving the computer commands or procedures to follow

27
Q

Define object-oriented language

A

A programming paradigm that encapsulates instructions and data together into objects

28
Q

Define declarative language

A

Languages that declare or specify what properties a result should have e.g. results will be based on functions

29
Q

Define functional language

A

A programming paradigm that uses mathematical functions

30
Q

What is a translator?

A

The general name for any program that translates code from one language to another, for example translating source code to machine code

31
Q

Define interpreter

A

A program for translating a high level language by reading each statement in the source code and immediately performing the action

32
Q

Define compiler

A

A program that translates a high level language into machine code by translating all of the machine code

33
Q

What are the pros and cons of using an interpreter?

A

Pros:
- You do not need to compile the whole program in order to run small sections of code, as it can be executed one statement at a time
- As the code is translated each time it is executed, it can be run on processors with different instruction sets
Cons:
- Each line of code will need translating again each time it is executed, meaning the time taken to execute a problem can be long
- The source code can only be translated and executed on a computer that has the same interpreter installed
- The source code must be distributed to users

34
Q

What are the pros and cons of using a compiler?

A

Pros:
- Once the source code has been compiled, you no longer need the compiler or the source code
Cons:
- The object code will only work on a computer that has the same platform
- As the whole program must be converted from source code each time, it can take longer to debug

35
Q

Define bytecode

A

An instruction set used for programming that can be executed on any computer using a virtual machine

36
Q

Define boolean expression

A

An equation made up of Boolean operations

37
Q

Define logic gate

A

An electronic component used to perform Boolean algorithms. A logic circuit is defined as a combination of logic gates

38
Q

Define half adder

A

A circuit that performs addition using inputs from A and B only

39
Q

Define full adder

A

A circuit that performs addition using inputs from A and B plus a carry bit

40
Q

Define carry bit

A

Used to store a 0 or 1 depending on the result of binary addition

41
Q

What is a flip flop?

A

A memory unit that can store 1 bit

42
Q

What is an edge triggered D type flip flop?

A

A memory unit that changes state with each pulse of the clock