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 operating systems provide (management)?

A

Memory, resource, file, i/o, interrupt.

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

What do operating systems provide (non-management)?

A

Utility software
Security
User interface

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

What is paging?

A

Partitioning memory into fixed size sections.
Uses physical divisions.
Swapped in and out of virtual memory.

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

What is segmentation?

A

Splitting memory into logical divisions which vary in size.

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

What is virtual memory?

A

Virtual memory uses a section of the hard drive to act as RAM when the space in main
memory is insufficient to store programs being used. Sections of programs that are not
currently in use are temporarily moved into virtual memory through paging, freeing up
memory for other programs in RAM.

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

What is the issue with memory management techniques?

A

Disk thrashing. This is when the
computer ‘freezes’ and occurs as a result of pages being swapped too frequently between
the hard disk and main memory.
As a result, more time is spent transferring these pages
between main memory and the hard disk then is spent actually running the program.
This
issue becomes progressively worse as virtual memory is filled up.

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

What are interrupts?

A

Interrupts are 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
9
Q

How are interrupts stored?

A

Interrupts are stored in order of their priority within an abstract data
structure called a priority queue in a special register known as an interrupt register

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

Give two examples of an interrupt.

A

A printer signalling

the completion of a print job or a peripheral signalling power failure.

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

How is an ISR started?

A

End of FDE cycle, processor checks IR
If an interrupt exists that is of a higher priority to the
process being executed, the current contents of the
special purpose registers in the CPU are temporarily
transferred into a stack.
loads the appropriate interrupt service
routine (ISR) into RAM.
A flag is set to signal the ISR has begun.

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

What happens once an interrupt has been serviced?

A

The flag is reset. The interrupt queue is checked
again for further interrupts of a higher priority to the process that was originally being
executed.

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

What happens if there are more interrupts to be serviced?

A

The ISR process is repeated until all priority interrupts have
been serviced.
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.
The Fetch-Decode-Execute cycle resumes as before.

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

What is the purpose of scheduling?

A
  • Ensure all jobs receive fair processing time
  • Process as many jobs in least possible time.
  • Make efficient use of resources.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the difference between pre and not pre-emptive scheduling?

A

Pre-emptive: Jobs are made to actively stop and start by the operating system.
Not pre-emptive: Once a job is started, it is left a lone til completed.

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

How does the round robin algorithm work?

A

Each job is given a section of processor time - known as a time slice - within
which it is allowed to execute.
Once each job in the queue has used its first
time slice, the operating system again grants each job an equal slice of
processor time.
This continues until a job has been completed, at which point
it is removed from the queue.

17
Q

Pros/cons of round robin

A

Although Round Robin ensures each job is
seen to, longer jobs will take a much longer time for completion due to their
execution being inefficiently split up into multiple cycles.
This algorithm also
does not take into account job priority.

18
Q

Describe the first come first served algorithm.

A

Jobs are processed in chronological order by which they entered the queue.
Although this is straightforward to implement, FCFS again does not allocate
processor time based on priority.
Once a job starts it stops others being processed

19
Q

Describe multilevel feedback queues.

A

This makes use of multiple queues, each which is ordered based on a
different priority.
This can be difficult to implement due to deciding which job to prioritise
based on a combination of priorities.

20
Q

How does the shortest job first algorithm work (where is it most suitable)?

A

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.
This type of scheduling is most suited to batch systems, where shorter jobs
are given preference to minimise waiting time.

21
Q

What is the danger with shortest job first?

A

It requires the processor to know or
calculate how long each job will take and this
is not always possible. There is also a risk of
processor starvation if short jobs continue
being added to the job queue.

22
Q

What is the shortest remaining time algorithm?

A

The queue storing jobs to be processed is
ordered according to the time left for
completion, with the jobs with the least
time to completion being serviced first.
Again, there is a risk of processor starvation for longer jobs if short jobs are
added to the job queue.

23
Q

What is a distributed operating system?

A

This is a type of operating system which is run across multiple devices,
allowing the load to be spread across multiple computer processors when a
task is run.

24
Q

What is an embedded operating system?

A

Built to perform a small range of specific tasks,
this operating system is catered towards a
specific device.
They are limited in their
functionality and hard to update although they
consume significantly less power than other
types of OS.

25
Q

What is a multi-tasking operating system?

A

Multi-tasking operating systems enable the user to carry out tasks seemingly
simultaneously.
This is done by using time slicing to switch quickly between
programs and applications in memory.

26
Q

What is a multi-user operating system?

A

Multiple users make use of one computer, typically a supercomputer, within a
multi-user system.
Therefore a scheduling algorithm must be used to ensure
processor time is shared fairly between jobs. Without a suitable scheduling
algorithm, there is a risk of processor starvation, which is when a process is
not given adequate processor time to execute and complete.

27
Q

What is a real-time operating system?

A

Commonly used in time-critical computer systems, a real time OS is
designed to perform a task within a guaranteed time frame.

28
Q

What is the BIOS?

A

It is the first program that runs when a computer system is
switched on, critical to the computer system as it is only
after these checks are completed that the operating system
can be loaded into RAM from the hard disk.

29
Q

What 3 checks does a BIOS do?

A
  • POST (Power-on self test) which ensures that all
    hardware (keyboards, disk drives) are correctly
    connected and functional
  • Checking the CPU clock, memory and processor is
    operational
  • Testing for external memory devices connected to
    the computer
30
Q

What is the bootstrap?

A

The name given to the program loading the OS from the hard disk into main memory.

31
Q

What are device drivers?

A

Device drivers are computer programs which are provided by the operating system and
allow the operating system to interact with hardware.
They are specific to the computer’s architecture and operating system.

32
Q

What is a virtual machine?

A

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

33
Q

What is intermediate code?

A

Code that is halfway between machine code and object code is called intermediate code.
This is independent of the processor architecture so can be used across different
machines and operating systems.

34
Q

When are virtual machines commonly used?

A

To create a development environment for
programmers to test programs on different operating systems.
The advantage of this is
that it saves both the time and money of having to purchase multiple devices solely for
testing.
However, running intermediate code in a virtual machine can also be considerably
slower compared to running low-level code on the device it was designed for.

35
Q

How can virtual machines be used to protect from malware?

A

Malware will affect the virtual machine rather than the device being used.

36
Q

How can virtual machines be used when running incompatible software?

A

Programs specific to different operating systems or different versions of an
operating system can be run within a VM, saving time and money required
to purchase the hardware.
A common example is of games consoles being implemented on PCs via a
virtual machine.

37
Q

Why is memory management important?

A

It allocates memory and protects programs from each other.

It allows programs larger than main memory to run.