1.2.1 Systems Software Flashcards

1
Q

What is the purpose of an operating system?

A
  • Provide an interface between the user and computer’s hardware.
  • Handles memory management, ISRs, processor scheduling and I/O.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How do paging and segmentation function, and why is memory management needed?

A
  • Paging splits memory physically into identical size pages, ready to be moved to and from storage.
  • Segmentation splits memory logically, into different size segments based on program flow.
  • Management allows programs larger than memory to run, protects programs from overwriting each other, and maps logical to physical memory addresses.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the purpose of virtual memory?

A
  • A section of secondary storage where less used programs are sent to when memory becomes full.
  • Transfer between storage and memory is very slow.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the steps of an interrupt service routine (ISR)?

A
  • At the end of an FDE cycle, check interrupt register.
  • If there is one and it is of a higher priority than the current job, dump registers into a memory stack.
  • A flag is set and an ISR is loaded into memory.
  • Once the interrupt is serviced, registers emptied from stack LIFO.
  • Continue previous job (repeat cycle).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the types of scheduling algorithm?

A
  • Pre-emptive algorithms actively start and stop jobs (MLFQ, Shortest remaining time, Round Robin).
  • Non-pre-emptive algorithms leave jobs to finish once they have begun (First come first served, shortest job first).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How do the round robin and multilevel feedback queue scheduling algorithms work?

A
  • Round robin gives each job an equal time slice and cycles through each until complete. All jobs are tended to, but long jobs will take some time.
  • Multilevel feedback queues have several queues sorted by priority. Far better performance, but much harder to implement.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How do the first come first serve, shortest job first, and least remaining time scheduling algorithms work?

A
  • First come first serve tends to jobs in chronological order. It is very simple to implement but very inefficient to the point of starvation.
  • Shortest job first handles jobs based on their overall size, reducing wait times, but requires calculations of job sizes and cannot prioritise.
  • Least remaining time handles jobs based on how long is left. Increases throughput but has no regard for priority and can cause starvation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the types of operating system?

A
  • Distributed systems run across several computers, splitting processing load.
  • Embedded systems are made for small, specific tasks. Not powerful but efficient to run.
  • Multitasking systems use time slices to give the illusion of running several programs at a time.
  • Multi-user systems have several users with their own data and settings on a single device.
  • Real-Time systems have a guaranteed response time for use in time-critical scenarios.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the purpose of the BIOS?

A
  • Performs Power-On-Self-Tests (POSTs) to ensure all hardware functions correctly (CPU clock, memory, processor).
  • Tests any external memory devices to ensure function.
  • Uses the bootstrap to load the OS into memory from storage.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the purpose of device drivers?

A
  • Programs provided by the OS that allow hardware to interact with it through requests, so the processor can handle the input.
  • Specific to the computer’s architecture and OS.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the purpose of a virtual machine?

A
  • A software implementation of a computer system within another.
  • Uses intermediate code (halfway between machine and object) that is not hardware-specific, and translators, to emulate other devices and their programs.
  • Can be used as security from malware (cannot escape VM) or for emulating incompatible software.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly