Temp 2 and 3 Flashcards

1
Q

What is the system development lifecycle?

A

Analysis
Design
Implementation
Evaluation
Maintenance

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

What information might a system analyst collect? (2)

A

What the current system does
What the new system needs to do

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

What might a system analyst do to collect information? (4)

A

Interview people who will use new software
Use questionnaires to gain large amounts of information
Observe what the current system does
Look at existing documentation

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

What does a system analyst give back after an analysis?

A

A system documentation used to evaluate the final product.

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

What does or should a software design document include? (7)

A

A description of the data (data types, format and validations),
Database design and management (if appropriate),
Input/output screens and reports,
How the data will be processed,
How the software will be tested
Hardware requirements/configuration
System Security

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

What happens in the implementation phase of software development?

A

Coding and testing the software (while tracing and correcting errors),
Writing user and technician documentation,
Installing software for the user

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

What are the two types of testing?

A

Black box (functional) and white box (structural)

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

What is white box testing?

A

Testing the code logic by using test data to test all the possible paths within a program at least once.

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

What is alpha testing?

A

In-house testing that is closed from the public and can reveal many bugs or problems

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

What is beta testing?

A

When (often) commercial software is distributed to potential users to be tested and where the user agrees to the testing.

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

Why is beta testing effective?

A

It gains lots of real world info and experience for the developers since people often do things that the original developers didn’t anticipate.

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

What happens in the evaluation phase of software development?

A

Around 6 months after distribution, people critically evaluate if the system works and that all aspects of the software are tested. This is evaluated against the original specification document to compare performance, the systems criteria, any errors made and any unexpected benefits/problems

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

What is acceptance testing?

A

Testing every aspect of a software then evaluating it against the original specification document to accept that it now works/performs as intended.

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

What are the three different types of maintenance

A

Corrective maintenance,
Adaptive maintenance,
Perfective maintenance

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

What is the waterfall model?

A

Similar to the lifecycle model except it doesn’t loop, when you get to the end, you can’t go back upwithout re-completing the previous stages in the model.

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

Advantages of the waterfall model

A

Simple to understand
each stage is separate with good documentation,
Projects are straightforward to manage,
model works well for smaller projects too

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

Disadvantages of the waterfall cycle

A

Not much user involvement after the analysis stage.
Working software not produced until late in the project,
User is given the finished product which doesn’t leave much room for improvement

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

When should the waterfall model be used?

A

The product has a clear outcome
No ambiguous requirements
The project is short,
The technology is well understood

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

What are the four main stages of the spiral model?

A

Analysis, design, implementation, evaluation

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

Advantages of the spiral model

A

Well defined steps
Software is produced at an early stage in development.
User can give feedback during the iterative process
End result more likely to be what the user wants.

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

Disadvantages of the spiral model

A

Iterative process is very time-consuming,
More costly to develop with the time needed,
Not suitable for smaller projects

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

When should the spiral model be used?

A

For medium to high-risk projects,
When users aren’t sure of needs or technological possibilities,
When requirements are complex,
For projects which may take a long time to develop and may need to take advantage of recent/future technological advancements.

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

What is the agile model and how does it work?

A

Software is rapidly developed in an iterative process in so-called development cycles with individually implemented features where each version improves on previous functionality and is thoroughly tested

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

benefits of the Agile model

A

Software is quickly and continuously developed which leads to good client satisfaction,
Working software is frequently published and developed.
Good for small, time-critical projects,
Limited planning to get started.

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

Disadvantages of the agile model

A

Lack of emphasis on proper design and documentation,
Product can fail to deliver if the user is not explicit in their requirements,
Not suitable for novice programmers

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

When should the agile model be used?

A

When new changes need to be implemented,
When the client is an expanding or developing business where their needs are constantly changing and developing

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

What is extreme programming?

A

A type of agile development designed to improve productivity and responsiveness by doing frequent releases and utilizing short development cycles.

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

What can go wrong in a large project that isn’t properly planned and staffed?

A

Costs can spiral,
Personnel can change,
Requirements can change,
Technology advances can make a project obsolete.

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

What is rapid application development?

A

Workshops and focus groups decide on the aims/requirements of a project. Prototyping is then used alongside user feedback to refine the product over strict, short-term time frames. Software components are also reused as frequently as possible.

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

What are the properties of a good algorithm?

A

I must have clear and precise steps
Should allow for invalid inputs
Must terminate at some point
Should do the task in as little time as possible
It should be understandable to others

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

Give 2 examples of sorting algorithms

A

Bubble sort
Merge sort

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

What is a paradigm?

A

A style or a way of programming

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

What is a procedural programming language?

A

A standard, top-down (in terms of the run time) programming language that contains built-in data types (integers etc) and data structures such as arrays and records.

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

What is an imperative programming language?

A

Languages that support imperative programming tell the computer what to do with the input in order to solve the problem.

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

What is structured programming?

A

A kind of procedural programming that uses the constructs (sequence, selection, iteration and recursion) rather than ‘goto’ statements. They also use modular techniques to split programs into manageable chunks.

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

What is a declarative language?

A

Like SQL, you declare what you want in English and describe the problem to be solved.

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

What is logic programming?

A

A paradigm that expresses the logic of a computation without expressing its control flow.

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

Summarize prolog

A

Instead of defining how a problem is to be solved, the programmer defines the facts associated with the program which are always assumed to be true.

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

How does prolog utilize backtracking?

A

If the interpreter attempts to find a solution to a problem but reaches a dead end, it backtracks to the last decision and attempts to take a new route.

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

What is encapsulation?

A

When attributes and methods are wrapped into a single entity (classes). If declared private they can only be accessed through class methods.

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

what is a class?

A

A class is a blueprint for an object and defines attributes and methods that capture common characteristics or behaviours of objects.

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

What is information hiding?

A

When an objects attributes are hidden and are only accessible through the objects methods.

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

What is required of an object to access its methods?

A

They must be defined as public

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

What is inheritance?

A

When there is a relationship between sub-classes. Such as, rodents and insects are both their own classes but are also both parts of the class animals.

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

What is polymorphism?

A

When an inherited class may have methods and attributes that do not exist in the parent class or are a modified form of an existing method in a parent class.

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

What might polymorphism do to a parent class aside from making new methods?

A

It may redefine methods that are defined in the parent class. For example, all animals can eat, but eagles eat meat and birds eat seeds.

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

Is assembly language hardware specific?

A

Yes

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

What are the four addressing modes?

A

Immediate, Direct, Indirect, indexed

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

What is immediate addressing?

A

The operand holds the actual value

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

What is Direct addressing?

A

The operand holds the address of the value

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

What is indirect addressing?

A

The operand is holding the location of the address of the value

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

What three things do immediate addressing; direct addressing and indirect addressing mean in normal code?

A

A variable, a pointer and a double pointer

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

What things need to be analyzed in the analysis section of the system development lifecycle?

A

The data itself - origin, uses and characteristics
The procedures - What is done with the data, where and how it’s done, how errors are handled
The future - development plans and expected growth rates of a system
Problems - With any existing system

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

What is black box (functional) testing?

A

Black box testing is independent of the code itself and involves taking test cases of data that cover all aspects of the program (all the inputs and outputs and program functions)

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

What are the three main areas evaluated in the evaluation phase of the system development lifecycle?

A

The program’s effectiveness, usability and maintainability.

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

What kinds of problems are solved using algorithms?

A

internet-related problems, route-finding problems, compression, encryption etc.

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

What are some advantages of OOP?

A

It forces developers to plan a project extensively
the code is encapsulated and so independent from everything else
All the layers are separate
Highly reusable

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

What data about a proposed system might be collected in its analysis stage? (4)

A

The data used (origin, uses, volume, etc.)
The procedures (what is done, where and how)
The future (development plans and expected growth rates)
The problems (with any existing system)

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

What 4 things does a post-implementation review focus on? (evaluation phase)

A

A comparison of actual performance with expected performance
An assessment of the system against the success criteria
Errors made during development
Unexpected benefits/problems

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

What kinds of problems are solved by algorithms?

A

Internet-related (such as search engines)
Route-finding algorithms
Compression algorithms
Encryption algorithms

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

What is meant by a ‘divide and conquer’ algorithm?

A

One that splits a problem up into many parts.

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

What are 4 effective methods for interpreting an algorithm?

A
  1. Read any comments
  2. Look at variable names for clues
  3. follow the steps
  4. Do a ‘dry run’ with test data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

Give 5 examples of programming paradigms

A

Procedural programming
Structured programming
OOP
Declarative programming
Functional programming

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

What is object-oriented programming?

A

OOP defines using classes within programming to create instances of a class called objects.

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

How do you draw inheritance in a class diagram?

A

By connecting a subclass to a parent class with an open-headed arrow

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

What does BRA mean in assembly?

A

Branch (unconditional). Uses the given address as the address of the next instruction

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

What does BRZ mean in assembly?

A

Branch to the address given if the value in the accumulator is zero

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

What does BRP mean in assembly?

A

Branch to the given address if the value in the accumulator is zero or positive

69
Q

What does HLT mean in assembly?

A

Stops the program

70
Q

For modern computers, what is the format of 16-bit data? (What is each bit)

A

8 bits for the opcode (6 for machine operation and 2 for addressing mode) and 8 bits for the operand

71
Q

What is indexed addressing?

A

When the address of the operand is obtained by adding the contents of the index register to a constant value iteratively to reference each memory address containing a value in an array.

72
Q

What is the name for the description of a project produced at the end of the extreme designing phase?

A

The project metaphor

73
Q

Where is the operating system stored?

A

Permanent storage, e.g. hard disk

74
Q

How is the operating system brought from secondary to primary storage?

A

A program called the loader (which is stored in ROM) copies the OS from storage to RAM

75
Q

What 5 things does an os do aside from the UI?

A

Memory management
Interrupt service routines
Processor scheduling
Backing store management
Management of all input and output

76
Q

How does paging work?

A

Memory is divided into 4Kb fixed pages. When data is stored in memory, a program may take up a number of consecutive addresses. A table is then made to map the physical memory address to the logical memory address.

77
Q

What is segmentation?

A

Segmentation is the logical division of address space into varying segments (different sizes). As with paging, you can load a part of the program into memory initially.

78
Q

Why does a full RAM cause a computer to slow down?

A

The computer has to swap pages in and out of RAM and secondary storage, it ends up doing this most of the time which tanks performance, this is known as thrashing.

79
Q

What is meant by multi - tasking in a single core processor

A

When a processor with one core breaks down a large problem into small chunks and does those one after another to give the appearance of carrying out several tasks simultaneously.

80
Q

What does the schedular do?

A

The schedular is a module in the operating system that makes sure processor time is used as efficiently as possible

81
Q

What are the objectives of the schedular? (4)

A

Maximise throughput
Be fair to all users on a multi user system
Provide acceptable response time to all users
Ensure hardware resources are kept as busy as possible

82
Q

What is backing store management?

A

The operating system keeps track of the locations in storage that are free so new files can be uploaded there. It also needs to know where files are stored so they can be quickly accessed

83
Q

What does your computer do when talking to a peripheral (i.e. a printer) in order to not reduce performance?

A

It sends the data to be transferred to a buffer so that the CPU can continue on another task. This is to compensate for the difference in speeds between the CPU and the printer.

84
Q

What is a distributed operating system?

A

A distributed operating system is a form of parallel processing where the operating system divides up tasks among multiple computers (often servers) to provide more power than a single large server

85
Q

What two operating systems do mobile devices have?

A

Mobile operating system
Real-time operating system

86
Q

What’s the purpose of the real time os in a smartphone?

A

It controls the low level hardware in a phone such as the radio or gps.

87
Q

What are the main features of an os in a conventional household embedded system (4)

A

It will have a minimal user interface
It will accept input from sensors and output to control devices
Limited RAM so no complex memory management system
No permanent data storage devices to be managed

88
Q

What will the features of the os in a real time system be? (I.e. airbus a320)

A

Must respond very quickly to inputs or sensors
Must be able to deal with many inputs simultaneously
Must have fail safe mechanisms if hardware fails
It must incorporate redundancy (if one part fails, switch to another)

89
Q

Where is the bios stored?

A

EPROM (erasable programmable read-only memory)

90
Q

What does the bios do?

A

It’s primary purpose is to initialise and test the system hardware components and then load the os

91
Q

What does a driver do?

A

Provides a software interface for a particular hardware device like a printer

92
Q

Why might an apple device install a different driver to a windows device for a printer?

A

Drivers are hardware specific and os specific

93
Q

Def virtual machine

A

A virtual machine is any instance when software is used to take on the function of the machine often to emulate different hardware

94
Q

What two categories of software are there?

A

Systems software, application software

95
Q

What is system software?

A

The software needed to run the computers hardware including the os and utility programs

96
Q

Give 2 main functions of an os

A

Resource management - managing computer hardware
Providing a UI

97
Q

What are utility programs for?

A

They are pieces of software designed to optimise the performance of a computer or perform ‘housekeeping’ tasks.

98
Q

What is a disk defragmenter and what does it do?

A

It reorganises a metal hard disk so that files which have been split up (fragmented) are recombined into a single series of sequential ‘blocks’ (sections of the hard disk)

99
Q

What 4 things do backup services generally allow users to specify?

A

Where to store the backup
What to backup
How to run the backup (zip files or not)
When to run the backup

100
Q

What does automatic update utility software do?

A

Makes sure that any software is up to date by searching the internet and installing the latest version if it is not currently installed

101
Q

What 2 pieces of system software need automatic updating to work efficiently

A

Anti virus and firewall services need the latest protection to still work as intended.

102
Q

Why is an automatic updater important for application software?

A

It means applications are kept as up to date as possible so bug fixes and improvements are automatic and seamless to the user.

103
Q

What does a virus checker do?

A

Checks your hard drive and (depending on level of protection offered) your emails and installed data and removes them

104
Q

Why might someone use compression software?

A

To be able to send a file with a size limit over the internet.

105
Q

What are the 3 categories of application software?

A

General-purpose, special-purpose (which includes custom-written (bespoke) software and off the shelf software)

106
Q

What is general purpose software?

A

Software such as a word processor or spreadsheet that is used for many different purposes

107
Q

What is special purpose software.

A

Software that performs a single specific task or a set of tasks such as hotel booking systems or fingerprint scanners

108
Q

What two ways a software be bought?

A

Off-the-shelf - ready to go straight after purchase but more general
Bespoke - custom written software maybe bought by a hotel to carry out a specific task

109
Q

Features of off-the-shelf software

A

Cheaper than bespoke software
May contain unwanted features and not contains desired but not essential features
Ready to be installed immediately
Well documented, tested and error free

110
Q

Features of bespoke software (compared to off-the-shelf software)

A

More costly to produce and purchase
Features customised to user requirements and other features added as needs arise
May take a long time to develop
May contain hidden errors

111
Q

What 4 things does the Open Source Initiative say about open source software?

A

It is licensed to use but the license is free
Open source software must be distributed with the source code
Developers can sell the software they have created
Any software created from open source software must also be ‘open’

112
Q

What are 3 features of closed source software?

A

There are restrictions on how the software can be used
The original developer holds the copyright on the software
Users do not have access to the source code and can’t sell it on

113
Q

What is a benefit of proprietary software over open source?

A

Proprietary software (especially when developed by companies) usually comes with regular updates and technical support for users

114
Q

What 5 things might you consider when choosing software for a specific purpose?

A

Does it do everything you need it to?
Does it run on the available hardware?
Is it available off the shelf?
How much will it cost?
Is it well used, tried and tested?

115
Q

Why do different processors have different assembly code?

A

Assembly language is hardware specific

116
Q

How is assembly language converted to machine code?

A

The source code is converted to byte code (or straight to machine code) by a compiler to get the output machine code (or object code)

117
Q

How does a compiler work?

A

A compiler scans through source code performing different checks before converting to object code

118
Q

How does an interpreter work?

A

An interpreter reads source code line by line, analyses it, and if it contains no errors, translates and runs it.

119
Q

What do modern interpreted languages do to speed up run time?

A

The source code is scanned first and converted to byte code which is then executed by a byte code interpreter

120
Q

What is a big advantage of byte code?

A

You can achieve platform independence (programs can be run on any computer regardless of hardware capabilities.

121
Q

What is an advantage (not independence) provided by byte code?

A

It adds an extra layer of security between your computer and the software (if malicious)

122
Q

Advantages of a compiler (4)

A

The object code can be saved on disk
The object code executes faster than interpreted code
Object code can be distributed without the compiler
Object code is more secure as is much more difficult to ‘reverse engineer’

123
Q

Advantages of an interpreter (4)

A

Platform independence
It is useful for development as there is no need for lengthy compilation

124
Q

Disadvantages of an interpreter

A

The program may be slower than a compiled program since each statement has to be translated first

125
Q

What are the 5 steps in the compilation process?

A

Lexical analysis,
Parsing/syntax analysis,
Symbol table,
Semantic analysis,
Code generation and optimization

126
Q

What happens during lexical analysis? (3)

A

All whitespaces and comments are removed.
Simple error checks such as looking for illegal identifiers are carried out
Keywords, constants and identifiers are exchanged for tokens

127
Q

What is the symbol table during compilation?

A

The symbol table is a table built up by the lexer which keeps track of the run time memory addresses for each identifier, it holds things such as the type and kind of an item.

128
Q

What happens during syntax analysis?

A

The token stream for the lexical analysis is checked against the rules of the language by parsing.

129
Q

What happens during semantic analysis within compilation?

A

Semantic analysis checks the tokens for valid code (i.e. a variable that has been used but not defined.

130
Q

What happens during code generation in the compilation process?

A

The code is converted into machine/object code. This may take a few parses as code optimization takes place

131
Q

What happens during code optimization in compilation?

A

The compiler removes unused statements and variables. It also replaces inefficient code with code that achieves the same thing but in a different way.

132
Q

Define an operating system

A

A program or set of programs that manage the operations of the computer for the user. It is the bridge between the user and the computer hardware since users can’t directly control computer hardware

133
Q

Define a system interrupt

A

A signal from a program, hardware device or internal clock to the cpu to say when a program has been terminated or to request a service from the os.

134
Q

How do interrupts allow multi-tasking?

A

The system clock triggers an interrupt to allow the cpu to process something else

135
Q

What happens when the CPU receives an interrupt?

A

It suspends execution of the current program/process and disables interrupts of a lower priority. It then puts all the values of the program counter onto the stack and calls upon an interrupt service routine to deal with the interrupt.

136
Q

Name 5 different scheduling algorithms

A

Round robin
First come first served
Shortest remaining time
Shortest job first
Multi-level feedback queues

137
Q

Name 3 types of interrupts

A

Hardware
Software
Input/output

138
Q

Give 2 examples of a hardware interrupt

A

Power button pressed
Memory parity error (corrupt memory)

139
Q

Name 3 different software interrupts

A

Illegal instruction encountered
Arithmetic overflow
New log on request

140
Q

Give 2 examples of an input/output interrupt

A

Buffer nearly empty
Completed data transfer to/from a device

141
Q

What are the three levels to an os?

A

The bootloader, the kernel, the shell

142
Q

What happens when a process is blocked?

A

If a process is running and requires an input/output then it will be blocked while the CPU waits for the input/output response and it will carry on to execute the next process. When the response is received, the blocked process is returned to the back of the queue

143
Q

What is round robin scheduling?

A

In round robin scheduling, processes are added to a stack on a first in first out basis with each process getting a time slice or quantum of processor time defined by an interval timer set by the os to generate regular interrupts. If the process isn’t finished by then, the CPU moves on to the next process and the current process is returned to the stack.

144
Q

How does first come first served scheduling work?

A

The first job to arrive is the first one to be executed with no system of priorities

145
Q

How does shortest remaining time scheduling work?

A

The job with the shortest estimated time to complete is executed first, this reduces the queue length and the number of small jobs waiting behind big jobs

146
Q

How does shortest job first scheduling work

A

The program with the shortest estimated running time is run first.

147
Q

What is the main disadvantage with shortest time/job scheduling?

A

They require knowledge of how long a process is going to take which is fine for non time-sensitive tasks but otherwise can slow down a system or simply isn’t possible for a computer.

148
Q

How does multi level feedback queueing scheduling work?

A

Multi level feedback queues implements several job queues, allowing jobs to move between queues depending on their size and requirements. It attempts to keep I/O jobs as busy as possible possible so that I/O devices do not cause a bottleneck in the system. This helps maximise processor usage as it doesn’t have to wait for I/O devices

149
Q

What is a multi-tasking operating system?

A

An operating system, such as windows, that usually runs on a PC or laptop that can run many jobs simultaneously.

150
Q

What is a multi-user, multi-tasking system

A

A system that acts like a time-share where one single powerful mainframe or supercomputer is connected to dozens or hundreds of terminals where each terminal gets a slice of processor time according to a scheduling algorithm.

151
Q

Why might someone use a compressor or zip a file to make it smaller?

A

Sometimes applications limit the size of files that can be shared or stored. It also reduces broadband usage if the file is able to be transmitted.

152
Q

What is the difference between open-source software and freeware?

A

Freeware is free to use but the user does not gain access to the source code

153
Q

What is the name for the list of operations that a particular computer can execute (when talking about assembly language)

A

The instruction set

154
Q

What is the advantage of using a compiler to generate object code?

A

The object code can be distributed and executed without the compiler.

155
Q

How is a symbol table accessed to reduce the time the lexical analyser has to wait?

A

A hash table is used. Also synonyms (collisions) are inevitable and so are stored in the next available space

156
Q

What happens during parsing? (During syntax analysis)

A

Parsing is the task of systematically applying the rules of each statement to determine its validity. Stacks will be used to check if brackets are correctly paired.
The priorities of arithmetic operators are determined and converted to a form better for machine code.

157
Q

What is a disadvantage of code optimisation in compilation?

A

It can drastically increase compilation time it sometimes produces unexpected results.

158
Q

What is a linker and what does it do?

A

Once a program is compiled, the linker put the appropriate machine addresses in all the external call and return functions so that modules in the code are linked together correctly

159
Q

What does a loader do? (During compilation)

A

A relocating loader can load object code anywhere in memory provided it is in a relocatable format

160
Q

What are 2 advantages of using libraries in code?

A

They are tested and free of errors
They save the programmer time as they don’t have to ‘re-invent the wheel’

161
Q

Which types of operating systems are stored in read-only memory?

A

Real-time and embedded

162
Q

What is a linker?

A

A linker is a piece of software that links libraries to code that uses them

163
Q

What is a loader?

A

A piece of software that decides where the loaded machine code will go in memory

164
Q

What is a statically linked library?

A

A library that is included in the object code of a file.

165
Q

What is a dynamically linked library?

A

A library that is only loaded and given to the CPU when it is called

166
Q

What is one advantage and disadvantage of statically linked libraries?

A

The code that contains them takes up more space in memory
It takes less time to run because it is already in the object code

167
Q

What is one advantage and disadvantage of dynamically linked libraries?

A

The libraries are not included in the object code so it takes up less memory
The library needs to be installed on the end users device, this is time consuming and sometimes inconvenient

168
Q

Which types of operating systems are stored in RAM?

A

Embedded systems and real-time systems