Systems Software Flashcards

1
Q

What is the role of an Operating System?

A

The operating system acts as an interface between the hardware and software.

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

What is the kernel?

A

The kernel is part of the OS that is responsible for the most low-level hardware operations (e.g: managing CPU, memory devices, etc)

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

What are the 4 main functions of an OS?

A
  • User Interface
  • Memory Management
  • Peripheral Management
  • Multitasking
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Why is memory management necessary?

A
  • Allows programs larger than memory to run
  • Protects programs from overwriting each other
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the two main methods for an OS to manage memory?

A

Memory Paging and Memory Segmentation

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

What is memory paging?

A

Data is split up physically into equally-sized pages and placed in non-contiguous memory spots.

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

How does the OS know where to locate specific memory pages?

A

Given an address, the Operating System(OS)/Memory Management Unit(MMU) translates it to a primary memory location.

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

What is memory segmentation?

A

Memory is split up logically into modules/functions, and are placed in non-contiguous memory locations.

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

What is virtual memory?

A

Using secondary storage as a temporary store when RAM is full. Programs/data not in use are moved to and from virtual memory via paging.

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

What is an issue with paging/segmentation/virtual memory?

A

Disk thrashing is when pages are swapped between virtual memory and RAM too much, and less time is spent actually running programs.

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

What is a Distributed OS?

A

A distributed OS coordinates multiple computers to act as one or to contribute resources to a task.

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

What is an Embedded OS?

A

An embedded OS is designed for specific hardware/functions, typically can’t be changed, and uses the device hardware/power efficiently.

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

What are the five main types of OS?

A
  • Distributed OS
  • Embedded OS
  • Multi-Tasking OS
  • Multi-User OS
  • Real-Time OS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a Multi-User OS?

A

Allows multiple users to use the computer at the same time. Typically found in servers, but must use a scheduling algorithm so users get enough CPU time.

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

What is a Multi-Tasking OS?

A

Makes it seem as though processes are done in parallel by giving different processes different amounts of CPU time and quickly going through them. Used in most PCs.

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

What is an interrupt?

A

A signal is generated by software or hardware to indicate to the processor that a process needs attention.

15
Q

What is a Real-Time OS?

A

A real-time OS is designed to process certain data within a guaranteed time frame, and is found in time-sensitive systems like self-driving cars.

They typically have fail-safe features such as backup hardware.

15
Q

Why does an OS need scheduling?

A

The OS needs scheduling so that processes are given a fair amount of CPU time, and appear to be operating in parallel.

16
Q

What is the Interrupt Service Routine?

A

When the CPU receives an interrupt, the ISR will evaluate the interrupt’s importance, storing it in a queue or servicing it if need be.

17
Q

What are the 5 main scheduling algorithms?

A
  • Round Robin
  • First Come, First Serve
  • Shortest Job First
  • Shortest Remaining Time First
  • Multi-level Feedback Queue
18
Q

What is the Round Robin algorithm?

A

Each job is given an equal amount of CPU time, and if not finished, is sent to the back of the queue.

19
Q

What is the First Come, First Serve algorithm?

A

The first task is the queue is completely processed, then the second, etc.

20
Q

What is the Shortest Job First algorithm?

A

The shortest job in the queue is given priority. The current job is completed fully even if a shorter job now exists.

21
Q

What is the Shortest Remaining Time algorithm?

A

The job with the least amount of time left before it MUST be finished is given priority. Jobs that don’t need to be done immediately are given low priority.

21
Q

What is the Multi-level Feedback Queue?

A

The OS makes use of multiple queues, each with different functions/priorities (e.g.: peripheral queue) that the CPU can schedule separately to ensure CPU time is used efficiently.

22
Q

What is the BIOS?

A

The Basic Input Output System is the program first run upon powering on a computer before the OS is loaded.

22
Q

What problem may arise from certain scheduling algorithms?

A

Some algorithms can lead to process starvation, where certain jobs are never processed.

23
Q

What is the role of the BIOS?

A

The BIOS has a Power-On Self-Test (POST) that ensures all hardware is connected and functioning, and checks if the CPU and external memory are functional.

24
Q

What is a device driver, and why are they needed?

A

A driver is a piece of software for a piece of hardware that allows it to communicate with the operating system.

25
Q

What is a virtual machine?

A

A virtual machine is software that emulates a computer/operating system within a computer.

26
Q

What is intermediate code and why is it good?

A

Intermediate code is portable, partially translated code that can run across devices and operating systems and is used in virtual machines. It is slightly slower than running compiled code tho.

27
Q

What are the common uses of virtual machines? [4]

A
  • Can be used by programmers to test code across devices/OSs
  • Multiple VMs can be run off of one physical computer, giving the illusion of having multiple PCs
  • VMs can be used to emulate certain devices like consoles
  • Malware will affect the VM and not the host PC.
28
Q

What is a buffer and why does the OS need it?

A

The buffer is a small partition of secondary storage that the OS uses to manage slow peripheral operations more efficiently.

29
Q

What is spooling?

A

Spooling is where peripheral requests are added to a queue/buffer, with each request being seen in turn, so that the CPU is free to deal with other requests.