1.2 Software and software development

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/61

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

62 Terms

1
New cards

Systems software

Manages computer resources, maximises performance.

2
New cards

Operating systems

Provide an interface between the user and computer. Provide many features such as management and security.

3
New cards

Interupts

Signals generated by software or hardware to tell the CPU that a process needs attention.

4
New cards

Scheduling

Ensures all sections of programs being run get a fair amount of processing time.

5
New cards

Distributed OS

Runs across multiple devices, the load of the task is spread across multiple computer processors.

6
New cards

Multi-tasking OS

Tasks can be carried out simultaneously, time slices used to switch between programs and applications in memory.

7
New cards

BIOS (basic input output system)

Runs tests to ensure all hardware is correctly connected and functional.

8
New cards

Device drivers

Allows OS to interact with hardware.

9
New cards

Virtual machines

Theoretical computer and a software implementation of a computer system. Provides an environment with a translator.

10
New cards

Application software

Used by end user, performs one specific task.

11
New cards

Utilities

Maintain a high performing OS, each utility has a specific functions. Example: compression, disk defrag.

12
New cards

Translator

Converts source code into object code.

13
New cards

Stages of compliation

Lexical analysis
Syntax analysis
Code generation and optimisation

14
New cards

Lexical analysis

Removes spaces and comments while key wards and identifiers are replaced with tokens.

15
New cards

Software development life cycle

Analysis
Design
Development
Testing
Implementation
Evaluation
Maintenance

16
New cards

Agile methodologies

Flexible, adapt to changes quickly. High quality, flexible, regular user input. Poor documentation, requires consistent interaction between user and programmer.

<p>Flexible, adapt to changes quickly. High quality, flexible, regular user input. Poor documentation, requires consistent interaction between user and programmer.</p>
17
New cards

Waterfall lifecycle

Only does it once doesn't go back. Straightforward, clearly documented. Lack of flexibility, no risk analysis, limited user involvement.

<p>Only does it once doesn't go back. Straightforward, clearly documented. Lack of flexibility, no risk analysis, limited user involvement.</p>
18
New cards

Spiral model

Manage heavy risk projects. Good risk analysis, caters to changes, produces prototypes. Expensive, lack of focus on efficiency.

<p>Manage heavy risk projects. Good risk analysis, caters to changes, produces prototypes. Expensive, lack of focus on efficiency.</p>
19
New cards

Extreme programming

Produce high quality code, constant user involvement means high usability. High cost, teamwork is essential, end-user may not be able to be present.

<p>Produce high quality code, constant user involvement means high usability. High cost, teamwork is essential, end-user may not be able to be present.</p>
20
New cards

Polymorphism

Objects behave differently depending on their class. Overloading(different parameters) + overriding(redefining a method).

21
New cards

Paging

Memory is split up into equal-sized sections known as pages. Pages are swapped between main memory and the hard disk as needed

22
New cards

Segmentation

Memory is split up into logical sized divisions, they represent the structure and logical flow of the program.

23
New cards

Virtual memory

Happens when RAM is full and it uses a section of the hard drive, this frees up space in RAM for other programs.

24
New cards

Disk thrashing

Pages swapped too frequently between hard disk and RAM.

25
New cards

Interrupt service routine (ISR)

Checks for interrupts at the end of each FEDEX cycle. If there is an interrupt the contents of the registers are transferred into a stack until the interrupt is solved. This is the same if an even higher interrupt interrupts the interrupt.

26
New cards

Round robin

Each job is given a section of processor time which it runs.

27
New cards

First come first served

Jobs are processed in the order they are added to the queue.

28
New cards

Multilevel feedback queues

Multiple queues that is ordered based on different prioritys.

29
New cards

Shortest job first

The queue is process and the shortest job will be completed first and the longest job will be completed last.

30
New cards

Shortest remaining time

Jobs with shortest amount of time remaining to be processed are processed first.

31
New cards

Embedded OS

Performs a small range of specific tasks suck as household appliances. They consume less power.

32
New cards

Multi-user OS

Multiple users use one computer.

33
New cards

Real time OS

Designed to perform a task within a guaranteed time frame.

34
New cards

Open source

Free and distributed with the source code.

35
New cards

Closed source

Costly, requires a licence and the user does not have access to the source code.

36
New cards

Compiler

Translates all code in one go, if no changes have been made it can be ran without having to be compiled.

37
New cards

Interpreter

Translates line by line and stops at an error and outputs it.

38
New cards

Assembler

Translates assembly code into machine code.

39
New cards

Bytecode

Mix of compiler and interpreter.

40
New cards

Syntax analysis

Tokens analysed against rules, syntax errors are flagged.

41
New cards

Code generation and optimisation

Code is produced, and it optimises by getting rid of unnecessary code.

42
New cards

Linkers

Links external modules and libraries included within the code.

43
New cards

Loaders

Fetches the library from the given memory location.

44
New cards

Rapid application development

Fast and incomplete version are given to the user to trial. Caters to change, usable end product, focus on core features. Low quality documentation, fast pace and late changes may reduce quality.

<p>Fast and incomplete version are given to the user to trial. Caters to change, usable end product, focus on core features. Low quality documentation, fast pace and late changes may reduce quality.</p>
45
New cards

Structured programming

Sequence - Line after line
Selection - One things happens based of another thing
Iteration - Repeats
Recursion - Calls itself, requires a stopping condition that will be reached

46
New cards

Add

ADD - Adds the value at the given memory address to the value within the accumulator

47
New cards

Subtract

SUB - Subtract the value at the given memory address from the value in the Accumulator

48
New cards

Store

STA - Store the value in the Accumulator at the given memory address

49
New cards

Load

LDA - Load the value at the given memory address into the Accumulator

50
New cards

Input

INP - Allows the user to input a value which will be held in the Accumulator

51
New cards

Output

OUT - Prints the value currently held in the Accumulator

52
New cards

End

HLT - Stops the program at that line, preventing the rest of the code from executing.

53
New cards

Where to store data

DAT - Creates a flag with a label at which data is stored.

54
New cards

Branch if zero

BRZ - Branches to a given address if the value in the Accumulator is zero. This is a conditional branch.

55
New cards

Branch if positive

BRP - Branches to a given address if the value in the Accumulator is positive. This is a conditional branch.

56
New cards

Branch always

BRA - Branches to a given address no matter the value in the Accumulator. This is an unconditional branch.

57
New cards

Opcode

Specifies the instruction to be performed and the addressing mode.

58
New cards

Operand

Data on which the instruction is to be performed.

59
New cards

Immediate addressing

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

60
New cards

Direct Addressing

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

61
New cards

Indirect Addressing

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

62
New cards

Indexed Addressing

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