Algorithm: a ___ of ___________ used to _____ a _______
set, instructions, solve, problem
2
New cards
Waterfall methodology: A _______ series of stages, establishing __________ in early stages, focusing on the ___ ____ at the _____ and then they may be consulted in _____ stages.
linear, requirements, end user, start, later
3
New cards
Waterfall methodology advantages: clear __________ ensures all staff understand what they need to do and new staff can quickly be brought __ __ ____. ______ ______ make the project easier to ____ and make clear lines of ____________. _____ projects can be split into a set of smaller __________ and each can be approached using its own '_________'
documentation, up to date. Clearly defined stages, plan, responsibility. Large, subprojects, waterfall
4
New cards
Waterfall methodology disadvantages: If a change needs to be made at a _______ _____, all levels between that stage and the current stage must be _______, making the project ________ and unsuited to projects with _______ requirements. Users have little _____, as they are only involved at the ________ and _________ stages. The development process can take so long that the _______ ___________ no longer reflect what is _____
Rapid Application Development: A __________ is created, evaluated and _______ is used to ______ the next ________. Any _______ are made and process is _______ until prototype becomes the _____ product
prototype, feedback, inform, iteration, changes, repeated, final
6
New cards
RAD advantages: Requirements don't need to be _____ from the ____. Caters to changing ____ __________, producing a highly _____ end product. The focus on only ____ features that the user wants reduces __________ ____
clear, start, user requirements, usable, core, development time
7
New cards
RAD disadvantages: poorer quality _____________, fast pace may reduce _______ of ____
documentation, quality code
8
New cards
Extreme programming (XP) methodology: An _____, ________ model that uses _____ programming alongside a representative ___ ____, with a heavy focus on the quality of the ____. The end user is ________ throughout development and new _________ can be _______ throughout
agile, iterative, paired, end user, code, integral, requirements, adopted
9
New cards
Alpha testing: Testing done by the _______ before ____ ______
programmer, beta testing
10
New cards
Black box testing: Tests the expected ______ based on the _____ without looking at the ____
output, input, code
11
New cards
Open source software: software that has its ______ ____ freely available to ____
source code, edit
12
New cards
Library: sections of ____ already _______ containing useful ________ e.g. _________
code, written, routines, encryption
13
New cards
Three advantages of libraries: Save ____ because no need to _______ code. Use _________ of other to _______ away complexity. Has already been _______, saving time ________
time, code, expertise, abstract, tested, debugging
14
New cards
Two disadvantages of libraries: May increase ____ of ________ file s library contains many _______ that aren't being ____. Not written by the _________ so they need to spend time __________ themselves with it
How linkers are used in the compilation process: Links the ____ ______ to _______ and can either _______ them in the _____ code or get the ________ code to point to the __________ libraries
main program, libraries, include, final, executable, external
Distributed systems: A_____ which is ___ ______ _______ ______, allowing the ____ to be ______ across _______ _______ _________ using _________ __________
system run across multiple devices, load, spread multiple computer processors, parallel processing
18
New cards
Operating system: A ________ __ _______ that _____ _______ to ______ an _______ _____ ___ ___ ___ _______
collection of software, works together, provide, interface between the user and computer
19
New cards
Real-time system: ... ________ is _____ __ so the system can handle sudden _______ __ _____,so they rarely run at ______
A system that gives a response within a fixed time frame, redundancy, built in, increases in input, capacity
20
New cards
Embedded system: Software used to ____ the _____, built into the device itself and ________ to the _______. Stored in ___ so it cannot be _______
manage, device, specific, hardware, ROM, changed
21
New cards
Paging: ... causes _______ fragmentation. Non- _______ so every ____can be used.
Memory is split into fixed size, physical divisions, called pages, internal, contiguous page
22
New cards
Segmentation: ... causes _______ fragmentation
Memory is split into unevenly sized divisions, representative of structure and logical flow of a program, called segments, external
23
New cards
Why memory management is important (4 points)
Organises the use of main memory by converting logical addresses to physical addresses. Allows programs to share or allocate memory and protect processes and data from each other. Enables programs larger than main memory to run
24
New cards
Why scheduling is important (3 points):__ _______ __ ____ ____ __ _______ _______ ___ ______ and _______ ______ of __________ _____ with ____ ________ _____. _________ ___ __ _________
To process as many jobs as possible quickly and fairly, maximizes number, interactive users, fast response times. Efficient use of resources
25
New cards
Preemptive scheduling algorithm
jobs are actively made to start and stop
26
New cards
non preemptive scheduling algorithm
once a job is started, it is left alone until finished
27
New cards
first come, first served
a non preemptive scheduling algorithm where jobs are dealt with in the order they arrive (queue)
28
New cards
round robin scheduling
a preemptive scheduling algorithm where a time slice is given to each job and they are dealt with on a FIFO basis. If the job does not finish within a time slice it joins the end of the queue
29
New cards
shortest job first
a non preemptive scheduling algorithm where the queue is sorted/ordered by expected execution time, with shorter jobs at the front
30
New cards
Shortest remaining time: _ ________ ________ ________ where the _____ is _____ __ ________ ________ ________ ____, with _______ ____ at the _____. If as ___ ___ _______ ____ ____ than the ________ ______ ___, the _______ ______ ___ is _______ so the ___ ___ can ___
a preemptive scheduling algorithm, queue, sorted by expected remaining execution time, shorter jobs, front, new job requires less time, currently running job, currently running job, stacked, new, job, run
31
New cards
Multilevel feedback queue: A __________ scheduling algorithm that uses _____ __ ____, where each queue has different levels of ______. Jobs are _______ _____ to a queue with a ______ _____ of priority. If a process uses ___ ____ ___ ___, it is moved to a _____ priority queue and if a process has been ____ for a long time, it is moved to a queue (this helps avoid _________). Processes that depend on ____/ _____ ______ require a lot of processing time, so are kept in ____ priority queues, and processes that are _____ __ _______ are served ____.
preemptive, queues of tasks, priority, initially added, certain level, too much CPU time, lower, idle, higher, starvation, input/ output devices, high, quick to complete, first
32
New cards
Interrupt Service Routine: ___ _______ __ _____ __ _______. If the _______ is a _____ _______ than the current task, the contents of ___ _______ are _____ __ _ _____. The _______ __ is then ______ by ______ ___ _______ of its _____ ______ into the ______ ______. When the ISR is ______ the _______ _______ of the registers are _____ from the _____ and loaded back into the ______
the current FDE cycle is completed, interrupt, higher priority, the registers, pushed to a stack, relevant ISR, loaded, loading the address, first instruction, program counter, complete, previous contents, popped, stack, registers
33
New cards
Multi-user system: _______ _____ can _____ the ____ _____. Uses a _______ _______ to ensure _______ ____ is shared _____ between jobs and to _______ the risk of _______ _______ so users can access the same system the the ____ ____ without _______ _______ the other users
multiple users, access, same system, scheduling algorithm, processor time, fairly, mitigate, processor starvation, same time, adversely affecting
34
New cards
Multi-tasking system: Enable the user to run more than one ______ at the ____ ____. This is done by ____ ______ to quickly ______ between programs and __________ in memory
program, same time, time slicing, switch, applications
35
New cards
Multi core processor. More than one _________ ____ in a ______ ________ which can __________ process instructions at the same time
processing unit, single processor independently
36
New cards
BIOS: Responsible for ______ ___ __ when the computer first _____ __
loading the OS, turns on
37
New cards
What the BIOS does when a computer turns on:1. ____-__-____-____: ensures ___ ______ (e.g. keyboards, disk drives) is correctly __________ and functional2. checks the ___ _____, memory and _______ are operational3. _____ for _______ _____ _____ connected to the computer4. loads the ______5. bootloader passes control to the _____ which _________ the __
Power-On-Self-Test, all hardware, connected, CPU clock, processor, test, external memory devices, bootloader, kernel, initialises, OS
38
New cards
Bootloader: ___ ______ that ______ the __ ______ from the ___ ____ to ____ ______
the program, loads, OS kernel, hard disk, main memory
39
New cards
BIOS settings: ______ in _____ ______ so they can be _______ and are _______ when _____ is ___
stored, flash memory, changes, retained, power, off
40
New cards
Device drivers: _______ ________ used by the __ to __________ with _________, specific to the computer's ________ and __
utility software, OS, communicate, peripherals, architecture, OS
41
New cards
Utility software: ________ that performs a _______ ____, usually related to the ______ __ ___ ______
software, specific task, upkeep of the system
42
New cards
Application software: Used by the ___-____ to perform ___ ________ ____. E.g. ____ processing, spreadsheets, ___ ________
end-user, one specific task, word, web browsers
43
New cards
Systems software: ___-_____ software responsible for ________ the computer ________ and maintaining consistently ____ ___________. E.g. ________ programs, _______ programs, device _______
low-level, managing, resources, high performance, library, utility, drivers
44
New cards
Open source advantages: can be ________ and ________ by anyone, technical support ______, can be modified and ____ __.
modified, improved, online, sold on
45
New cards
Open source disadvantages: support online may be _________, lower ________
incorrect, security
46
New cards
Closed source advantages: thorough and ____-______ updates, company provides _______, ____ levels of security
well-tested, manuals, high
47
New cards
Closed source disadvantages: users cannot ______ and _______ software themselves, _______ restricts how many people can use software at once
modify, improve, license
48
New cards
Translator: a program that ________ ___-_____ source code into ___-_____ ______ ____
converts high-level, low-level object code
49
New cards
Compilers translate high-level code into machine code ___ __ ____, it is ________ to a particular _________ ____ and __
all at once, specific, processor type, OS
50
New cards
Interpreters _________ and _______ code ____-__-____, they stop and produce an error if a line contains one, ______ than running compiled code. Code requires correct ___________ in order to run
Disadvantages of OOP: requires alternative style of ________, not suited to all types of ________ and can sometimes produce ______, more ___________ program, unsuitable for _______ problems