Software and Software development 1.2 Flashcards

1
Q

What is an operating system?

A

A collection of programs that provide an ​i​nterface between the user and computer​

Operating systems enable the user to communicate with the computer and perform tasks involving the management of computer memory and resources.

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

Give three functions of an operating system

A
  1. Memory management
  2. Security
  3. Resource management
  4. User interface
  5. Utility software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the similarities and differences between paging and segmentation

A

Both are used when RAM space is insufficient

Paging uses equal-sized sections called pages

Segmentation uses variable-sized logical sections called segments

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

What are the stages of compilation?

A
  1. Lexical analysis
  2. Syntax analysis
  3. Code generation
  4. Optimisation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What happens during lexical analysis?

A
  1. Whitespaces and comments are removed from the code
  2. The code is scanned for keywords, these are replaced with tokens and information about the token

Each keyword is stored in a symbol table

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

What happens during synax analysis

A

Tokens are analysed against the rules of the language, and if they break the rules they are flagged as a syntax error

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

What happens during code optimistaion?

A

The abstract syntax tree produced in the syntax analysis stage is used to produce
machine code

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

What happens during code optimisation?

A

Insigificant, redundant parts of the code are removed. the aim of it is to make the code faster to exceute, however this can increase compilation time.

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

Describe how virtual memory is used when there is not enough RAM

A

A section of the hard drive is used to act as RAM

Sections of programs not currently being used are temporarily moved into virtual memory through paging

This frees up memory for other programs in RAM

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

What is an Interrupt?

A

An interrupt is a signal that is sent to the processor to request attention

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

Explain the stages of the interrupt service routine ISR

A
  1. Interrupt register checked at the end of each F-D-E cycle
  2. If there is an interrupt with a higher priority the current contents of the register in the CPU are transferred into a stack.
  3. The relevant ISR is loaded into RAM
  4. A flag is set to signal the ISR has begun
  5. Flag is reset when ISR has finished
  6. The F-D-E cycle renews as before
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Give three advantages of using libraries

A
  1. Error-free
  2. Saves time
  3. Reusable
  4. Designed by experts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a dynamic linker?

A

This is when the addresses of the libraries are added to the file

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

What is a static linker?

A

This is when the library code is copied directly into the file

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

What is the function of the loader?

A

The loader is responsible for loading the machine code into memory

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

What is round-robin scheduling?

A

Each task is given a small time slice of the processor’s time

-once the time is finished it stops running and goes to the next task

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

what is a multi-level feedback Queue?

A

A multi-level feedback queue deal with the most important job first

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

State a disadvantage of a multi-level feedback queue

A

Hard to implement

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

Define a real-time operating system (RTOS) and when it may be used

A

A RTOS performs a task within a given time frame.
They are used where a response within a given time frame is critical.

e.g self-driving cars, life support systems

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

Describe 2 functions of the BIOS

A
  1. POST (Power-on self-test) which ensures that all the hardware is functioning
  2. Checking the CPU clock, memory and processor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is the role of a device driver?

A

Enable the operating system to interact with the hardware devices

22
Q

Describe when virtual memory may be used

A
  1. Testing programs
  2. Protection from malware
23
Q

Describe when virtual memory may be used

A
  1. Testing programs
  2. Protection from malware
24
Q

What is intermidate code?

A

Code that is halfway between machine code and object code

25
Q

Give three examples of utilities

A
  1. Compression
  2. Antivirus
  3. Automatic backup
  4. Automatic updating
  5. Disk Defragmentation
26
Q

Give two advantages of using closed-source code

A
  1. Well-supported and well tested
  2. Creators receive an income for their product
27
Q

Give two advantages of using open source

A
  1. Software is free
  2. Gets the creators’ software publicity
28
Q

What are the stages of software development life cycles (SDLC)

A

Analaysis, design, development, Implementation, evaluation

29
Q

What are agile methodologies?

A

A collection of methodolgies which aim to improve the flexibility of software development

30
Q

What is the spiral model?

A

The spiral model is built on four key stages
with the focus of effectively
managing risk-heavy projects:
1. Analysing system requirements
2. Pinpointing and mitigating risks
3. Development, testing and
implementation
4. Evaluating to inform the next iteration

31
Q

What is rapid application development?

A

add to this later

32
Q

Identify the advantages of waterfall programming methodologies

A
  1. Simple to manage
  2. Clear structure
  3. Clearly documented
33
Q

Give three disadvantages of extreme programming methodologies

A
  1. Expensive since two people are working on one project
  2. Teamwork and good communication are essential
  3. End user must be present throughout the duration of the project
34
Q

What type of projects are spiral methodologies suited to?

A

Large, risk-intensive projects with high budgets

35
Q

What type of projects are rapid application development programming methodologies suited to

A

Small to medium budget projects with a short time frame

36
Q

Define an algorithm

A

A set of instructions used to solve a problem

37
Q

What are programming paradigms?

A

Different approaches to using a programming language to solve a problem - change this definition

38
Q

Which two categories are programming paradigms split into?

A
  1. Imperative
  2. Declarative
39
Q

Describe imperative programming

A

Imperative programming paradigms use code that clearly specifies the actions to be
performed

40
Q

State the advantages of procedural programming

A
  1. Can be applied to a wide range of problems
  2. Easier to write and interpret
41
Q

State a use of declarative programming

A

Artificial intelligence

42
Q

State the four main programming structures used in structured programming

A
  1. Sequence
  2. Selection
  3. Iteration
  4. Recursion
43
Q

How does assembly language differ from machine code

A

Assembly language uses mnemonics instead of binary. One line in assembly language is the same as one line in machine code

44
Q

What does the STA do?

A

Stores the value in the Accumulator

45
Q

What does BRP do?

A

goes to a different place in the loop if the value in the accumulator is positive (or zero).

46
Q

State the four addressing modes

A
  1. Immediate addressing
  2. direct addressing
  3. Indirect addressing
  4. Index addressing
47
Q

What is Immediate addressing?

A

The operand is the actual value upon which the instruction is to be performed

48
Q

What is direct addressing?

A

The operand gives the address which holds the value upon which the instruction is to be performed.

49
Q

What is Indirect addressing?

A

The operand gives the address of a register which holds another address,
where the data is located.

50
Q

What is Index addressing?

A

An index register is used, which stores a certain value. The address of the operand is determined by adding the operand to the index register.

51
Q

What is a class?

A

A blueprint for an object which contains its methods and attributes. An object is an instance of a class

52
Q

Give a disadvantage of OOP

A
  1. Generally unstable for smaller programs
  2. OOP may not be suited to all types of problems
  3. Requires a different style of thinking