Systems Software (unit 2) (Finished) Flashcards

1
Q

(2.1) What is an operating system?

A

An operating system is the low-level software that supports a computer’s basic functions, such as scheduling tasks and controlling peripherals.

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

(2.1)What functions does the OS provide

A
User interface
Memory management
Interrupt handling
Processor scheduling
Security tools like login procedures
Networking tools
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

(2.1)What is a user interface?

A

The Operating System hides the complexity of the hardware from the user by providing a user interface

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

(2.1)How does the operating system manage memory?

A

Programs and their data need to be loaded into RAM (main memory) to be used
The Operating System must manage the allocation of RAM to the different programs

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

(2.1)What is virtual memory?

A

Virtual memory is a very slow, overflow memory used when the RAM is full

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

(2.1)What is repeatedly swapping pages in and out of virtual memory called?

A

Disk thrashing

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

(2.1)What is paging?

A

Dividing primary memory into sections of equal size called pages (4kb each)

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

(2.1)What is a page table used for?

A

a page table is used to track logical memory locations

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

(2.1)What is segmentation?

A

memory that is divided into uneven memory segments in order to accommodate particular functions or subroutines

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

(2.1)What is an interrupt?

A

an interrupt is a signal sent by software, hardware devices or the internal clock to the CPU so that it can stop the process it is doing

The CPU checks at the end of each clock cycle whether there are any interrupts

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

(2.1)What is an interrupt priority?

A

Interrupts have different priorities, and will be processed in order of priority
Interrupts can themselves be interrupted if the new interrupt is of a higher priority
(FILO stack)

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

(2.1)How does processor scheduling work?

A

A single CPU can only process instructions for one application at a time
The Operating System must schedule when each application can use the CPU
This gives the illusion of multi-tasking – multiple applications appear to be running simultaneously

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

(2.1)What is the purpose 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
14
Q

(2.1)What are some different scheduling methods?

A
Round Robin
First come first served
Shortest remaining time
Shortest job first
Multi level feedback queues
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

(2.1)What is the Round robin scheduling method?

A

Each job is allocated (by FIFO) a time slice during which it can use the CPU’s resources

If the job has not completed by the end of its time slice, the next job is allocated a time slice

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

(2.1)What is the first come first serve scheduling method?

A

The first job to arrive is execute until it completes

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

(2.1)What is the shortest remaining time scheduling method?

A

The time to completion is estimated as each new
job arrives
The job with the shortest remaining time to completion is executed, meaning that a shorter new job can take over from the current process

This has the problem of needing to know the length of a task
If there are too many short jobs the long job might be stranded and never get done

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

(2.1)What is the shortest job first scheduling method?

A

Also known as “shortest process next”
As with shortest remaining time, the total execution time of each job is estimated by the user
The waiting job with the smallest total execution time is executed when the current job completes

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

(2.1)What is the multi level feedback queues scheduling method?

A

This is designed to give priority to short jobs.
Give preference to I/O processes.
Separate processes/jobs into categories.
This method is used to separate incoming jobs into different categories and then create queues for each of those categories. The CPU can then complete all jobs in one queue or scan the fronts of each queues looking for the shortest job

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

(2.2) What is a distributed OS?

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
21
Q

(2.2) What are some examples of a distributed OS?

A

Intranets, Internet, WWW, email.
Telecommunication networks: Telephone networks and Cellular networks.
Network of branch office computers - Information system to handle automatic processing of orders.
Real-time process control such as Aircraft control systems.
Electronic banking,
Airline reservation systems,
Bitcoin mining using multiple GPUs.

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

(2.2) What is a multi tasking system

A

A single processor can appear to do more than one task simultaneously by scheduling processor time
(through the power of scheduling)

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

(2.2)What is a Multi-user, multi-tasking system?

A

a system that uses a very powerful computer called a mainframe

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

(2.2)What is an embedded operating system?

A

An embedded operating system is one that is installed on a specific device and it only to be used on that device.

Has one specific function

Some examples include microwaves, washing machines, heart rate monitors

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

(2.2)What is a Real-time Operating System?

A

A system that has to act in real time due to the urgency of the program

some examples include:
self-driving cars
pacemakers 
cctv
life support systems
26
Q

(2.2)What is BIOS?

A

Basic Input Output System, stored in ROM, boots the computer up and does some basic checks

27
Q

(2.2)What is a Device driver?

A

A driver is a program that provides an interface for the OS to interact with a device

28
Q

(2.2)What is a Virtual Machine?

A

A virtual machine is software is used to emulate a machine

this can be used for running one OS inside another to emulate different hardware

29
Q

(2.3 What are the categories of software?

A

Systems software

Applications software

30
Q

(2.3) What is systems software?

A

Needed by the computer system to control hardware and run applications

Operating System
Utilities
Libraries
Translators

31
Q

(2.3) What functions does the operating system provide?

A
Provide a user interface
Handle memory management
Interrupt handling
Processor scheduling to provide ‘multi-tasking’
Other things such as…
Fetching drivers
Some security tools
Some networking tools.
32
Q

(2.3) What is the purpose of utility programs?

A

Utility programs optimise the performance of the computer and perform useful background tasks

Some examples include:
Disk defragmenter
Automatic backup
Automatic updating
Virus checker
Compression software
33
Q

(2.3) What does the disk defragmenter do?

A

Disk defragmenter reorganises the hard drive so that files are in sequential blocks where possible
The result is that files can be read more quickly

34
Q

(2.3) What does automatic backup do?

A

Important files need to be regularly backed up

35
Q

(2.3) What is the purpose of automatic updating?

A

Runs in the background detecting software update releases and automatically installing them

36
Q

(2.3) What does a virus checker do?

A

Scans storage areas for viruses by comparing files to known virus definitions

Antivirus software could also use heuristics instead of a database.

37
Q

(2.3) What is the purpose of compression software?

A

We may want to send large files across the internet
Compression software can reduce the size of files

By cutting down file sizes you can store a lot of data on a small device

38
Q

(2.3) What does the disc cleanup utility software do?

A

Used to remove files not needed any more

39
Q

(2.3) What does a library do?

A

Allow programs to use pre-written routines

40
Q

(2.3) What does a translator do?

A

allows programs to be translated into executable code

41
Q

(2.3) What is application software?

A

Software that performs a specific task to benefit the user, rather than utility software that benefits the system

42
Q

(2.3) What is the difference between off the shelf and bespoke software?

A

Ready made software available to anyone to purchase is known as off the shelf software

Software that is custom created for a specific user is known as bespoke software

43
Q

(2.3) What are the differences in properties between bespoke and off the shelf software?

A
Bespoke:
 Meets the customer needs exactly
Can be more expensive
Takes longer to get a working system
Can be modified to suit the user
After sales support should be good
off the shelf:
 May not meet needs exactly
Cheaper
Ready as off the shelf
Cant be altered
More help available online if needed
44
Q

(2.3) What is open source software?

A

Open source software allows anyone to access its source code.
The software is open source licensed but free to use
Anyone may modify the software and release it. Selling it is a grey area. This is where mods for games come from.

45
Q

(2.3) What is closed source (proprietary) software?

A

Closed source (or ‘proprietary’) software does not allow access to source code
Users must pay the person or company who owns/made the copyright for a license to use the software
There may be restrictions on how the software
is used

46
Q

(2.4) What is assembly code?

A

A halfway language between human and machine

the instructions are equivalent to machine code but are a bit easier for humans to work with

47
Q

(2.4) What are some assembly code instructions?

A
ADD
SUB
STO
LDA
BR
BRZ
BRP
IN
OUT
HLT
DAT
48
Q

(2.4) What is an assembler?

A

translates assembly code instructions into machine code

49
Q

(2.4) What is a compiler?

A

A compiler translates a whole program as once.
A compiler turns it into executable code, going through several stages.
This results in machine code

50
Q

(2.4) What is an interpreter?

A

An interpreter also translates code written in a high level language into machine code

However, it does this line by line

51
Q

(2.4) What are some advantages of a compiler?

A

Program can be run many times without the need to recompile
Faster to execute
Executable code does not require the interpreter to run
Compiled code cannot be easily read and copied by others

52
Q

(2.4) What are some advantages of an interpreter?

A

Source code can be run on any machine with the interpreter
This means that the same code can run on multiple different devices. (Think HTML/CSS/Java)
If a small error is found, no need to recompile the entire program

53
Q

(2.4) What are the stages of compilation?

A
Lexical analysis
Symbol table
Syntax analysis
Semantic analysis
Code generation and optimisation
54
Q

(2.4) What is lexical analysis?

A

All unnecessary spaces and all comments
are removed
Keywords (e.g. print, for, input, import), variable names/identifiers are replaced with tokens representing their function in the program.

55
Q

(2.4) What is a symbol table?

A

The lexer will build up a symbol table for every keyword and identifier in the program
The symbol table helps to keep track of the run-time memory address for each identifier

56
Q

(2.4) What is syntax analysis?

A

The tokens produced are used to construct a syntax tree
Each phrase is parsed which means it is checked against the rules of the language
If the phrase is not valid, an error will be recorded

57
Q

(2.4) What is semantic analysis?

A

It is possible to create a sequence of tokens which is valid syntax but is not a valid program (what type of error is this?) Semantic analysis checks for this

58
Q

(2.4) What is code generation?

A

Once the program has been checked, the compiler generates the machine code
It may do this in several ‘passes’ over the code because code optimisation will also take place at the point…

59
Q

(2.4) What is code optimisation?

A

Sometimes source code is written inefficiently
Code optimisation aims to:
Remove redundant instructions
Replace inefficient code with code that achieves the same result but in a more efficient way

60
Q

(2.4) What is a library?

A

Most languages have sets of pre-written (and pre-compiled) functions called libraries

61
Q

(2.4) What is a loader?

A

The job of the loader is to copy the program and any linked subroutines into main memory to run
When the executable code was created it may assume the program will load in memory address 0
However, memory addresses in the program will need to be relocated by the loader because some memory will already be in use

62
Q

(2.4) What is a linker?

A

The linker needs to put the appropriate memory addresses in place so that the program can call and return from a library function