1.2 Software and Software Development Flashcards

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

What is the need, function and purpose of an operating system?

A

An operating system is the software that manages the computer;

  • manages the hardware of the system
  • manages the interface between the user and the computer
  • manages the programs being run and installed
  • manages the security of the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is paging?

A

Where programs are divided physically into equal sized blocks so that it is using memory efficiently

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

What is segmentation?

A

Programs are divided logically and split into blocks containing modules or routines

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

What is the role of interrupts?

A

A signal sent to the processor requesting attention for a particular event. When an interrupt is raised, an ISR is run

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

What is ISR?

A

Interrupt Service Routine
Only carried out if it has higher priority than the current task
Contents of the CPU are transferred to a stack
ISR is loaded by changing the values of the PC to where it starts in memory
When complete the previous task is loaded from memory into the registers

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

Describe Round Robin

A

Each process is given a fixed amount of time to execute and if it does not finish it is put onto the back of the queue

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

Describe first come first serve

A

The first process to arrive will be the first to be dealt with and is completed in its entirety

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

Describe multi-level feedback queues

A

Uses a number of queues which have different priorities

Jobs can move between queues

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

Describe shortest job first

A

Needs to know which process will take the shortest and will then complete this one first

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

Describe shortest remaining time

A

Runs the process that has the least amount of time left

If another process arrived which has a shorter time it will switch jobs

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

Describe and explain the purpose of a distributed os

A

Allows a group of computers to work on a single task. It can control and co-ordinate many computers, presenting them to the end user as though they were a single system

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

Describe and explain the purpose of an embedded os

A

Specifically designed for the device on which they run and with efficiency in mind. Operate on low-powered CPU’s with little RAM. Will only likely to have one job

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

Describe and explain the purpose of a multi-tasking os

A

Organises the computer when it is running several applications at once.

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

Describe and explain the purpose of a multi-user os

A

Allows more than one user to share the computers resources at a time. Common on mainframe systems where there may be many users accessing them simultaneously

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

Describe and explain the purpose of a real time os

A

Designed to carry out actions in a guaranteed amount of time even when left running for long periods. i.e. hospitals and safety critical systems

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

Describe the purpose of the BIOS

A

Basic Input Output System - is what allows the computer to start up. Stores the load instructions

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

Describe the purpose of device drivers

A

A piece of software that is supplied with the device that allows the operating system to communicate with the device

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

What is the purpose of virtual machines?

A

Runs a simulation of an operating system on top of the current one, so that the user can test a program that may be used on multiple platforms. Often programs may not run on the provided operating system, so a virtual machine may be needed to run the desired program

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

What is the difference between utility and application software?

A

Application software allows the user to produce something or perform a task whereas utility software is usually a small program concerned with the maintenance of the system

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

What is the difference between open and closed source software?

A

Open - Software where the source code is publically available, users can modify the software to suit their needs
+ Free
+ Can change code to suit needs
- Coding can be poor
- Subject to viruses as ‘hackers’ can access code before they have a chance to fix issues
Closed - Software that is only distributed as an executable file
+ Works better as developed by companies
+ Reliable and efficient
- Not always what the customer needs

21
Q

What is an interpreter?

A

Converts high level language, translates and executes code line by line
+ can find the errors as they occur and give specific direction
+ same piece of code can work across different platforms
- lower performance
JavaScript uses an interpreter

22
Q

What is a compiler?

A

Converts high level language, translates all the code into object code and then executable code
+ faster to convert
- keeps source code private
- can’t use across different platforms

23
Q

What is an assembler?

A

Converts low level language (assembly code) into machine code

24
Q

State the stages of compilation

A

Lexical Analysis
Syntax/Semantic Analysis
Code Generation
Code Optimisation

25
Q

What is a linker?

A

The job of the linker is to include links to any library code required by the object code and put this into one executable file

26
Q

What is a loader?

A

The loader is responsible for loading the correct files and libraries into the computer memory when the program is run

27
Q

Describe and evaluate the waterfall life cycle

A

Each stage is started after the previous is finished
Can go back a stage
Works well with a clear expected output at each stage
+ Easy to manage
+ Easy to see if project is running to schedule
- Carries a lot of risk
- Not suitable for complex projects
- Client doesn’t see the project until the end
- Misunderstood requirements can lead to a project that is not easy to fix

28
Q

Describe and evaluate agile methodologies

A

Designed to deal with projects with changing requirements

29
Q

Describe and evaluate the purpose of extreme programming

A
Example of agile methodologies 
Focuses on producing high quality code 
Paired programming 
Client becomes part of the team 
\+ High quality code
- Client must be able to commit 
- Doesn't work if programmers are distributed geographically
30
Q

Describe and evaluate the spiral model

A
Designed to manage risk
New prototypes made with each cycle 
\+ Risk is considered
\+ Suitable for large scale projects
- Risk analysis makes it expensive
31
Q

Describe and evaluate rapid application development

A

Involves a series of prototypes
Continous client involvement to inform the development
Suitable for projects that don’t have clear requirements from the start
+ Requirements don’t need to be clear
+ Continuous client feedback
- Not suited for projects where code efficiency is important
- Not appropriate for large scale projects
- Regular contact with the client must be maintaned

32
Q

Evaluate high level code

A

+ easier to code
+ more understandable
+ can code more complicated programs
- lose control over the instructions being executed

33
Q

Evaluate low level code

A

+ faster to compile
+ more control over the CPU and the instructions executed
- will only work on the CPU with the instructions referenced

34
Q

Describe lexical analysis

A

Breaks the code down into a series of tokens by; removing white space and comments, remaining code turned into tokens, symbol table is created to keep track of variables and subroutines

35
Q

Describe syntax/semantic analysis

A

If any tokens break the rules of the language, errors are generated at this point
Abstract syntax tree is built from tokens produced in previous stage

36
Q

Describe code generation

A

Object code is the machine code before the final step (the linker) is run. Abstract code tree converted into object code

37
Q

Describe code optimisation

A

Tweaks the code so that it will run as quickly as possible and use as little memory as possible

38
Q

Explain static linking

A

The code needed to form the libraries is copied and included in the executable file. The code doesn’t need to access external libraries during run time, therefore if a library is missing the program will not crash

  • can take a long time
  • large file size, takes up more space in RAM
39
Q

Explain dynamic linking

A

Compiled versions of the libraries are stored in the computer and linked with the object code by the OS at run time
+ less memory is needed therefore quicker to process
+ less code needed to compile
- if a library is missing the program will crash

40
Q

What is a library?

A

Pre-written modules of code for the user to interact with.

41
Q

What is a paradigm?

A

Different forms of programming languages; low level, high level, imperative, procedural, OOP

42
Q

What is imperative programming?

A

Mainly used within assembly code. It is a sequence of instructions where subroutines are not used. The program is directed around the code using GOTO statements and branches

43
Q

What is procedural programming?

A

A sequence of instructions however the code is split into subroutines and the sequence of code is based on these i.e. IF WHILE FOR

44
Q

What is OOP code?

A

For use in large software projects where code needs to be repeated. Way of inheriting and creating classes

45
Q

What are the 4 addressing modes?

A

Immediate
Direct
Indirect
Indexed

46
Q

Describe and evaluate intermediate addressing

A

Addressed from the binary operand value. The operand is not a memory address but the value to be used
+ fastest method as you do not need to access the computers memory

47
Q

Describe and evaluate direct addressing

A

References the address that the data is stored in
+ quick method however not as quick as intermediate
- relies on the value always being correct at the location specified

48
Q

Describe and evaluate indirect addressing

A

References a place in memory which then points to the data

- address of where the data is stored must first be looked up

49
Q

Describe and evaluate indexed addressing

A

Start number then add the address to find the address of where the data is stored
- slower than previous methods but more flexible when loading larger amounts of data
+ good for data structures which require large blocks of data