1.2.1 Systems software - Gurjot Flashcards
what is an operating system
a collection of programs that work together in order to provide an interface between the user and the computer
state some features that an operating system provides
- memory management
- file management
- utility software
- user interface
what is paging
when memory is split up into equal sized sections (called pages). these can be swapped between main memory and hard disk as needed.
what is segmentation
splitting up memory into logical sized divisions (called segment).
what is virtual memory
using a section of hard drive to act as RAM when the space in the main memory in insufficient. sections currently not in use are moved into virtual memory through paging
what are the issues with the 3 ways of memory management
it causes disk thrashing (when the computer freezes as pages are being swapped too frequently between hard disk and main memory.)
what are interrupts
signals generated by software or hardware to indicate to the processor that a process needs attention
describe the steps of the interrupt service routine
- Interrupt Request: Device signals the CPU
- Acknowledgement and Save Content: CPU finishes current task, saves state to the stack
- Identify and Execute ISR: CPU identifies interrupt source and runs ISR
- Restore and Resume: CPU restore saved context and resumes main program
what is pre-emptive scheduling
jobs are actively made to start and stop by the operating system
give examples of pre-emptive scheduling
- multi level feedback queues
- shortest time remaining
- round robin
what is non pre-emptive scheduling
once a job is started, its left alone until completed
give examples of non pre-emptive scheduling
- first come first served
- shortest job first
describe round robin scheduling
each job is given a section of processor time, if not completed in the time, its put back in the queue.
describe first come first served
jobs are processed in order of which entered the queue first
describe multi level feedback queues
makes uses of multiple queues, ordered based on different priority.
describe shortest job first
jobs processed in ordered according to the time required for completion, with the shortest at the front
describe shortest time remaining
the queue storing jobs is ordered according for the time left for completion. if a new job enters the queue, its compared to the one being processed and is replaced with the one being replaced if it has a shorter completion time.
what is processor starvation
when a process does not receive enough time in order to be completed.
what scheduling algorithms are at risk of processor starvation
- shortest time remaining
- shortest job first
describe a distributed operating system
an os run across multiple devices, so load is spread across multiple processors.
describe an embedded os
built to perform a small range of specific tasks catered to a specific device
describe a multi tasking os
enables user to carry out tasks seemingly simultaneously using time slicing
describe a multi user os
makes use of a supercomputer , and scheduling algorithm to ensure time is shared fairly between jobs
describe a real time os
designed to perform a task in a guaranteed time frame
what is the bios
the program a computer’s microprocessor uses to start the computer system after it is powered
describe the power on self start routine
- ensures all hardware are correctly connected and functional
- checking cpu clock, memory and processor is operational
- testing for external memory devices connected to the computer
what is a bootstrap
the program which loads the operating system from the hard disk to the main memory
what are device drivers
programs which allow the os to interact with hardware
what is a virtual machine
a theoretical computer that is a software implementation of a computer system
what does a virtual machine do
it provides an environment with a translator for intermediate code to run
what is intermediate code
code that is halfway between machine and object code
whats the advantage of intermediate code
saves money and time of having to purchase multiple devices for testing
other uses of virtual machines?
- protection from malware
- running incompatible software