1.2.1 - Systems Software Flashcards

1
Q

What is the primary purpose of an operating system?

A

To manage the hardware and provide a user interface.

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

What other tasks are operating systems in charge of?

A
  • File management
  • Memory management
  • Device drivers
  • Multiple users
  • Interrupt handling
  • Application software.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is multitasking?

A

When more than one program is currently running.

This means that the operating system has to allocate time for each program and quickly cycles between each program, so quickly that it appears as the programs are running at the same time.

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

How does the user interface provided by the OS work?

A

The user interface is made up of interactable Windows, Icons, Menus and Pointers (WIMP) which allow the user to interact with the operating system and carry out any task.

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

What are the main differences between paging and segmentation in main memory?

A

Paging: Pages are all equal size and programs can be made up of multiple of these pages. Pages are PHYSICAL divisions of main memory.

Segmentation: Segments are different sizes and are complete sections of programs. They are LOGICAL divisions in main memory so if a program is too big to fit into one space, it can be divided into parts and placed in the available slots.

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

How does virtual memory work?

A
  • If main memory is full, program B is loaded into secondary storage and when needed, program A in main memory that is not being used right now is replaced by the program B which was in secondary storage.
  • Remember that since it takes time to move the programs from main memory to secondary and back, using virtual memory can significantly decrease performance!
    -Needs free secondary storage
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How are interrupts handled?

A

When the CPU fetches decodes and executes, after executing it checks for interrupts as well. When an interrupt is raised by the CPU, the processor must stop what it is doing in order to deal with this problem so the interrupt service routine is run.

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

What is the interrupt service routine?

A

It is a set of instructions that need to be followed in order to carry out the interrupt’s instructions. This means that the program counter must be changed to the address of the instructions in the interrupt.

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

What happens when the interrupt is complete?

A

When an interrupt is received, the values held in the registers are copied onto a stack for later use and when the interrupt is complete, the values are popped out of the stack to be used and to continue executing the program which was stopped in order to deal with the interrupt.

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

What are examples of interrupts?

A
  • Input by the user such as keyboard and mouse input
  • Errors such as overflow and instruction failure
  • Power button is pressed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is scheduling?

A

This is a method used by multitasking operating systems in order to carry out multiple tasks “at the same time”.

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

How does scheduling work?

A

A scheduler manages what programs to execute next and for how long. This scheduler uses a ready queue where programs and instructions line up to be executed by the CPU.

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

Scheduling - First Come First Serve

A

Processed are executed in the order in which they arrive and for as long as they need so the programs further back in the queue will have to wait longer for the ones in front to finish executing.

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

Scheduling - Shortest Job First

A

Processes are queued in order of shortest time. Processes that take the shortest time are placed at the front and processes which take the longest are placed at the back.

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

Scheduling - Round Robin

A

Every process is given a time slice (or quantum) so each process has the same time in the CPU and if the process needs longer, it is placed to wait at the back of the queue.

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

Scheduling - Shortest Remaining Time

A

Similar to Shortest Job First but is a pre-emptive algorithm which means that processes can be suspended when a higher priority one joins the queue, the lower priority one that was just in the CPU is suspended and goes to the back of the line while the higher priority one is being executed.

17
Q

What is process blocking in scheduling?

A

If a process requires more data, the process is blocked until that data has been fetched and delivered to the process. Once this has happened, a interrupt is generated to let the scheduler know this process is ready to join the queue again.

18
Q

How do Multi-level Feedback Queues work?

A

Instead of having one ready queue, there are multiple queues. These queues are seperated into different priorities and processes are placed in different queues based on their processing needs by the CPU. So processes which require little time in the CPU are preferred and ones that require higher processing have to wait in a waiting queue for the higher priority processes.

19
Q

Whats are the different types of operating systems?

A
  • Distributed
  • Embedded
  • Real time
  • Multi tasking
  • Multi user
20
Q

How does distributed computing work?

A

The operating system controls all the participating computers and their processing power together all to achieve a certain goal or task.

This is how DDOS attacks work too as malware infected computers can be used to send overwhelming amounts of requests to a website or service which might not be able to handle all the traffic.

21
Q

What are embedded operating systems?

A

They run on low power and low processing power CPUs with max efficiency and on dedicated hardware such as a washing machine or a microwave. They mostly have a specific function and purpose.

22
Q

What are real time operating systems?

A

They are used in environments which need maximum safety and responsiveness such as hospitals and self driving cars. They are built with extra redundancy and do not usually operate with maximum capacity in order to be able to respond to rare but critical situations which require extra processing power.

23
Q

What is the BIOS?

A

The Basic Input Output System is a set of instructions in charge of loading the operating system when the computer is turned on. It also first does a check to make sure all the hardware is working.

The BIOS is stored in ROM.

24
Q

What are device drivers?

A

Software that allows the operating system to communicate with external hardware such as a printer or a projector. It acts as a translator to translate the OS instructions to instructions that this external hardware can understand.

25
Q

What is a virtual machine?

A

This is a program that can be run on a computer to simulate the operating system for any other device.

Examples of this are emulators which can run operating systems but not on their native hardware.

26
Q

What is a virtual server?

A

This is a technique which is used to spread many virtual servers on a smaller number of physical servers and allows for better versatility when there is higher demand for the servers or for when one is not working.

27
Q

What is intermediate code?

A

This is standard code that can be run on many different programs and creates portable code.

An example of this is Java code which can be run on many devices and is translated via a Java virtual machine which can be run on the device to translate the java code into more specific machine code.