Systems Software (1.2.1) Flashcards
What is an operating system?
A collection of programs that work together to provide an interface between the user or application program and hardware.
What are the main features an OS provides?
- Memory management
- Resource management
- File management
- Input/Output management
- Interrupt management
- Utility software
- Security
- User interface
What is memory management?
When the operating determines and allocates memory fairly between multiple programs.
What are the three main memory management methods?
- Paging
- Segmentation
- Virtual memory
What is paging?
When memory is split into equal sized sections known as pages (Each program is made from a certain number of equally-sized pages). A page table would be used to identify the memory location of each page i.e. map the logical location to the physical location.
What is segmentation?
When the memory is split into logical sized divisions called segments which vary in size. They represent the structure and logical flow of the program and the segments are allocated blocks of codes meaning only part of the program needs to be loaded into memory.
What is the difference between paging and segmentation?
- Paging uses equally sized sections called pages.
- Segmentation uses variable-sized, logical sections called segments.
What is virtual memory?
When part of the hard drive is used to act as RAM.
Sections of programs not currently being used are temporarily moved into virtual memory through paging.
Freeing up memory in RAM for other programs.
When is virtual memory used?
When their is insufficient space in RAM to store programs being used.
What is a common issue between paging, segmentation and virtual memory?
Disk thrashing
What is disk thrashing?
When the computer freezes because pages are being swapped too frequently hard disk and main memory.
More money is spent transferring pages than running the program.
What are interrupts?
Signals generated by software or hardware to alert the processor that a process needs attention.
What is the interrupt service routine?
1) The processor checks the contents of the interrupt register at the end of each Fetch-Decode-Execute cycle.
2) If an interrupt exists that is of a higher priority to the process being executed, the current contents of the special purpose registers in the CPU are temporarily transferred into a stack.
3) The processor then responds to the interrupt by loading the appropriate interrupt service routine (ISR)
4) If there are more interrupts to be serviced, the process described above is repeated until all priority interrupts have been serviced.
5) If there are no more interrupts or interrupts are of a lower priority to the current process, the contents of the stack are transferred back into the registers in memory. 6)The Fetch-Decode-Execute cycle resumes as before. into RAM.
What do scheduling algorithms do?
Ensure all sections of programs being run (known as ‘jobs’) receive a fair amount of processing time.
What happens in pre-emptive scheduling algorithms?
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 non pre-emptive scheduling algorithms?
Once a job is started, it is left alone until it is completed. e.g. First Come First Served, Shortest Job First
What are the 5 main scheduling algorithms?
- Round robin
- First come first served
- Multilevel feedback queues
- Shortest job first
- Shortest remaining time
What is round robin scheduling?
Each job is given a section of processor time - known as a time slice - within which it is allowed to execute.