1.2.1 Systems Software

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

1/42

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

43 Terms

1
New cards

Functions of an operating system?

  • provide user interface (CLI or GUI)

  • controls hardware (device drivers,I/O control)

  • platform on which software can run

  • security & protection (user authentication,access control)

  • memory management (virtual memory,paging,memory allocation & deallocation

  • file management (creating,deleting,editing,access control)

  • network management (communication devices on a network)

  • process management (scheduling,process creation & termination)

  • utility software (maintain hardware e.g. disk clen,backup etc.)

2
New cards

Mnemonic to remember functions of an operating system?

umbrellas create protection shielding many from nasty puddles underfoot

3
New cards

What does memory management do?

organise use of main memory by partitioning,allocating and reallocating memory

4
New cards

What does memory management allow?

  • programs larger than main memory to run

  • separate processes to run simultaneously

5
New cards

How does memory management ensure that no space is wasted?

by converting logical addresses (virtual) into physical addresses (on hardware)

6
New cards

What does memory management protect the OS and programs from?

accessing each other’s memory unless required

7
New cards

What does paging do?

partitions memory into fixed sized physical divisions (pages) made to fit sections of memory

(doesn’t care about splitting up programs that need to be together just splits wherever will fit in memory)

8
New cards

What does segmentation do ?

partitions memory into variable sized logical divisions which hold complete sections of programs

(split in different sizes and considers programs need to stay together)

9
New cards

What are similarities between paging and segmentation?

  • use virtual memory to swap parts of programs

  • allow programs larger than memory to run

  • allows programs to be stored non contiguously in memory (blocks not consistent)

  • both ways of partitioning memory

  • may cause disk threshing if more time is spent swapping pages than processing

10
New cards

What is virtual memory’s role in memory management?

holds parts of programs that are not currently in use

11
New cards

What are features of virtual memory in terms of memory management?

  • allow large programs to run when there is insufficient memory

  • uses backing store (hardware storage) as additional memory

  • swaps pages between RAM and backing store to make space for pages needed

12
New cards

What is an interrupt?

signal to processor causes break to execution of current routine to obtain processor time

13
New cards

What does an interrup indicate?

process/device needs servicing for a higher priority task to avoid delays, data loss & use the processor efficiently

(most urgent task performed first)

14
New cards

Describe an interrupt service routine (ISR)?

  1. check interrupt register & compare priority

    • if low/equal priority current tasks continues

    • if higher priority CPU completes current FDE then…

  2. contents of registers copied into LIFO stack stored in memory

  3. the location of the appropriate ISR is copied into PC

15
New cards

What happens when the ISR is completed?

  • flags reset to inactive status

  • further interrupts checked & serviced if needed

  • previous contents popped from stack and copied into registers to resume processing

16
New cards

What is a scheduler?

a program that manages amount of time processes have in the CPU

17
New cards

Roles of the scheduler?

  • process max. amount of jobs in least amount of time

  • maximise users w/ fast response times & no apparent delay

  • utilises resources & processor time efficiently depending on priorities

18
New cards

What does preemptive mean?

current process can be interrupted if higher priority task enters the queue

19
New cards

What does non-preemptive mean?

process can’t be interrupted until it completes/burst time is over

20
New cards

What is burst time?

total time process takes to complete its execution

21
New cards

What are the 5 five scheduling algorithms?

  • Round Robin (RR)

  • First Come First Serve (FCFS)

  • Multilevel Feedback Queues (MLFQ)

  • Shortest Job First (SJF)

  • Shortest Time Remaining (STR)

22
New cards

What is the mnemonic to remember scheduling algorithms?

Roaring Flames Make Spectacular Sounds

23
New cards

Describe Round Robin (RR)?

  • preemptive

  • each process is given a small time slice

  • after time is over it is put back into the ready queue

24
New cards

Describe First Come First Serve (FCFS)?

  • non - preemptive

  • jobs processed in order of arrival

  • fist job = first in running state

25
New cards

Describe Multi Level Feedback Queues (MLFQ)?

  • preemptive

  • multiple queues w/ different priorities

  • jobs able to move between queues as priorities change

26
New cards

Describe Shortest Job First (SJF)?

  • non - preemptive

  • picks job w/ shortest time ad runs until finished

27
New cards

Describe Shortest Time Remaining (STR)?

  • preemptive

  • scheduler estimates length of each process

  • picks one w/ least amount of time & runs it

  • if job added w/ shorter time it switches to that one

28
New cards

What are the 5 types of operating systems?

  • distributed

  • embedded

  • multi tasking

  • multi user

  • real time

29
New cards

Word to remember types of OS?

DERMM

30
New cards

Describe a distributed OS

shares processing & data between multiple computers to work together as a single system

31
New cards

Describe an embedded OS

built into a device w/ limited resources

32
New cards

Describe a multitasking OS

  • runs multiple programs apparently simultaneously using separate windows for each task

  • each receive a slice of processor time before going onto next task

  • user can switch between programs

33
New cards

Describe a multi user OS

  • one computer w/ multiple terminals each given a small time slice in turn

  • allows multiple users to access computer resources simultaneously using flags, priorities & separating user and data rights

34
New cards

Describe a real time OS

  • data processed immediately

  • no delay guaranteeing response within a given time frame

35
New cards

What does BIOS stand for?

Basic Input Output System

36
New cards

What does the BIOS do to start up the computer?

  • contains the computer start up instructions

  • loads settings

  • checks hardware/peripheral devices are available and reports errors

  • loads the operating system

37
New cards

What is a device driver?

  • piece of software

  • instructions to enable peripherals & OS to communicate & configure hardware

38
New cards

What is a virtual machine?

theoretical computer that provides an environment where a translator is available

39
New cards

What are the features of a virtual machine?

  • uses interpreter to run intermediate code

  • slower than compiler & has limited access to low level features (e.g. GPU access)

  • used to test program compatibility - run an OS inside another OS

40
New cards

What is intermediate code?

partly translated simplified code produced by compiler (between high level and machine code)

41
New cards

Where can intermediate code run and what does it improve?

  • on any computer using an interpreter

  • improves portability between machines

42
New cards

What are positives of intermediate code?

  • improves portability between machines

  • same code can be obtained from different high level languages

  • allows sections of code to be written in different languages by different programmers

  • suitable for specific tasks - as is error free & protects intellectual property

43
New cards

What is a negative of intermediate code?

needs translation and additional software to run so slower than executable code