1.2- Software and Software Development 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
What are the advantages of a distributed operating system?
A program can be run by the user that uses data from other computers on the system
26
What is a multi-tasking system?
An OS where a single processor can appear to do more than one task simultaneously by scheduling processing time For example a mobile OS
27
What is an embedded operating system?
A specialized OS designed to run a specific task for a non-computer device.
28
What are the features of an embedded operating system?
Minimal features Programs are held in ROM Limited RAM Capacity Simple User Interface
29
What are is a real-time operating system?
An OS designed for immediate data processing, and can ensure tasks are processed in specific timeframes.
30
What are advantages of a real-time operating system?
Highly efficient Useful in safety- critical environments Provides hardware redundancy
31
What are disadvantages of a real-time operating system?
The OS must have a failsafe incase a hardware component fails Incorrect programming can result in permanent damage
32
What is a computer?
An electronic device that takes an input, processes that input and produces an output.
33
What is stored in ROM?
Basic Input Output System (BIOS)
34
What does BIOS do?
Initializes and tests hardware Loads the OS onto the RAM
35
What is a driver?
A software program that provides an interface for the OS to interact with a hardware device. They're hardware dependent and OS specific
36
Why're drivers needed?
They allow the OS to control hardware devices
37
Explain the steps that a program takes to communicate with a hardware device.
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
Define a Mainframe
A really powerful computer that can process instructions for other devices at a faster speed.
39
What is a virtual machine?
Software emulating hardware that can be configured to replicate a combination of hardware.
40
What are the uses of virtual machines?
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
What are the purposes of the OS?
Provide a user interface Handle memory management Interrupt handling Processor scheduling to provide multi-tasking illusion
42
What is a utility program?
A program that optimizes the performance of the computer and perform useful background tasks.
43
What are the 5 utility programs?
Disk defragmenter Automatic backup Automatic updating Virus checker Compression software
44
What is a disk defragmenter?
A program gathers and collates separated file fragments, allowing files to be read quicker
45
Why does fragmentation occur?
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
What is automatic backup?
A process that backs up data with little to no manual intervention.
47
What is a virus checker?
A program that scans permanent storage for viruses by comparing files to known malicious programs- using heuristics
48
What are heuristics?
Making use of experience to find a solution to a problem quickly
49
What is a compression software?
Software that reduces the size of files, by identifying repetitions of data
50
What are the two types of compression software?
Lossy and Lossless
51
What is off the shelf software?
Ready(pre)-made software available for anyone to purchase
52
What is bespoke software?
Software that's custom created for a specific user
53
What is open source software?
Free Software that allows anyone to access its source code
54
What is proprietary software?
Software that doesn't allow access to source code
55
What are the consequences of data loss within companies?
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
What is application software?
Software designed to perform tasks that a user wants to complete.
57
What are some examples of application software?
Word processors Spreadsheet software Presentation creators
58
What is assembly code?
Low level code that's is easier for humans to work with than machine code but isn't designed to be human readable
59
What is machine code?
Lowest level code consisting of binary instructions, that are directly executable by the CPU
60
What is object code?
The intermediate code generated by a compiler after translating source code
61
What are libraries?
Sets of pre-written and pre-compiled functions
62
What are the 9 Token Classes?
Identifier Keyword Separator Operator Literal Number Quote Bool Datatype
63
What does an assembler do?
Translates assembly code instructions into machine code or object code
64
What is a compiler?
A translator that translates a whole program written in a high level language into object code or bytecode.
65
What's an interpreter?
A translator that translates high level code line by line into machine code
66
What are the advantages of a compiler?
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
What are the disadvantages of a compiler?
No cross platform- produces machine code specific to an OS No portability Extra compilation step
68
What are the advantages of a interpreter?
Portable/ Cross Platform Easy debugging
69
What are the disadvantages of a interpreter?
Devices must have the same interpreter Slower program execution time Public source code
70
What's ByteCode?
An intermediate step to speed up the translation process
71
What are the stages of compilation?
Lexical analysis Syntax analysis Semantic analysis Code generation
72
What happens during lexical analysis?
All unnecessary spaces and all comments are removed Tokens are allocated
73
What happens during syntax analysis?
Check code tokens are in the correct order Code tokens are split into phrases Check code tokens follow language rules (Parsing) Optimize code
74
What happens during semantic analysis?
Validity of the code is checked within a given context Optimize code
75
What happens during code generation?
Object code is created Code is optimized
76
What does a Linker do?
The linker resolves all of the cross-references between the files and creates a single executable program.
77
What does a Loader do?
As part of the program execution process, a loader — part of the operating system — copies the executable code into main memory (RAM).