1.2.1 Systems Software Flashcards
Operating System (OS)
A program or set of programs that manages the operations of the computer for the user. Allows the user to interact with the computer’s hardware via a User Interface (UI)
Functions of an OS
- Provides a UI
- Memory management
- Interrupt Service Routines
- Processor scheduling
- Backing Store management
- Management of all input/output
Paging
Memory is divided into fixed sizes. A page table uses mapping to store a link between the physical memory address and the logical address space of each process.
Segmentation
Local division of address space into varying length segments which depend on the program structure.
Virtual Memory
Secondary storage is used as an extension of memory to make room for the next process.
What happens when the CPU receives an interrupt signal?
- Suspends execution of the running process and disables all interrupts of a lower priority.
- All values of the PC/registers are put onto the system stack.
- An interrupt service routine is called to deal with the interrupt, depending on the priority.
- The original values of the registers are retrieved from the stack and the process resumes from where it left off.
- A test for interrupts is carried out at the end of the FDE cycle.
Round Robin
- Programs despatched on a FIFO basis.
- Each process is given a time slice (limited amount of CPU time)
- If the process is not completed at the end of its time slice, or before a higher priority interrupt occurs => moves on to the next process
First come first served
Jobs are processed in the order they arrive => with no system of priorities
Shortest remaining time
The process with the smallest time to complete, estimated by the user, is run next.
Shortest Job First
The process with the smallest estimated time is run next.
Multi-level feedback queues
Algorithm designed to give preference to short jobs/IO-bound processes, and separate processes into categories based on their need for the processor.
This maximises processor use.
Distributed OS
- A form of a parallel processing system => spreads the load over multiple computer servers
- A single job is split up into several tasks => each is run on a separate computer
Multi-Tasking System
The OS can run many jobs simultaneously/at the same time.
Multi-User System
Many users can use the same OS at the same time.
Embedded System
Designed for one specified purpose. Has a minimal UI, accepts input from sensors, and has limited RAM.