Types of Operating System |
Types of Operating System
Overlays
One of the main limitations imposed on programmers in the early days of computing was the size of the computer's memory. If the program was larger than the available memory, it could not be loaded, which placed severe restrictions on program size. The obvious solution would be to increase the amount of memory available, but this would significantly increase the cost of the computer system. One way for a programmer to overcome these limitations was to use overlays. The programmer divided the program into a number of logical sections. A small portion of the program had to remain in memory at all times, but the remaining sections (or overlays) were loaded only when they were needed. The use of overlays allowed programmers to write programs that were much larger than physical memory, although responsibility for managing memory usage rested with the programmer rather than the operating system.
- The entire program and data of a process must be in the physical memory for the process to execute.
- The size of a process is limited to the size of physical memory.
- If a process is larger than the amount of memory, a technique called overlays can be used.
- Overlays is to keep in memory only those instructions and data that are needed at any given time.
- When other instructions are needed, they are loaded into space that was occupied previously by instructions that are no longer needed.
- Overlays are implemented by user, no special support needed from operating system, programming design of overlay structure is complex
Page Stealing
When this supply becomes low, OS uses page stealing to replenish it, that is, it takes a frame assigned to an active user and makes it available for other work. The decision to steal a particular page is based on the activity history of each page currently residing in a central storage frame. Pages that have not been active for a relatively long time are good candidates for page stealing.
Belady's Anamaly
This is a stage which occurs in FIFO page replacement algorithm,
in which a large number of page fault
happens.
Preemptive scheduling
Task are usually assigned with priority at times it is necessary
to run a certain task that has higher priority before another task although it
is running therefore the running task is
interrupted for some time and resumes later when the priority task has finished
its execution. This is called preemptive scheduling
E.g. Round-Robin
Non-Preemptive
In non preemptive scheduling a running task
is executed till. it cannot be interrupted
E.g. FIFO