Unit 1.2.1 Systems Software Flashcards

1
Q

What are the tasks of the OS?

A
  • Managing the processor
  • Utility programs
  • Managing the memory
  • Security
  • Networking
  • Handling external peripherals
  • Providing a user interface
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is an Operating System?

A

Software that is responsible for managing the computer’s resources, process management, hardware management and other key low-level tasks.​

It controls the hardware and the software of a computer system and provides a user interface.

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

What is a page?

A

A fixed sized memory block used when assigning memory to processes.​

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

What is virtual memory?

A

An allocated area of a hard drive/secondary storage device and used when RAM is full.​

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

What is scheduling?

A

A part of the OS that assigns and manages the order and execution of processes and tasks on system resources (i.e. the CPU).

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

What is the BIOS?

A

The Basic Input Output System is responsible for loading the operating system when the computer first turns on.​

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

What is a device driver?

A

Software that tells the operating system how to communicate with a device.​

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

What is a virtual machine?

A

A program that has the same functionality as a physical computer - it can run in a window as a separate computing environment.

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

How does the OS perform multitasking?

A

The processor allocates a small amount of time to each process and cycles between them. ​

As this happens so quickly, it appears as if multiple programs are executing simultaneously.​

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

What is multitasking?

A

When there is more than one program open and they appear to be running at the same time.

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

What is file management?

A
  • Data is stored in files.​
  • An extension to the filename tells the operating system which application to load the file into.​
  • The OS may present a logical structure of files in folders and allow the user to rename, delete, copy and move files.​
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is user management?

A

The OS allowing multiple users to log into the same computer. ​

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

How does the OS manage user access?

A
  • The OS will retain settings for each user such as icons, desktop, backgrounds etc​
  • Each user may have different access rights to files and programs
  • A Client-server network may impose a fixed or roaming profile for a user and manage login requests to the network.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a user interface?

A

The means by which the user and a computer system interact, in particular the use of input devices and software.

It displays the output to the user and allows them to interact with the OS (and thus the hardware).

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

What does this diagram show about the OS?

A
  • The OS is a layer of software between applications and hardware
  • It manages open applications, multitasking and memory, as well as providing a user interface
  • It also acts as a mechanism for applications to use hardware, sending outputs to device drivers and receiving input from devices.
  • The complexity of storing, retrieving, inputting and outputting to the hardware is transparent to the user.​
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Does the user directly interact with the OS?

A

The operating system provides a user interface, but the user is interacting with applications and utilities.​

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

How does the OS manage the memory?

A
  • Loading programs
  • Reusing memory when programs close
  • Using virtual memory to compensate for a lack of RAM.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

How does the OS manage the processor?

A
  • Decides which process to execute next
  • Handles interruptions to the running process.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

How does the OS manage security?

A
  • Handling login with username and password
  • Preventing unauthorised access to files
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

How does the OS use utility programs?

A
  • File manager
  • Anti-virus
  • Encryption
  • Defragmenter
  • File compression
  • Installers
  • Clipboard manager
  • System monitor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

How does the OS provide a user interface?

A
  • Windows, icons, menus and pointers
  • Touch gestures
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

How does the OS handle external peripherals?

A
  • Dealing with I/O requests
  • Using device drivers to communicate with hardware
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

How does the OS handle networking?

A

Interfacing to other computers via cable or Wi-Fi.

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

What is memory management?

A

The OS controlling the movement of data between secondary storage and RAM, and vice versa.

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

Why would moving program D to make space for Program E be inefficient?

A
  • There is enough total free space available – it’s just not located together in a single block.​
  • But it takes a lot of time to move a program in memory or on disk, as addresses and free space references all need updating.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

What are the two methods to dividing up memory into smaller sections?

A
  • Paging
  • Segmentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What is Paging?

A
  • Physical divisions of the memory into fixed lengths of sections (pages)
  • They are made to fit sections of memory.​
  • Programs are split up to fit into a given number of pages.​

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

What is Segmentation?

A
  • Dividing memory into segments of complete sections of code.
  • Segments are logical divisions.​
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

What are the similarities of paging and segmentation?

A
  • Both allow programs to run despite inefficient memory
  • Pages and segments are stored on disk
  • Pages and segments are separated into segments when needed.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What are the differences between paging and segmentation?

A
  • Pages are fixed sizes and segments are at variable length.
  • Pages are made to fit sections of memory, and segments are complete segments of programs
  • Pages are physical divisions but segments are logical divisions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Why could paging be inefficient?

A
  • Paging takes no account of how it splits the program into fixed-sized pages.
  • It could separate the instructions inside a looping condition so they are in different pages which would be inefficient.
  • It would be better to keep those instructions together in memory.​
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

What are the advantages of paging?

A
  • Efficient use of memory (reduces wasted space and simplifies memory management)
  • Protection and security (each page assigned its own protection level)
  • Reduced fragmentation (allocating memory in more organized manner)
  • Flexibility and Scalability (allows OS to allocate memory resources to different processes efficiently when computer demands change)
  • Virtual memory
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

What are the disadvantages of paging?

A
  • Overhead and latency (OS must constantly monitor and manage paging system)
  • Increased fragmentation on the hard drive
  • Adds a layer of complexity, so it’s harder to understand and troubleshoot + hardware determined size of page
  • Memory thrashing (when OS constantly switches pages in and out of memory)
  • Sensitive data may be stored on hard drive and vulnerable to malware software/system attackers.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

What are the advantages of segmentation?

A
  • No internal fragmentation
  • Improves CPU utilization
  • Allows for sharing memory segments between processes
  • User can determine segment size and their perception of physical memory is similar to segmentation
  • Segments can be of variable sizes and processes can have multiple segments
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

What are the disadvantages of segmentation?

A
  • Increased fragmentation on the hardware
  • Overhead and reduced performance
  • More complex to implement and manage than paging.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

What is an interrupt?

A

A signal emitted from hardware or software when a process or an event needs immediate action, serving as a request for the CPU to it suspend what it is doing and run the process associated with the interrupt.

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

Why would a device use an interrupt?

A
  • Decreases the waiting time of CPU
  • Stops the wastage of instruction cycle
  • Enables multitasking by allowing the CPU to quickly switch between different processes
  • Simplifies input/output (I/O) operations by allowing devices to communicate directly with the CPU.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Why can interrupts pose a problem to processing?

A

The processor needs to stop executing its current program to run the code for the interrupt (the ISR)

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

What is an Interrupt Service Routine (ISR)?

A

A program with a set of instructions that need to be fetched, decoded and executed to carry out the operations of the interrupt.

40
Q

Why are Interrupt service routine priorities important? ​

A

Interrupts always have a higher priorities than normal programs.

41
Q

What are 5 types of interrupts?

A
  • Hardware
  • Software
  • User
  • I/O device
  • Timer
42
Q

What are 4 examples of interrupt caused by the hardware?

A
  • Power supply failure
  • Power/reset button pressed / Power-down command
  • Memory parity error
  • Internal clock triggers suspending a running process
43
Q

What are 3 examples of interrupt caused by the software?

A
  • Illegal instruction encountered in interpreted code
  • Arithmetic overflow
  • New log-on request
44
Q

What are 3 examples of interrupt caused by the user?

A
  • Moving the mouse
  • Typing the keyboard
  • Clicking/tapping an icon to open a new program
45
Q

What are 3 examples of interrupt caused by I/O (input/output) devices?

A
  • Buffer nearly empty
  • Signals the completion of a data transfer to or from a device
  • Printer ink supply notification
46
Q

What are 3 examples of interrupt caused by the timer?

A
  • Data-logging program reading an input sensor every second
  • Screen recording application
47
Q

What is a memory parity error?

A

Within a computer system, electrical or magnetic interference from internal or external causes can cause a single bit of memory to spontaneously flip to the opposite state.

This event makes the original data bits invalid.

48
Q

What is a buffer (or data buffer)?

A

A region of a memory used to store data temporarily while it is being moved from one place to another.

49
Q

What is an arithmetic overflow?

A

The result of a calculation that exceeds the memory space designated to hold it.

50
Q

What happens in the CPU when it receives an interrupt?

A
  1. If the process is of a lower/equal priority of the current process then the current process continues.
  2. If it is of a higher priority, the CPU finishes the current CPU cycle.
  3. The contents of the CPU registers are copied to a stack in memory.
  4. The relevant ISR is loading by changing the value in the program counter to the address of the first instruction of the interrupt.
  5. When the ISR is complete, the previous contents are popped from the stack and loaded back into the registers.
51
Q

Why does the OS handle the scheduling?

A

So that the CPU always has one process to execute - reducing the CPU’s idle time and increase its utilization.

52
Q

Why do operating systems need a scheduler?

A
  • Maximize CPU utilization
  • Fair allocation of CPU time to every process
  • Increase throughput
  • Reduce the turnaround time ( the time taken to complete a process or fulfill a request)
  • Reduce the waiting time and response time
53
Q

What does a scheduler manage?

A
  • Which process to execute next
  • The length of time the next process can execute for
54
Q

What are the five different scheduling algorithms?

A
  • First Come First Serve
  • Shortest job first
  • Round Robin
  • Shortest Time Remaining
  • Multi-level Feedback Queue
55
Q

What is First Come First Serve (FCFS)?

A
  • The processes in the ready queue are executed in the order of arrival.
  • The first to enter the ready queue is first to enter the running state.
  • Not pre-emptive
56
Q

What are the advantages of FCFS?

A

+ Simple and easy to understand
+ Gives processes equal opportunities
+ Guarantees all process eventually enter the running state
+ Low scheduling over head
+ Well suited for long process / workloads without strict time constraints

57
Q

What are the disadvantages of FCFS?

A
  • Waiting time often too long
  • Favours CPU Bound process than I/O Bound Process
  • Convoy effect (other processes can only enter running state when current execution is finished)
  • Lower CPU and device utilization (because of convoy effect)
  • Troublesome for multiprogramming systems
  • If the first process has a long execution time, it results in more waiting time
58
Q

What is Shortest Job First (SJF)?

A
  • Processes that are estimated to have the shortest execution time are run first until they are complete
  • Not pre-emptive
59
Q

What are the advantages of SJF?

A

+ Shortest jobs are favoured
+ Probably optimal for minimizing waiting time of the processes

60
Q

What are the disadvantages of SJF?

A
  • May cause starvation of longer processes (solves by aging)
  • Can’t be implemented at level of short-term CPU scheduling
61
Q

What is Round Robin (RR)?

A
  • Processor time is divided in equal time slices for processes in the running state
  • If the process in the running state hasn’t finished when this processor time is up, it is set to the back of the ready queue
  • Pre-emptive
62
Q

What are the advantages of RR?

A

+ Each process gets an equal share of the CPU’s processing time
+ Cyclical in nature, so there is no starvation

63
Q

What are the disadvantages of RR?

A
  • Setting quantum too short increases overhead and lowers CPU efficiency
  • Setting quantum too long can cause a poor response to short processes
  • Average waiting time under RR policy is often too long
  • If time quantum is very high RR degrades to FCFS
64
Q

What is Shortest Time Remaining (STR)?

A
  • Processes that are estimated to have the shortest execution time are moved to the running state although they may return the ready queue before completion if a shorter job arrives.
  • Pre-emptive
65
Q

What are the advantages of STR?

A

+ Reduces number of preemptions and context switches as processes with shorter predicted completion times are given higher priority

+ Short processes return quickly and has a high yield of processes executed in a given time

66
Q

What are the disadvantages of STR?

A
  • Involves more overheads that SJF
  • Long processes may always be left in starvation if small processes are continuously added
  • inaccurate predictions can lead to poor scheduling decisions
67
Q

What is Multi-level Feedback Queue (MFQ)?

A
  • Several ready queues are added, each with a different scheduling algorithm
  • Processes are able to move between queues as priorities change
  • Preemptive
68
Q

What are the advantages of MFQ?

A

+ More flexible than MLQ as it allows different processes to move based on their behaviour and needs

+ Prevents starvation by moving a process that is waiting too long for the lower priority queue to the higher priority queue.

69
Q

What are the disadvantages of MFQ?

A
  • The most complex algorithm because of the flexibility and overheads
  • Produces more CPU overheads than MLQ
  • Selection of best scheduler requires some other means to select the values
70
Q

What does pre-emptive mean?

A

Changing the processes with lower priority from the running state to the suspended state to be put back into the ready queue to allow processes with high priority to be executed.

71
Q

What are the different types of operating systems?

A
  • Multi-tasking
  • Multi-user
  • Distributed
  • Embedded
  • Realtime
72
Q

What is a multi-tasking operating system?

A
  • A logical extension of a multiprogramming operating system, where users can run multiple programs and tasks simultaneously.
  • Without losing data, the operating system keeps track of each job and allows you to switch between jobs without allowing the data to be lost.​
73
Q

What is a multi-user operating system?

A
  • Most operating systems allow more than one person to use a computer at the same time.​

​- The computer will manage the user’s various permissions and access rights when they log on. ​

  • Server operating system software will handle requests of multiple people using different computers on a network at the same time.​
74
Q

What is a distributed operating system?

A
  • Separate computers can be joined together via network connections to work together and the data and instructions that need to be processed is split between each node (computer) in the system.
  • It controls and coordinates the communication between the computer nodes and presents them to the user as if they were a single system.​
75
Q

What is a real-time operating system?

A

An OS which can perform repeated tasks within a tight time boundary.
Plenty of redundancy is built into these systems so they can handle sudden increases in input.​
As such, processors in real-time operating systems rarely run at capacity.

76
Q

What is an embedded operating system?

A

A specialized operating system (OS) designed to perform a specific task for an embedded system (e.g. washing machine).

The main job of an embedded OS is to run the code that allows the device to achieve a specific task.

77
Q

How does an operating system multi-task?

A
  • In single-processor systems, each active program is scheduled to receive a tiny time slice in quick rotation, giving the impression they are operating at the same time. ​
  • Even modern processors with multiple cores still need to handle many processes at the same time.
78
Q

Why would a distributed operating system be used?

A

Can be useful to combine the processing power of multiple computers across a network for a single processor-intensive task.

Online shopping also use this operating system - your basket might be handled by one server while the querying of items is handled by another.​
As the system becomes busy with more user requests, additional servers might automatically join the system, load-blanching requests transparently.

79
Q

Why would real-time operating systems be used?

A

In safety-critical environments such as aircraft autopilot systems, hospital monitoring machines, self-drive cars and missile systems, processes have to be guaranteed to execute within a known time frame.​

They are designed to run critical applications reliably and with precise timing (paying attention to the programmer’s priorities).

80
Q

Why would embedded operating systems be used?

A

Processors exist in an almost limitless list of devices (e.g. washing machines, set-top boxes, TVs etc).

​Embedded operating systems tend to run on dedicated hardware so they run with maximum efficiency, using low-powered processors and very little memory.​

81
Q

Why is the BIOS stored in the ROM/CMOS?

A
  • The basic input-output system performs hardware initialisation when the computer is turned on
  • Determines which drive to boot the operating system from, amongst other things.
  • These instructions don’t change, so they could be stored in ROM.
  • But the settings chosen by the user need to be read-and-write, stored in non-volatile memory (CMOS with a battery)​
82
Q

What is POST?

A
  • Power-on self-test
  • Handled by the BIOS, the power-on self-test checks the hardware is installed correctly before loading the operating system
83
Q

What is the boot loader (bootstrap)?

A
  • The program that loads the operating system
  • The BIOS tells the bootstrap which drive to load the operating system from.​
84
Q

What is the Operating System kernel?

A
  • The central component of an operating system
  • A bridge between applications and data processing performed by the hardware
  • The kernel’s responsibilities are to manage the system resources (e.g., processor, memory, peripherals, etc)​
85
Q

What is a device driver?

A

A small piece of software that tells the operating system how to communicate with a piece of hardware.

It provides an interface between the device and operating system,

86
Q

Why are device drivers used?

A
  • They act as translators between a hardware device and the applications or operating systems that use it
  • They enable your PC’s operating system and applications to communicate with all of your hardware
  • Without them, the OS cannot communicate with the hardware, and therefore the hardware won’t function
  • The computer must be able to output to a wide range of devices.
87
Q

How do device drivers work?

A

It translates the operating system’s instructions to produce an output (e.g. print a document) into a series of instructions that a specific piece of hardware will understand.​

88
Q

What are some examples of deice drivers?

A
  • Printer driver
  • Video driver
  • I/O driver
  • USB driver.​
89
Q

What is an emulator?

A

A program that allows your computer to mimic the behaviour of another hardware device.

It enables you to run software by tricking it into thinking its running on its native hardware instead of an entirely different machine.

90
Q

Why are virtual machines used?

A
  • Building/deploying apps to the cloud
  • Trying out a new OS / backing up your existing OS
  • Accessing virus-infected data / testing out anti-virus software
  • Making a new environment to allow developers to run dev-test scenarios
  • Creating a PC game (using an emulator to stimulate another device)
91
Q

What is virtualisation?

A

The process of creating a software-based (or virtualised) version of a computer with dedicated amounts of CPU, memory and storage borrowed from the host computer.

92
Q

What is a virtualised server?

A
  • A server that runs on a virtual machine rather than on a physical computer.
  • Virtualization software allows a single physical server to be partitioned into multiple virtual servers, each with its own operating system and applications.
  • This allows multiple users to share the same physical server while maintaining their own isolated environments.
93
Q

Why would a virtualised server be used?

A

In a virtual server environment, a number of servers could run an application. So if one server fails, the application can automatically be run by another server.

This way, no technical support is necessary and there is no down-time.

94
Q

How does Java use a virtual machine?

A

It is designed to run on many different platforms because it compiles its code into intermediate code (Java Bytecode).

The Bytecode is then translated by a Java Virtual Machine running on a target device - translating into specific machine code.

95
Q

What is Java Bytecode?

A

A set of general instructions is translated (from intermediate code) into a variety of processor types before execution by a Java Virtual Machine.

The JVM converts each generalised machine instruction into a specific machine instruction that the computer’s specific hardware will understand.

96
Q

What are the advantages of virtual machines?

A
  • Reducing need for hardware (reducing cost)
  • Can be replicated in minutes
  • Idependent and portable
  • Multiple operating systems can coexist
  • Provides isolation between guest OS and server, making it more secure
97
Q

What are the disadvantages of virtual machines?

A
  • Less efficient than real machines and the host computer
  • High cost of implementation
  • Security risks
  • Running multiple VMs on one machine leads to unstable performance
  • Complex systems needing technical skills and maintenance