2.1 Systems Software Flashcards

1
Q

What is an operating system?

A

A program that provides an interface between the user and computer or between software/hardware.

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

What is the purpose of an operating system?

A

Enables the user to communicate with the computer and perform low-level tasks involving the management/upkeep of computer resources.

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

What are the features of operating systems?

A
  • memory management
  • resource management (scheduling)
  • file management
  • i/o management (drivers)
  • interrupt management
  • utility software
  • security (firewall)
  • user interface
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is paging?

A

When memory is split up into equal-sized sections (pages) with programs being made up of a certain number of pages. Pages can then be swapped between main memory and secondary storage as needed.

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

What are 3 aspects of memory management?

A

paging
segmentation
virtual memory

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

What is segmentation?

A

When memory is split up into variable, logical-sized divisions (segments). Segments may be allocated to blocks of code such as a loop or function.

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

What is virtual memory?

A

When a section of the hard drive acts as an extension to main memory and temporarily stores programs that are not in use.

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

What is the purpose of virtual memory?

A

Allows you to run more programs at the same time, even when RAM doesn’t have enough space to store all of the programs.

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

What is the issue with virtual memory?

A

Disk thrashing which is when the computer slows down as pages are being swapped between RAM and secondary storage too frequently. This results in more time being spent swapping pages than running the program.

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

What is an interrupt?

A

A hardware or software generated signal that indicates to the CPU that a process needs urgent attention.

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

Where are interrupts stored and in what order?

A

They are stored in priority order in a priority queue in the interrupt register.

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

What are the steps in servicing an interrupt?

A
  • CPU checks the contents of the interrupt register after each fde
  • If an interrupt exists of higher priority than the current process, the contents of the special purpose registers are transferred to a stack
  • The appropriate ISR is loaded into RAM
  • The memory address of the start of the ISR is copied into the PC
  • A flag is set to signal the ISR has began
  • When the ISR is complete, the flag is reset
  • The contents of the stack are reloaded into the special purpose registers unless another interrupt of higher priority exists
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does ISR stand for?

A

interrupt service routine

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

What is the purpose of scheduling algorithms?

A

Ensure all programs receive a fair amount of processing time.

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

What are 2 types of scheduling algorithms?

A

pre-emptive
non pre-emptive

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

What is the difference between pre-emptive/non pre-emptive scheduling algorithms?

A

Pre-emptive algorithms actively start/stop jobs whereas non pre-emptive algorithms allow a job to run till completion once it has began.

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

What are 5 scheduling algorithms and which category does each fall into?

A

pre-emptive -
- round robin
- shortest remaining time
- multilevel feedback queues

non pre-emptive -
- first come first serve
- shortest job first

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

How does RR work?

A

Each job in a queue is given an equal slice of processor time. Once all of the jobs have had their time slice, the process repeats.

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

What is the advantage of RR?

A

Ensures every single job receives processor time.

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

What is the disadvantage of RR?

A

Job priority isn’t taken into account and longer jobs are still given the same amount of processing time so they will take much longer to complete.

17
Q

How does FCFS work?

A

Jobs are processed in chronological order based on who entered the queue first.

18
Q

What is the advantage of FCFS?

A

Very straightforward to implement.

19
Q

What is the disadvantage of FCFS?

A

Does not take job priority into account so it’s extremely inefficient.

20
Q

How does SJF work?

A

The queue storing jobs is ordered according to the time required to complete the entire job.

21
Q

What is the advantage of SJF?

A

Shorter jobs are given preference to minimise their waiting time.

22
Q

What is the disadvantage of SJF?

A

Requires the processor to know how long each job will take. There is a risk of processor starvation if short jobs are continually added to the queue.

23
Q

What is processor starvation?

A

When a job never receives enough process time to execute and be completed.

24
Q

How does SRT work?

A

The queue storing jobs is ordered according to the time left to finish the job.

25
Q

What is the advantage and disadvantage of SRT?

A

Same as SJF, must know remaining time and risk of processor starvation but priorities small jobs to minimise wait time.

26
Q

How do MLFQ work?

A

Makes use of multiple queues that are grouped based on job priority. The highest priority queue receives more processor time than the lowest priority queue but all queues receive some processor time.

27
Q

What is the advantage of MLFQ?

A

Prevents processor starvation as jobs can be moved into higher priority queues if they haven’t received enough processor time.

28
Q

What is the disadvantage of MLFQ?

A

Hardest scheduling algorithm to implement and is CPU intensive.

29
Q

What are 5 different types of operating system?

A

distributed
embedded
multi-tasking
multi-user
real time

30
Q

What is a distributed OS?

A

An operating system that can run across multiple devices allowing the load to be spread across multiple processors when a task is run.

31
Q

What is an embedded OS?

A

A system built into another device to perform a small range of specific tasks. This is power efficient but limited in functionality.

32
Q

What is a multi-tasking OS?

A

A system that enables the user to carry out tasks seemingly simultaneously through time slicing and a scheduling algorithm.

33
Q

What is a multi-user OS?

A

Where multiple users can make use of one computer. A scheduling algorithm must be used to ensure processor time is shared fairly between their tasks.

34
Q

What is a real time OS?

A

A system designed to perform a task within a guaranteed time frame. This is used in time-critical computer systems such as managing control rods or self driving cars.

35
Q

What does BIOS stand for?

A

Basic Input Output System

36
Q

What is the BIOS and what does it do?

A

The first program that runs when a computer is switched on. It performs various tests before loading the operating system into memory.

37
Q

What 3 tasks is the BIOS responsible for?

A

POST (Power on self test) - Ensures all hardware is connected and functional.

Checks the CPU clock, memory and processor is operational

Tells the bootloader/bootstrap program to load the OS into main memory.

37
Q

What are device drivers?

A

Computer programs which allow the operating system to communicate with hardware.

38
Q

What is a virtual machine?

A

A software implementation of a computer system that provides an environment with a translator to execute intermediate code.

39
Q

What is intermediate code?

A

Code that is halfway between machine code and object code but is still independent of computer architecture.

40
Q

What is the main use of virtual machines?

A

Provide a development environment for programmers to test programs on different operating systems.

41
Q

What is the advantage of this?

A

Saves time and money on having to purchase multiple devices and operating systems just to test software’s compatibility.

42
Q

What is the disadvantage of this?

A

Running intermediate code on a virtual machine is much slower than running the machine code on the real device so the program’s performance in testing may be slow/inaccurate.

43
Q

What are some other uses of virtual machines?

A

Protection from malware as it will only impact the virtual machine, not the real device.

Running software that is incompatible with the computer architecture/hardware.