Systems Software Flashcards
What is an Operating System (OS)?
A collection of programs that provide an interface between the user and computer
What are the jobs of the Operating System?
Memory management
Resource management ie. scheduling
File management
Input/Output management
Interrupt management
Utility software
Security
User Interface
What is Memory management?
Making use of paging, segmentation and virtual memory to ensure memory is shared effectively by programs.
What is Paging
Memory is split up into equal-sized sections known as “pages”.
Pages are swapped between main memory and the hard disk as needed
What is Segmentation
Memory is split up into logically-sized divisions called segments.
These will vary in size equivalent to the number of lines of code.
For example, a while loop may have a larger segmentation than a variable assignment
What is Virtual Memory? (not virtual storage)
A section of the hard drive that acts as RAM when there isn’t enough space in main memory.
Sections of programs not being used are temporarily moved into VM through paging.
Frees up memory in RAM for other programs.
What is the issue with using Virtual Memory?
Disk Thrashing
- when a computer “freezes” due to pages being swapped too frequently between hard disk and main memory.
What are Interrupts in memory management?
Signals generated by software or hardware to indicate that a process needs attention.
The process is then stored within a priority queue in an Interrupt register.
CPU checks the interrupt register at the end of each Fetch-Execute cycle.
What are the steps of the Interrupt Service Routine if an interrupt exists within a higher priority than the current process?
- Contents of the register transferred into the stack
- Relevant interrupt service routine (ISR) is loaded into RAM
- Flag is set to signal the ISR has begun.
- Flag is reset once the ISR is over
- Process is repeated
What are the steps of the Interrupt Service Routine if an interrupt DOES NOT exist within a higher priority than the current process?
- The contents of the stack are popped back into the registers
- Fetch-Execute cycle resumes
What is Scheduling?
Operating System ensure all sections of program being run receive a fair amount of processing time.
What are the two Scheduling algorithms?
Pre-emptive
Non pre-emptive
What happens in the Pre-emptive scheduling algorithm?
Jobs are actively made to start and stop by the operating system.
e.g.
Multilevel Feedback Queues, Shortest Remaining Time, Round Robin
What happens in the Non pre-emptive scheduling algorthm?
Once a job has started, it is left alone until it is completed
E.g.
First Come First Served, Shortest Job First
What happens in Round Robbin?
Each job is given a section of processor time.
Once each job in the queue has used its first time slice, they are given another slice until a job has been completed.
Completed jobs are removed from the queue.