1.2.1 Systems Software

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/43

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No study sessions yet.

44 Terms

1
New cards

Operating system

The collection of programs that work together to provide an interface between the user and computer

2
New cards

Operating system features

Memory management (paging, segmentation, virtual memory)
Resource management (scheduling)
File management
Input/Output management (device drivers)
Interrupt management
Utility software (disk defragmenter, backup, formatting)
Security (firewall)
User interface

3
New cards

Paging

Memory is split up into equal sized sections (pages) that then allows data to be swapped between main memory and the hard disk as needed

4
New cards

Segmentation

Splitting up memory into logical sized divisions (segments) that vary in size

5
New cards

Virtual memory

Uses a section of the hard drive to act as RAM when the space in main memory is insufficient. Programs that are not currently in use are temporarily moved into virtual memory

6
New cards

What is the issue with paging, segmentation and virtual memory?

They cause disk thrashing

7
New cards

What is disk thrashing?

When pages are being swapped too frequently between the hard disk and main memory, more time is being spent transferring the pages than running the program. This results in the computer freezing.

8
New cards

Interrupts

Signals generated by software or hardware to indicate to the processor that a process needs attention.

9
New cards

Where are interrupts stored?

In the interrupt register, organised in order of their priority within an abstract data structure called a priority queue

10
New cards

Interrupt Service Routine

The processor checks the contents of the interrupt register at the end of each FDE cycle
If an interrupt exists that is of higher priority to the process being executed, the current contents of the registers in the CPU are temporarily transferred into a stack
The processor responds to the interrupt by loading the appropriate interrupt service routine into RAM. A flag is set to signal the ISR has begun.

11
New cards

What happens once the interrupt has been serviced?

The interrupt queue is checked again for any other interrupts that are of a higher priority than the original process being executed. The ISR is repeated until all priority interrupts have been serviced. The contents of the stack are then transferred back to the registers and the FDE cycle resumes.

12
New cards

Scheduling

Ensures all sections of programs being run receive a fair amount of processing time

13
New cards

Pre-emptive

Jobs are actively made to start and stop by the operating system
e.g. Multilevel Feedback Queues, Shortest Remaining Time, Round Robin

14
New cards

Non pre-emptive

Once a job is started, it is left alone until it is completed
e.g. First Come First Serve, Shortest Job First

15
New cards

Round Robin

Each job is given a time slice of processor time within which it is allowed to execute
Once each job in the queue has used its first time slice, the OS again grants each job an equal slice of processor time
This continues until a job has been completed

16
New cards

Advantages of round robin

Ensures each job is seen to

17
New cards

Disadvantages of round robin

  • Longer jobs will take much longer for completion

  • jobs are inefficiently split up

  • Does not take into account job priority

18
New cards

First come first served

Jobs are processed in chronological order by which they entered the queue

19
New cards

Advantages of first come first served

Straightforward to implement

20
New cards

Disadvantages of first come first served

Does not allocate processor time based on priority

21
New cards

Multilevel feedback queues

Makes use of multiple queues, each of which is ordered based on a different priority

22
New cards

Advantages of multilevel feedback queues

Allocates processor time based on priority

23
New cards

Disadvantages of multilevel feedback queues

Difficult to implement due to deciding which jobs to prioritise

24
New cards

Shortest job first

The queue storing jobs to be processed is ordered according to the time required for completion, with the longest jobs being serviced at the end. Most suited to batch systems, where you need to minimise waiting time.

25
New cards

Advantages of shortest job first

Minimises waiting time for shorter jobs.

26
New cards

Disadvantages of shortest job first

Requires the processor to calculate how long each job will take which is not always possible
Risk of processor starvation

27
New cards

Shortest remaining time

The queue storing jobs to be processed is ordered according to the time left for completion, with the least time to completion being serviced first

28
New cards

Advantages of shortest remaining time

Reduces waiting time

29
New cards

Disadvantages of shortest remaining time

Risk of processor starvation

30
New cards

Processor starvation

When a particular process does not receive enough processor time in order to execute and be completed

31
New cards

Distributed Operating System

Runs across multiple devices, allowing the load to spread across multiple computer processors

32
New cards

Embedded Operating System

Performs a small range of specific tasks, limited functionality although they consume significantly less power

33
New cards

Multi-tasking Operating System

Enables the user to carry out tasks seemingly simultaneously by using time slicing to quickly switch between programs and applications in memory

34
New cards

Multi-user Operating System

Multiple users use one computer with a multi-user system. Therefore a scheduling algorithm must be used to determine ensure processor time is shared fairly between jobs otherwise there is risk of processor starvation

35
New cards

Real Time Operating System

Used in time-critical computer systems, designed to perform a task within a guaranteed time frame. Often used for scientific purposes

36
New cards

BIOS - Basic Input Output System

The first program that runs when a computer is switched on. PC always points to the BIOS upon start-up.

37
New cards

Key tests BIOS runs before the operating system is loaded into memory

  • POST (Power-on self test) which ensures that all hardware are correctly connected and functional

  • Checking the CPU clock, memory and processor is operational

  • Testing for external memory devices connected to the computer

This all happens before the OS is loaded into RAM from the hard disk

38
New cards

Bootstrap

The program that loads the operating system from the hard disk into main memory

39
New cards

Device drivers

Allow the operating system to interact with hardware

When a piece of hardware is used, the device driver communicates any requests to the OS to produce the relevant output

They are specific to the device, the computer architecture and the operating system

40
New cards

Virtual machine

A theoretical computer that is a software implementation of a computer system. It provides an environment with a translator for intermediate code to run

41
New cards

Intermediate code

Code that is halfway between machine code and object code. It is standardised across operating systems

42
New cards

What are virtual machines used for?

  • To create a development environment for programmers to test programs on different operating systems

  • Protection from malware as it is contained in the virtual machine rather than affecting the device being used

  • To simulate a different operating system than the native one and run incompatible software without needing to purchase extra hardware

43
New cards

Advantages of developing with virtual machines

Saves both time and money on needing to purchase multiple devices to test programs

44
New cards

Dusadvantages of developing with virtual machines

Running intermediate code on a vm can be considerably slower than running low level code on the device it was designed for