1.2.1 System Software pt 1 Flashcards

1
Q

Operating System

A

A collection of programs that interact to provide an interface between a user and the computer

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

Do you interact with the OS?

A

Only via applications

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

OS Functions

A

User interface, memory management, interrupt management, processor scheduling

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

What does a user interface do?

A

Hides the complexity of the hardware by providing an interface for the user to interact with

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

4 types of user interface

A

Graphical User Interface
Command Line Interface
Menu-based Interface
Voice Interface

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

Graphical User Interface (GUI)

A

A computer interacts with a series of graphics
e.g. iPhones
Convenient, easy to use, intuitive

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

Command Line Interface

A

The user has a command line they can use
e.g. Command window in windows OS
Text-based, more power to use more commands, can use batch processing

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

Menu-based Interface

A

The user can interact with a series of menus
e.g. ATM/PIN machine
Secure, limited functions, easy to use

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

Voice Interface

A

You interact using your voice
e.g. Amazon Alexa/ google home
Can interact anywhere, easy, hands-free

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

Paging

A
  1. Memory is divided into fixed-size chunks (pages)
  2. Each process is allocated x amount of pages - still 1 page if less than page size but may not be contiguous
  3. A page table maps logical memory and physical memory location
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Contiguous

A

Where all the memory for a process is next to each other

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

Paging advantages and disadvantages

A

+ Improves efficiency of space as data can be stored in all available space

  • A whole page may not be full with a process
  • Can increase reading time as data is separated
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Segmentation

A

Memory is divided into segments which can be of different lengths
All segments of the same process are contiguous
Could relate to part of a program

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

Segmentation advantages and disadvantages

A

+ All memory for a process is together

  • The remaining space may be smaller than the size of the segment required
  • Swapping is more difficult
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Virtual Memory

A

An area of the hard disk drive is designated as virtual memory
Some current pages are stored there if RAM is full and are swapped back in when needed

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

Swapping

A

Moving pages between RAM and Virtual Memory

17
Q

Disk Thrashing

A

Repeatedly swapping pages can slow down the computer as more time is spent swapping pages than running code

18
Q

Interrupt

A
  • A signal to the CPU that something needs dealing with
  • Can be sent by software, hardware or internal clock
  • Stored in a priority queue
19
Q

Parity Error

A

An error caused by irregular changes in data - caused by electromagnetism

20
Q

Arithmetic Overflow

A

Where the answer to the calculation is bigger than the memory space available e.g. /0

21
Q

Buffer

A

A region of memory to temporarily store data

22
Q

Interrupt cycle

A
  1. F/D/E
  2. Are there any higher priority interrupts to be processed? No- F/D/E again
  3. Push registers on memory stack
  4. Load interrupt service routine into program counter and sets a flag to show the ISR has begun
  5. F/D/E on interrupt
  6. Are there any higher priority interrupts to be processed? No- pop register data off of the stack
23
Q

How do interrupts work?

A

They have different priorities and are processed in order of priority
Interrupts can be interrupted if a new interrupt has a higher priority

24
Q

What happens if an interrupt is interrupted?

A

The registers for the interrupt are also pushed onto the stack
They are retrieved on a last-in first-out basis

25
Q

Why is scheduling needed?

A

A single-core CPU can only process instructions for one application at a time so the OS must schedule when each process uses the CPU

26
Q

Pre-emptive

A

The job that is running can be interrupted

27
Q

What is scheduling used for?

A

a) Provide an acceptable response time to all users
b) Maximise the time the CPU is fully engaged
c) To ensure fairness on a multi-user system

28
Q

Round Robin (RR)

A

Each process is allocated a maximum amount of processor time, at which stage it is put back on the ready queue
Very inefficient for long jobs
Pre-emptive

29
Q

First-come First-served (FCFS)

A

The first job to enter the ready queue is the first to enter the running state
Not pre-emptive

30
Q

Shortest remaining time (SRT)

A

The ready queue is sorted based on how long each time each process has left, with the shortest running
The time for each process only has to be estimated when it enters the queue
Pre-emptive

31
Q

Shortest job first (SJF)

A

The user estimates how long each job will take and the shortest is run to completion
Suited to batch systems
Non pre-emptive

32
Q

Multilevel Feedback Queues (MLFQ)

A
  • Multiple queues are created with different priority levels - jobs move between as their priority changes
  • Jobs move down if they have uses up a lot of CPU time or up if they haven’t been recently used
  • Pre-emptive
33
Q

Starvation

A

Where a job has to wait a long time before it gets running on the CPU

34
Q

Fragmentation

A

When memory or storage is used inefficiently, reducing capacity or performance

35
Q

Intermediate code

A

Code between machine code and object code, independent of the processor architecture. Used to create a development environment to test programs