Fundamentals of Computer Systems Flashcards

1
Q

What is an application software?

A

A program that completes a specific task for a user (e.g. Web Browser, Word Processor)

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

What is an operating system?

A

A system that allows the user to control the computer with ease
- It provides a user interface between user and hardware
- Hides complexity of the hardware from the user
- It controls access to the computer’s resources (memory management, processor scheduling)

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

What is a utility program?

A

Programs designed to maintain the computer
(E.g. Defragmenting hard drives, data backup, data compression)

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

What is a library program?

A

A collection of resources used to develop a program, which includes pre written code and subroutines
Designed to simplify the process of making a program

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

What is a translator?

A

Software that converts source code into machine code

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

What is an assembler?

A

A translator which translates assembly language into machine code

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

What are the properties of assembly language?

A

1) Translation is quick and straightforward
2) Assemblers are platform specific, meaning different assemblers are needed for a different type of instruction set

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

What is a compiler?

A

A compiler is used to translate high level languages (C#, Python) into machine code

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

What is an interpreter?

A

An interpreter is used to translate high level languages to machine code line by line

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

What are the differences between Compilers and Interpeter?

A

1) A compiler checks for errors before translating and once there are no errors, it translates all at once. An interpreter begins translating and checks for errors as it goes. Meaning a Compiler will not compile if there are any errors
2) Interpreters don’t produce object code, so the interpreter is needed to execute the program, whilst the compiler isn’t needed to execute once it has been compiled
3) Compiled code can only be executed on a machine with the same instruction set, interpreted code is more portable
4) Compilers offer more protection of source code as it isn’t needed once it has been compiled.

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

What is intermediate code?

A

1)Some Compilers don’t produce machine code straight away - but translate source code into intermediate language - this is because intermediate code can be used on different platforms
2) The intermediate language is then executed using a virtual machine as it isn’t directly executable
3) Each processor instruction set has its own virtual machine which exexcutes the intermediate code, meaning it can be used on many different types of platform whereas compilers can’t

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

When would a compiler be used?

A

A compiler is often used when sharing code (e.g. selling a computer game)
- It produces object which can be shared, means users can’t access the source code.
- Its more convenient as an interpreter isn’t required.

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

When would an interpreter be used?

A
  • When a program needs to be run by multiple computers, which may contain processors with different instruction sets
  • E.g. A Web Browser
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is machine code?

A

A low level language which uses 1s and 0s

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

What is assembly language?

A

A low level language which uses mnemonics to simplify the process of writing programs

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

What is a high level language?

A

Languages such as C#, Python which uses English instructions to help program.
They must be compiled into machine code for computers to execute them

17
Q

Pros of High level language compared to low level language

A

Pros -
1) Portable - Programs aren’t specific to certain processors
2) Easy for humans to understand as they are in English
3) Often extra features (e.g. Data types such as arrays and records)
4) Easier to debug as named variables and in English

18
Q

Cons of High level language

A

Must be translated into object code to be executed - this can be very time consuming.

19
Q

Pros of Assembly code compared to machine code

A

1) Easier to debug/find errors
2) Easier to understand - takes less time to code

20
Q

What is the opcode?

A

The instruction given to the processor for it to execute

21
Q

What is the operand?

A

The value that is returned when the processor executes the opcode

22
Q

What are the different types of resource management the Operating System Performs?

A

Processor Management – Which is when the operating system schedules the different tasks that needs to be performed by the processor, ensuring everything can be done efficiently – this can involve allocating cores to different applications
Memory Management – Allocating different amounts of RAM to different processes, for example programs being currently used will be allocated more memory than ones that are in the background
Virtual Memory – When RAM is full, the operating system will take the background processes and place them in virtual memory (a memory location on the hard disk) until they are ready to be used again, saving space within RAM

23
Q

What is a Half Adder?

A

A logic circuit usded to add two Boolean Values
Contains 2 inputs, 2 outputs and 2 Logic Gates (XOR Gate and an AND Gate)

24
Q

What is a Full Adder?

A

A half adder is only usable if there are no carry bits - as the carry bit is a third input and we only have 2 inputs - so if there is a carry bit, we use a full adder.
A full adder allows us to add two boolean values that contain a carry bit
Contains 3 inputs and two outputs
2XOR Gates, 2 AND Gates and an OR Gate

25
Q

What is an Edge Triggered D Type Flip Flop?

A

A logic circuit which can be used as a memory unit for storing the value of a single bit
Has Two Inputs: Data Signal, Clock Signal
The Clock Signal switches between 0 and 1 at a set frequency, the value of the output depends on what state the data signal is in, but only when the clock is on a rising edge