1.2- Software and Software Development Flashcards

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

What are interrupts?

A

Signals sent to the CPU by software, hardware devices or the processor clock; that are detected, processed and executed according to priority.

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

How are interrupts used in stacks?

A

Interrupt detected
Processor stops fetching instructions
Current contents of its registers are pushed onto a stack

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

How do stacks work?

A

Stacks are Last-In First-Out data structures,

The last data to be pushed onto the stack will be the first retrieved by CPU

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

What is the Round-Robin Scheduling Algorithm?

A

A CPU scheduling algorithm that allocates equal time slices to each process in a cyclical order.

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

What are the advantages Round-Robin Scheduling Algorithm?

A

Fairness
Preemptive
Easy to use

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

What are the disadvantages Round-Robin Scheduling Algorithm?

A

Low slicing time reduces processor output
More important processes don’t have special priorities.

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

What is the Shortest Remaining Time Algorithm?

A

A preemptive CPU scheduling algorithm that selects the process with the shortest amount of time remaining to complete its execution

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

What are the advantages of the Shortest Remaining Time Algorithm?

A

Processes with a shorter burst time are executed quickly

Doesn’t constantly switch processes

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

What are the disadvantages of the Shortest Remaining Time Algorithm?

A

Longer processes might experience starvation

Elapsed process time must be recorded- more work for processor

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

What is the First Come First Serve Algorithm?

A

A CPU scheduling algorithm that executes process in the order they’re received

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

What are the advantages of the First Come First Serve Algorithm?

A

Simple
Easy to use
No Starvation

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

What are the disadvantages of the First Come First Serve Algorithm?

A

Not preemptive
Higher average waiting time than other algorithms

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

What is starvation?

A

When a job is perpetually delayed from being executed

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

What is the Shortest Job First Algorithm?

A

A NON-preemptive CPU scheduling algorithm that selects the shortest process to execute first

The total execution time of each job is estimated by the user

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

What are the advantages of the Shortest Job First Algorithm?

A

Maximizes the number of tasks that can be completed in a given time interval

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

What are the disadvantages of the Shortest Job First Algorithm?

A

Starvation: If there are a steady supply of short processes, long processes may never get to run.

Predicting burst time: It can be difficult to predict the length of the next CPU request.

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

What are Multi level Feedback Queues?

A

When multiple queues are created with different priority levels

If a job uses too much CPU time it’s moved to a lower priority queue

But processes experiencing starvation can move to a higher priority queue

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

What is Polling?

A

The regular checking of an event to see if it’s occurred or needs attention

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

What are the advantages of Polling?

A

Simple
Predictable

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

What are the disadvantages of Polling?

A

Uses up processor time to check events

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

What are the aims of scheduling?

A

To provide an acceptable response time

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

What are the types of operating systems?

A

Distributed
Multitasking
Multi user
Embedded
Real-time

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

Define overlapping classifications?

A

When two operating systems can overlap onto the same computer system

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

What is a distributed operating system?

A

An OS that can coordinate the processing of a single job across multiple computers

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

What are the advantages of a distributed operating system?

A

A program can be run by the user that uses data from other computers on the system

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

What is a multi-tasking system?

A

An OS where a single processor can appear to do more than one task simultaneously by scheduling processing time

For example a mobile OS

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

What is an embedded operating system?

A

A specialized OS designed to run a specific task for a non-computer device.

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

What are the features of an embedded operating system?

A

Minimal features
Programs are held in ROM
Limited RAM Capacity
Simple User Interface

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

What are is a real-time operating system?

A

An OS designed for immediate data processing, and can ensure tasks are processed in specific timeframes.

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

What are advantages of a real-time operating system?

A

Highly efficient
Useful in safety- critical environments
Provides hardware redundancy

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

What are disadvantages of a real-time operating system?

A

The OS must have a failsafe incase a hardware component fails

Incorrect programming can result in permanent damage

32
Q

What is a computer?

A

An electronic device that takes an input, processes that input and produces an output.

33
Q

What is stored in ROM?

A

Basic Input Output System (BIOS)

34
Q

What does BIOS do?

A

Initializes and tests hardware
Loads the OS onto the RAM

35
Q

What is a driver?

A

A software program that provides an interface for the OS to interact with a hardware device.

They’re hardware dependent and OS specific

36
Q

Why’re drivers needed?

A

They allow the OS to control hardware devices

37
Q

Explain the steps that a program takes to communicate with a hardware device.

A

Program sends a request to OS to control a device

The OS invokes a driver routine

The driver routine causes the device to perform specific tasks

Instructions are then sent from the driver to the hardware device

38
Q

Define a Mainframe

A

A really powerful computer that can process instructions for other devices at a faster speed.

39
Q

What is a virtual machine?

A

Software emulating hardware that can be configured to replicate a combination of hardware.

40
Q

What are the uses of virtual machines?

A

Can be configured to replicate a combination of hardware

Software running on it works as if it were accessing certain devices…

Even if they don’t exist on the main computer system

41
Q

What are the purposes of the OS?

A

Provide a user interface
Handle memory management
Interrupt handling
Processor scheduling to provide multi-tasking illusion

42
Q

What is a utility program?

A

A program that optimizes the performance of the computer and perform useful background tasks.

43
Q

What are the 5 utility programs?

A

Disk defragmenter

Automatic backup

Automatic updating

Virus checker

Compression software

44
Q

What is a disk defragmenter?

A

A program gathers and collates separated file fragments, allowing files to be read quicker

45
Q

Why does fragmentation occur?

A

A magnetic hard-disk has spinning parts

As new data gets transferred parts of files get scattered

They’re no longer in sequential blocks

46
Q

What is automatic backup?

A

A process that backs up data with little to no manual intervention.

47
Q

What is a virus checker?

A

A program that scans permanent storage for viruses by comparing files to known malicious programs- using heuristics

48
Q

What are heuristics?

A

Making use of experience to find a solution to a problem quickly

49
Q

What is a compression software?

A

Software that reduces the size of files, by identifying repetitions of data

50
Q

What are the two types of compression software?

A

Lossy and Lossless

51
Q

What is off the shelf software?

A

Ready(pre)-made software available for anyone to purchase

52
Q

What is bespoke software?

A

Software that’s custom created for a specific user

53
Q

What is open source software?

A

Free Software that allows anyone to access its source code

54
Q

What is proprietary software?

A

Software that doesn’t allow access to source code

55
Q

What are the consequences of data loss within companies?

A

Financial losses due to data recovery efforts

Reputational damage and loss of consumer confidence

Loss of intellectual property such as copyrights

Being exposed to legal actions and lawsuits

56
Q

What is application software?

A

Software designed to perform tasks that a user wants to complete.

57
Q

What are some examples of application software?

A

Word processors
Spreadsheet software
Presentation creators

58
Q

What is assembly code?

A

Low level code that’s is easier for humans to work with than machine code but isn’t designed to be human readable

59
Q

What is machine code?

A

Lowest level code consisting of binary instructions, that are directly executable by the CPU

60
Q

What is object code?

A

The intermediate code generated by a compiler after translating source code

61
Q

What are libraries?

A

Sets of pre-written and pre-compiled functions

62
Q

What are the 9 Token Classes?

A

Identifier
Keyword
Separator
Operator
Literal
Number
Quote
Bool
Datatype

63
Q

What does an assembler do?

A

Translates assembly code instructions into machine code or object code

64
Q

What is a compiler?

A

A translator that translates a whole program written in a high level language into object code or bytecode.

65
Q

What’s an interpreter?

A

A translator that translates high level code line by line into machine code

66
Q

What are the advantages of a compiler?

A

Allows programs to run fast
Private code
Program can run many times without needing to recompile
Compiled code can’t be easily copied
Fully optimised

67
Q

What are the disadvantages of a compiler?

A

No cross platform- produces machine code specific to an OS
No portability
Extra compilation step

68
Q

What are the advantages of a interpreter?

A

Portable/ Cross Platform

Easy debugging

69
Q

What are the disadvantages of a interpreter?

A

Devices must have the same interpreter

Slower program execution time

Public source code

70
Q

What’s ByteCode?

A

An intermediate step to speed up the translation process

71
Q

What are the stages of compilation?

A

Lexical analysis
Syntax analysis
Semantic analysis
Code generation

72
Q

What happens during lexical analysis?

A

All unnecessary spaces and all comments are removed

Tokens are allocated

73
Q

What happens during syntax analysis?

A

Check code tokens are in the correct order
Code tokens are split into phrases
Check code tokens follow language rules (Parsing)
Optimize code

74
Q

What happens during semantic analysis?

A

Validity of the code is checked within a given context
Optimize code

75
Q

What happens during code generation?

A

Object code is created
Code is optimized

76
Q

What does a Linker do?

A

The linker resolves all of the cross-references between the files and creates a single executable program.

77
Q

What does a Loader do?

A

As part of the program execution process, a loader — part of the operating system — copies the executable code into main memory (RAM).