Software Flashcards

1
Q

When are interrupts checked for

A

at the end of each FDE cycle

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

Uses of virtual machines

A
  • used on networks to avoid redundant processors
  • translating code (Java)
  • running different operating systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

boot up process of a computer

A
  • POST is run
  • clears anything in the registers
  • loads the address of the first instruction of the boot program into the PC
  • the boot program checks for start-up instructions on the BIOS
  • The OS kernel is loaded
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Uses of Embedded operating systems

A

Washing machines, vending machines, car engine systems, traffic lights, pay and display machines

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

Uses of Multi-tasking operating systems

A

desktops and smart phones

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

Uses of real-time operating systems

A

Airline control, theatre bookings, heart monitors, production lines, radar systems

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

Uses of Multi-user operating systems

A

schools and offices

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

Use of distributed operating systems

A

Data centres, large companies, weather/financial modelling, data mining trend finding

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

functions of an OS (8)

A
  • Provides a user interface
  • manages security
  • provides a platform for utilities/applications
  • manages external devices
  • managing the processor/scheduling
  • managing memory
  • provides a platform for networking
  • managing hardware
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How does Java use virtual machine?

A

the virtual machine execute intermediate code (Java Byte code)

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

Device drivers are…

A

hardware dependent and OS specific

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

Multi-level feedback queue

A

uses multiple queues based of the priority of the process.

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

Non pre-emptive algorithms

A
  • First come first serve

- shortest job first

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

Pre-emptive algorithms

A
  • Round Robin
  • Shortest Remaining Time
  • Multi-level feedback queue
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Pre-emptive

A

Once a process has entered the running state it can be stopped

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

Aims of scheduling

A
  • to provide an acceptable response time to all users
  • To maximise the time the CPU is usefully engaged
  • To ensure fairness on a multi-user system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What happens if an interrupt is detected?

A
  • the contents of all the registers are pushed onto a stack
  • The interrupt service routine is run
  • Once complete the values of the registers are popped off the stack back into the registers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What does an OS provide?(4)

A
  • User interface
  • Memory Management
  • Interrupt handling
  • Processor scheduling
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What loads the OS into RAM

A

the bootloader

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

Library Programs (System Software)

A

contains useful functions that are frequently used by programs. Simplifies the process of application development.

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

Operating system (System software)

A

software that allows the user to control the computer with ease. It provides a virtual machine hiding the true complexity of the computer from the user and manages and controls access to the computer’s resources.

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

examples of system software

A

Operating system, Utility Program, Library Program, Translators.

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

system software

A

operates, controls and maintain the computer and its components.

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

Hardware

A

the physical components of the computer system.

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

Software

A

program code. Sequences of instructions which are executed in order to perform a task.

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

Backing Up

A

programs which allow for manual or automatic backing up of files onto another disk, on the existing computer system, to a removable device such as DVDs or CDs, to a network file server or to a cloud based storage system online

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

Firewalls

A

a program that blocks unauthorised access onto a network by inspecting packets to find the port they are attempting to access through.
If the port is blocked then the packet is rejected.

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

file managers

A

programs which allow users to easily copy, delete, rename and modify files on a computer system

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

compression

A

programs which attempt to reduce the amount of physical space that files take up when they’re stored

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

fragmented disk

A

over time a disk becomes fragmented as old files are deleted and new files are added, free space often becomes scattered across a disk and a program has to be split and spread across a disk to fit. The more fragmented the slower the computer performs

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

Disk defragmentation

A

programs which attempt to consolidate the spilt files and free space. therefore reading and writing files becomes more efficient.

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

Antivirus utility software

A

programs which help to detect and remove malicious programs which are often designed to harm the computer.

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

Utility software

A

Small programs that perform a specific task usually related to the maintenance and upkeep of the computer system.

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

factors to consider when choosing applications (5)

A
  • functionality
  • hardware
  • availability
  • cost
  • reliability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

types of application software (12)

A
word processors
desktop publishing programs
spreadsheets
database management
Slideshow and presentation
Multimedia and video editing
photo and graphics manipulation
communications, chat and IM
social networking
email clients
web browsers
Gaming
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

application software

A

software that allows the user to do or make something.

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

Open Source Software

A

any software which is supplied along with its original source code.
e.g. Linux

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

Closed Software

A

software which is supplied pre-compiled. The source code is not available and often copyrighted, also known as proprietary software
e.g. microsoft word

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

Benefits of Open source software

A
  • usually free
  • users are free to amend the source code and tailor the program to their needs
  • not constrained by commercial considerations
  • many people are continuously finding and fixing bugs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

drawbacks of open source software

A
  • can be less user friendly/less easy to use
  • less support available
  • people may exploit failures maliciously before they are fixed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Benefits closed source software

A
  • companies have a lot of resources providing security if the program doesn’t work, service/support, and a more polished user friendly product
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Drawbacks of closed source software

A
  • costs money, can be expensive

- small range of versions of software

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

translator

A

any program that converts source code into machine code. e.g. interpreters, compilers and assemblers

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

assembler

A

converts low level assembly language directly into machine code.

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

compiler

A

converts high level code to object code.

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

interpreter

A

takes one line of high level source code and converts it directly into machine code then runs it.

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

machine code

A

code that the processor understands, made of a opcode and operand

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

assembly language

A

opcode is represented by a mnemonic and operand represented by a denary value

49
Q

stages of compilation

A

Lexical analysis
syntax analysis
code generation code optimisation

50
Q

Lexical Analysis

A

(stages of compilation stage 1)

  • source code is taken
  • white space is removed
  • remaining code is turned into tokens
  • a symbol table is created (including variables, data types and scope)
  • passes on to syntax analysis
51
Q

token

A

a keyword, constant, variable, identifier or operator from the code. Its a fixed length string of binary digits.

52
Q

Syntax analysis

A

(stages of compilation stage 2)
the syntax is checked against the rules and an abstract syntax tree is created
if any code breaks the syntax rules an error is generated

53
Q

Code generation

A

(stages of compilation stage 3)

the syntax tree is converted into object code / machine code

54
Q

code optimisation

A

(stages of compilation stage 4)
the code is optimised to run as fast as possible by removing redundant code (removing variables and procedures that have been written but never called)

55
Q

Libraries

A

pre-compiled pre-tested sets of code, often with hundreds of ready to use routines available to the programmer.

56
Q

linker (static linking)

A

includes links to any library code and place it in a single executable file. this is known as static linking and results in large programs because all the code is held in one file.

57
Q

Loaders (dynamic linking)

A

compiled versions of libraries are stored by the computer and the operating system links the code directly into the program when it is needed reducing the size of programs. Loaders are needed to include or load the libraries into memory ready for use.

58
Q

general purpose application software

A

A software that can be used for many purposes e.g. word-processor

59
Q

Special pupose application software

A

A software that preforms single specific tasks. e.g. payroll, hotel booking systems or browser software

60
Q

Bytecode

A

An intermediate representation which combines compiling and interpreting and is run by a byte code interpreter

61
Q

Advantages of using byte code interpreters

A
  • Achieve platform independence

- Acts as an extra security layer between program and computer

62
Q

The Waterfall Lifecycle Model

A
  • a sequence of stages. each stage can only start after the previous one is complete.
  • it possible to go back stages however you can’t skip ahead
  • user involved once at the beginning where the requirements are set out
63
Q

Where is the waterfall life cycle model used?

A

Used in manufacturing industry where there is a clear expected output

64
Q

Spiral Model

A
  • designed to try and manage risk. made of four stages:
    1. determine objectives
    2. Identify and resolve risks
    3. development and testing
    4. plan next iteration
65
Q

Where is the spiral model used?

A

Used in large scale projects

66
Q

Rapid application Development

A

user is shown a prototype and gives feedback to inform how the prototype is further developed until the final project is complete

67
Q

Extreme Programming

A
  • A type of agile methodology, involving a user imbedded in the company to give feedback.
  • This results in high quality code being developed quicker.
  • iterative approach
68
Q

Paired Programming

A

one programmer types and another checks at the same time.

69
Q

Advantages of the waterfall model

A
  • Simple: Everyone on the project is very clear on their responsibilities at each stage.
  • Easy to see if programming is running to schedule
  • good for large scale problems
70
Q

Disadvantages of the waterfall model

A
  • The absence of user feedback
  • Requirements might not be very well understood
  • not flexible
71
Q

Advantages of the spiral model

A
  • good from projects with high levels of risk

- suitable for large scale problems

72
Q

Disadvantages of the spiral model

A
  • Not suitable for quick projects
  • Complex
  • costly
  • good risk analysis is a highly specialised skill
  • if risk is done badly project will suffer
73
Q

Advantages of the agile model (inc extreme programming)

A
  • Acknowledge user input: create prototypes to communicate to the user ideas better
  • high quality code
  • relatively simple
74
Q

Disadvantages of the agile model (inc extreme programming)

A
  • requires a team of programmers working in close collaboration (unlikely to work well if they are distributed geographically)
  • client has to commit to having full time contact with the programmers
75
Q

Advantages of rapid application development

A
  • flexible to changes
  • quick & simple
  • requirements don’t have to be clear from the start
76
Q

Disadvantages of rapid application development

A
  • doesn’t scale well
  • focuses on usability rather than how the product works meaning its not suited for projects where code efficiency is very important
77
Q

agile methodologies

A

a group of methods designed to cope with changing requirements through producing software in an iterative manor.

78
Q

Stages of waterfall model

A

requirements, analysis, design, coding, testing, maintenance

79
Q

uses of RAD

A

good for when the project requirements aren’t completely clear from the outset

80
Q

Where is extreme programming used?

A

good for when the requirements change

81
Q

Where is agile methodologies used?

A

projects where there is a lot of collaboration and code quality must be high

82
Q

Feasibility study

A

the initial investigation that determines whether a project is viable before time and resources are invested into it

83
Q

Requirements specification

A

A document listing all the functionality the system should have

84
Q

utility programs examples

A
  • Disk defragmenter
  • Automatic backup
  • Automatic updating
  • Virus checker
  • Compression software
85
Q

Timer Interrupts

A

Triggered regularly by a timer, to indicate that it is the turn of the next process to have processor time- this allows for multi tasking

86
Q

Processor Scheduling

A

The OS can queue up processes for the CPU to make the most efficient use of the computer which gives the illusion of multitasking

87
Q

scheduler

A

A program that manages the amount of time different processes have in the CPU

88
Q

virtual machine

A

Where software is used to take on the function of the machine, including executing code or running an OS within another to emulate e.g. when you install windows on OSX

89
Q

purpose of device drivers

A

provide an interface/method of communication to enable the OS to control the printer

90
Q

Knowledge based system

A

make use to a body of knowledge to solve problems. Made of up knowledge base (stores facts and rules) and inference engine (uses logic to apply the users responses to the rules)

91
Q

menu driven interface

A

A list of options where the user can pick leading to further options. It restricts the access.

92
Q

things checked in a feasibility study

A
  1. can it be completed within a given time
  2. doesa it fit in the budget
  3. is it technically feasible
  4. is it ethical/legal
  5. is the workforce capable of using it
  6. is it cost effective in the long run
93
Q

purpose of a feasibility study

A

prevents time and money being spent of a project that ultimately fails

94
Q

positives of developing prototypes

A
  • previously undetected bugs come to light

- further enhancements are made

95
Q

real time

A

A system that gives a response within a guaranteed time frame. Input is processed immediately.

96
Q

when are linkers use?

A

when distrubuting code to users.

97
Q

why are linkers used when distrubuting code to users?

A
  • the user may not have the neccesary library installed
  • the relevant code from the library must be included in the final executable
  • the linker combines this code
98
Q

why may programs for one cmputer not work on another computer?

A
  • different instruction sets
  • different libraries
  • programs may be on different media e.g. CD
  • digital rights management
99
Q

assembler relationship with machine code

A

one to one relationship

100
Q

assemblers are…

A

processor specific

101
Q

interpreter and compiler relationship with machine code

A

many to one

102
Q

interpreter uses

A

debugging code (easy to spot where the mistake is)

103
Q

compiler uses

A

distrubuting software as the source code doesn’t have to be distrubuted

104
Q

interpreter drawbacks

A
  • the security is bad

- the code is executed slowly

105
Q

Which systems development methodology is best suited to the delivery of the highest quality code?

A

Agile (extreme programming)

106
Q

linker

A

a device that combines the compiled program with the library modules in a single executable file

107
Q

The process of software development through analysis, design, implementation, testing and evaluation is known as what?

A

Systems Development Life Cycle

108
Q

Systems development methodologies

A
  • RAD
  • Agile
  • Spiral
  • Waterfall
109
Q

code generation

A

stages of compilation (3)

  • abstract syntax tree is converted to object code or machine code
  • passes on to code optimisation
110
Q

code optimisation

A

stages of compilation (4)

  • makes changes to optimise time an space efficiency
  • remove variables/ subroutines that are never used/called
  • search for more efficient alternatives to sets of instructions
111
Q

Syntax analysis

A

stages of compilation (2)

  • abstract syntax tree is built from tokens
  • is any tokens break the rules a syntax error is generated
  • passes on to code generation
112
Q

what does the symbol table store?

A

tokens.

variable/subroutine names, data types and scope

113
Q

What does a feasibility study check?

A
  • technically possible?
  • deliverable within the given timeframe?
  • possible within the given budget?
  • is it ethical and legal?
  • is it possible with the work force?
114
Q

user documentation

A

explains how a system is used. May contain:

  • description of installation
  • how to carry out tasks on the system
  • troubleshooting
  • frequently asked questions
115
Q

WHat is a prototype used for?

A

for evaluation by the user at the end of each iteration. This evaluation is used to shape the next iteration.

116
Q

What does LDA do?

A

loads a certain value in a memory address into the accumulator

117
Q

disadvantage of running a program off a virtual machine rather than directly off the physical machine

A
  • adds an extra layer of processing (virtual machine has to process intermediate code, but CPU has to process virtual machine processing the intermediate code)
  • runs more slowly
118
Q

purpose of technical documentation

A

Provide the necessary information to allow the system to be maintained and updated in the future

119
Q

risks of not carrying out a feasibility study

A

the project may fail before completion wasting the time and money spent on it