Systems Software Flashcards
What does the OS need to be able to do? (4 Things)
Control the hardware
Manages software, loading/unloading from main memory
provide security
Create an interface between the user and the hardware
Why is memory management needed?
Memory is limited in size, with processes being loaded and run it needs to be managed. This is to prevent current processes being overwritten by new processes.
What is segmentation?
The memory is split up into segments based on natural divisions in programs, such as putting all program instructions in one segment.
What is pagination?
Memory is split up into many equally sized portions called pages. The memory manager gives each page a number and records its location in a table, called a “page table”. Pages are given out to programs as they use memory.
What is thrashing?
Pages in memory being used by idle programs are moved back and forth between RAM and virtual memory. If pages are constantly being moved it slows the computer down.
What is a memory leak?
When a program does not flush away the data that it no longer needs, the memory remains unavailable. The program will continue to take up more space in memory until it is all taken up, and the computer has to use virtual memory.
What are the objectives of a scheduler? (4 things)
Maximise throughput
Be fair to all users of a multi user system.
Provide acceptable response time
Ensure hardware resources are kept busy
What is RR scheduling?
Round Robin.
Processes are dispatched on a first in first out basis
Each process is given a limited amount of CPU time.
If the processor doesn’t complete before the time expires the dispatcher gives the CPU the next process.
An interrupt clock or interval timer is needed to generate the interrupts.
What is FCFS Scheduling?
First Come First Serve
The jobs are processed in the order they arrive with no system priorities.
What is SJF Scheduling?
Shortest Jobs First
The process with the smallest estimated running time is run next.
What is SRT Scheduling?
Shortest Remaining Time
The process with the shortest remaining time to completion is run next
This reduces the number of waiting jobs
What is Polling?
The CPU keeps checking devices or events to see if they need attention. For instance a file may need to be sent to a printer.
What are interrupts?
A signal from something as a piece of software or hardware that causes the CPU to immediately change what it is doing.
How do interrupts work? (8 steps)
A signal from a software program, hardware or internal clock to the CPU
Completes the current FDE cycle
It checks the priority of the interrupt
If it’s higher priority than the current process, it suspends the execution of the current process
Disables all interrupts of lower priority
The value of the program counter is added to the system stack
Interrupt Service Routine is called to deal with the interrupt
The correct service routine is called to service it.
What is a distributed operating system
an operating system over a collection of independent, computational nodes. They handle jobs which are serviced by multiple CPUs. Each individual node holds a specific software subset of the global aggregate operating system.
What is a multi tasking operating system?
An operating system that can deal with multiple applications running at the same time
What is a real time operating system?
serves real-time applications that process data as it comes in
What is a multi user operating system?
a computer system that allows multiple users that are on different computers to access a single system’s OS resources simultaneously
What is an embedded operating system?
a specialised operating system designed to perform a specific task for a device
What is the BIOS?
A program stored on the Erasable Program Read-Only Memory (EPROM) that gets your computer started when you turn it on. It initialises and tests the system hardware. If there are no problems, it then loads the operating system from the hard disk to the RAM.
What is a device driver?
Program that acts as an interfaces for the OS and internal/external hardware. The OS can access hardware functions without knowing the details of the hardware involved.
What is a virtual machine?
A program that can perform tasks and run applications like they would on a separate machine, the programs that are ran on the virtual machine are unable to tell that they are on a virtual machine.