1.2.1: Systems Software Flashcards

1
Q

What is an Operating System?

A
  • A collection of programs that work together to provide an interface between the user and computer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What do the programs in an Operating System do?

A
  • Enable the user to communicate with the computer and perform certain low-level tasks involving the management of computer memory and resources
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Where are Operating Systems needed?

A
  • Essential in devices such as laptops, mobile phones, and games consoles
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does the Operating System provide?

A
  • Memory Management (Paging, Segmentation, Virtual Memory): Determining and allocating the length of processor time each task receives
  • Resource Management (Scheduling)
  • File Management (Moving, Editing, Deleting)
  • Input/Output Management (Device Drivers)
  • Interrupt Management
  • Utility Software (Disk Defragmenter, Backup, Formatting)
  • Security (Firewall)
  • User Interface
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Why is Memory Management needed?

A
  • Computer memory must be shared fairly between multiple programs and applications being used
  • Often main memory is not large enough to store all the programs being used
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Paging?

A
  • When memory is split up into equal - sized (Commonly 4 KB) pages, with programs being made up of a certain number of equally sized pages
  • Pages can be swapped between main memory and hard disc as needed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Segmentation?

A
  • The splitting up of memory into logical sized segments that vary in size
  • Segments are representative of the structure and logical flow of the program, with segments being allocated to blocks of code such as conditional statements or loops
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the similarities between Paging and Segmentation?

A
  • Both allow programs to run despite insufficient memory
  • Pages and Segments are stored on disk
  • Pages and Segments are transferred into memory when needed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the differences between Paging and Segmentation?

A
  • Pages are fixed sizes: Segments are different sizes
  • Pages are made to fit sections of memory: Segments are complete sections of programs
  • Pages are physical divisions: Segments are logical divisions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Virtual Memory?

A
  • A section of the hard drive set up to act as RAM when there is not enough physical RAM to store open programs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How does Virtual Memory work?

A
  • Programs are transferred out to VM from the RAM when they are not currently in use
  • Programs are transferred back into RAM from VM when they are needed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are Interrupts?

A
  • Signals generated by software or hardware to indicate to the processor that a process needs attention
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How are Interrupts stored?

A
  • Different types of interrupts have different types of priorities: How urgent they are must be taken into account by the OS when allocating processor time
  • Interrupts are stored in order of their priority with an abstract data structure called a Priority Queue in an Interrupt Register
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How are Interrupts carried out?

A
  • It is the job of the OS to ensure interrupts are serviced fairly by the processor through the Interrupt Service Routine (ISR)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the first stage of the Interrupt Service Routine?

A
  • The processor checks the contents of the Interrupt Register at the end of each FDE cycle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the second stage of the Interrupt Service Routine?

A
  • If an interrupt exists that is of higher priority to the process being executed, the current contents of the special purpose registers in the CPU are temporarily transferred into a stack
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the third stage of the Interrupt Service Routine?

A
  • The processor responds to the interrupt by loading the appropriate ISR into RAM: A flag is set to signal that the ISR has begun
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the fourth stage of the Interrupt Service Routine?

A
  • Once the interrupt has been serviced the flag is reset
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is the fifth stage of the Interrupt Service Routine?

A
  • The interrupt queue is checked again for further interrupts of a higher priority to the process that was originally executed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is the sixth stage of the Interrupt Service Routine?

A
  • If there are more interrupts to be serviced, the process is repeated until all priority interrupts have been serviced
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is the seventh stage of the Interrupt Service Routine?

A
  • If there are no more interrupts or interrupts are of a lower priority to the current process, the contents of the stack are transferred back into the registers in memory and the FDE cycle resumes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is Shortest Time Remaining (SRT) Scheduling?

A
  • Pre-emptive
  • The ready queue is sorted by estimated completion time
  • Processes that arrive with a shorter completion time than the current running process are moved to the running state
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is a risk of Shortest Remaining Time (SRT) Scheduling?

A
  • Processor starvation (When a process does not receive enough time in order to execute and be completed) for longer jobs if short jobs are added to the job queue
24
Q

What is Round Robin (RR) Scheduling?

A
  • Pre-emptive
  • Each process is given a maximum length of processor time (time slice) in the running state, after which it is put back into the ready queue
25
Q

What are the disadvantages of Round Robin (RR) Scheduling?

A
  • Longer jobs will take much longer to complete due to their execution being inefficiently split up into multiple cycles
  • Algorithm does not take into account job priority
26
Q

What is Multi-Level Feedback Queues (MLFQ) Scheduling?

A
  • Pre-emptive
  • Several ready queues are used, each with a different scheduling algorithm
  • Jobs can move between queues as their priorities change
27
Q

What is a disadvantage of Multi-Level Feedback Queues (MLFQ) Scheduling?

A
  • Can be difficult to implement due to deciding which job to prioritise based on a combination of priorities
28
Q

What is First Come First Serve (FCFS) Scheduling?

A
  • Non pre-emptive
  • The first job to enter the queue is the first job to enter the running state
  • Straightforward to implement
29
Q

What is a disadvantage of First Come First Serve (FCFS) Scheduling?

A
  • Do not allocate processor time based on priority
30
Q

What is Shortest Job First (SJF) Scheduling?

A
  • Non pre-emptive
  • Jobs are sorted in the ready queue according to the estimated processor time needed
  • Usually suited to batch systems, where shorter jobs are given preference to minimise waiting time
31
Q

What are the disadvantages of Shortest Job First (SJF) Scheduling?

A
  • Processor starvation (When a process does not receive enough time in order to execute and be completed) for longer jobs if short jobs are added to the job queue
  • Requires the processor to know or calculate how long each job will take (not always possible)
32
Q

What is Scheduling?

A
  • Ensuring all sections of programs being run (‘Jobs’) receive a fair amount of processing time
33
Q

What does Pre-emptive mean?

A
  • Jobs are actively made to start and stop by the OS
  • Examples: MLFQ, SRT, RR
34
Q

What does Non pre-emptive mean?

A
  • Once a job is started, it is left alone until it is completed
  • Examples: FCFS, SJF
35
Q

What is a Distributed Operating System?

A
  • An OS that is run across multiple devices, allowing the load to be spread across multiple computer processor when a task is run
35
Q

What is an Embedded Operating System?

A
  • Catered towards a specific device
  • Built to perform a small range of specific tasks
36
Q

What is a disadvantage of an Embedded Operating System?

A
  • Limited in functionality and hard to update although they consume significantly less power than other OS types
37
Q

What is a Multi-Tasking Operating System?

A
  • Enable the user to carry out tasks seemingly simultaneously via time slicing to switch quickly between programs and applications in memory
38
Q

What is a Multi-User Operating System?

A
  • Multiple users make use of one computer, typically a supercomputer
  • Within a Multi-User System, a scheduling algorithm must be used to ensure processor time is shared fairly between jobs
39
Q

What is a disadvantage of a Multi-User Operating System?

A
  • Without a suitable scheduling algorithm, there is a risk of processor starvation
40
Q

What is a Real Time Operating System?

A
  • Commonly used in time-critical computer systems that are designed to perform a task within a guaranteed time frame
41
Q

What are examples of where a Real Time Operating System would be used?

A
  • The management of control rods at a nuclear power station
  • Within self-driving cars
  • Any situation where a response within a certain time period is crucial to safety
42
Q

What is the Basic Input Output System (BIOS)?

A
  • First program that runs when a computer system is switched on
43
Q

How is the Basic Input Output System loaded?

A
  • The PC register points to the location of the BIOS upon each start-up of the computer as the BIOS is responsible for running various key tests before the OS is loaded into memory
  • The BIOS is critical to the computer system and only after the checks are completed that the OS can be loaded into RAM from the hard disc
44
Q

What key tests is the BIOS responsible for running before the OS is loaded into memory?

A
  • Power On Self Test (POST): Ensures that all hardware (Keyboards, Disc Drives) are correctly connected and functional
  • Checking the CPU Clock, Memory, and Processor is operational
  • Testing for external memory devices connected to the computer
45
Q

What are Device Drivers?

A
  • Computer programs provided by the OS and allow the OS to interact with hardware
46
Q

When is a Device Driver used?

A
  • When a piece of hardware, such as a keyboard, is used, the Device Driver communicates the request to the OS, which can then produce the relevant output of displaying the letter on screen
47
Q

What Device Drivers are used where?

A
  • Device Drivers are specific to the computer’s architecture, so different Drivers must be used for different device types such as smartphones, games consoles, and desktop PCs
  • As Drivers interact with the OS, they are also specific to the OS installed on the device
48
Q

What is a Virtual Machine?

A
  • Any instance where software is used to take on the function of a machine, including executing intermediate code or running an OS within another
49
Q

What does a Virtual Machine allow for?

A
  • The creation of a ‘theoretical computer’ in that it is a software implementation of a computer system, providing an environment for Intermediate Code to run
50
Q

What is Intermediate Code?

A
  • Code that is halfway between machine code and object code
  • Independent of processor architecture so can be used across different machines and OS
51
Q

What are Virtual Machines commonly used for?

A
  • To create a development environment for programmers to test programs on different OS
52
Q

What is an advantage of testing programs on Virtual Machines?

A
  • Saves time and money of having to purchase multiple devices solely for testing
53
Q

What is a disadvantage of testing programs on Virtual Machines?

A
  • Running intermediate code in a Virtual Machine can be considerably slower to running low-level code on the device it was designed for
54
Q

What other uses are there of Virtual Machines?

A
  • Protection from malware: Malware will affect the Virtual Machine rather than the device being used
  • Running incompatible software: Programs specific to different OS or different versions of an OS can be run with a VM
    Example: Games consoles being implemented on PCs via a VM