In uniprogramming system, main memory is divided into two parts, one pare for the operating system (resident monitor, kernel) and one part for the program currently being executed. In multiprogramming system, the 'user' part of the memory must be further subdivided to accommodate multiple processes. The task of subdivision is carried out dynamically by operating system and is known as memory management.
In real memory management OS operates the space of the main memory only.
There are two ways of real memory management.
a) Mono Programming System:– Execution of one program at one time. The memory is divided into two parts, one is to save the OS and the other is to save programs.
b) Multi Programming System:– Several simultaneous processes can be executed at the same time. Memory space is shared by several processes. To enable it to run a process should be stored into the memory. When the execution process is completed, it will be taken out from the memory. There are two schemes.
i. Fixed Size Partitioning: Partitioning of memory space into several spaces. One process is started into the memory if there is a memory space that can fit the process.
ii. Variable size partitioning: A process is started if there is memory space that is still empty if there is memory space that is still empty which can fit the process. This method is better and more flexible.
Virtual memory is a scheme that is transparent to the application process and allows each process to behave as if it had unlimited main memory at its disposal. To achieve this, the operating system creates for each process a virtual address space on disk. Part of virtual memory is brought into real main memory as needed.
There are three techniques of virtual memory management which are given below:–
i. Paging Method: This method introduced in the 1960's Atlas computer, sets up enough memory space for each process by making the secondary storage as an extension to the main memory. The virtual memory space is provided is divided into several pages with every page having the same size. The main memory is divided into a few framework pages. This page framework is shared with a program in the system at that point.
ii. Segmentation Method: Segmentation method provides a large sized of virtual memory, but require virtual memory which provides multidimensional memory. This form of memory management is known as segmented virtual memory management. Segmentation allows the programmer to view memory as consisting of multiple address spaces or segments. Segments may be of unequal, indeed dynamic size.
iii. Paging and Segmentation Method: In paging and segmentation method both paging and segmentation have their strengths. This virtual memory is multidimensional and provides many segments and each segment has a large volume.
Memory management by OS can be divided into two methods:
# Real Memory Management
In real memory management OS operates the space of the main memory only.
There are two ways of real memory management.
a) Mono Programming System:– Execution of one program at one time. The memory is divided into two parts, one is to save the OS and the other is to save programs.
b) Multi Programming System:– Several simultaneous processes can be executed at the same time. Memory space is shared by several processes. To enable it to run a process should be stored into the memory. When the execution process is completed, it will be taken out from the memory. There are two schemes.
i. Fixed Size Partitioning: Partitioning of memory space into several spaces. One process is started into the memory if there is a memory space that can fit the process.
ii. Variable size partitioning: A process is started if there is memory space that is still empty if there is memory space that is still empty which can fit the process. This method is better and more flexible.
# Virtual Memory Management
Virtual memory is a scheme that is transparent to the application process and allows each process to behave as if it had unlimited main memory at its disposal. To achieve this, the operating system creates for each process a virtual address space on disk. Part of virtual memory is brought into real main memory as needed.
There are three techniques of virtual memory management which are given below:–
i. Paging Method: This method introduced in the 1960's Atlas computer, sets up enough memory space for each process by making the secondary storage as an extension to the main memory. The virtual memory space is provided is divided into several pages with every page having the same size. The main memory is divided into a few framework pages. This page framework is shared with a program in the system at that point.
ii. Segmentation Method: Segmentation method provides a large sized of virtual memory, but require virtual memory which provides multidimensional memory. This form of memory management is known as segmented virtual memory management. Segmentation allows the programmer to view memory as consisting of multiple address spaces or segments. Segments may be of unequal, indeed dynamic size.
iii. Paging and Segmentation Method: In paging and segmentation method both paging and segmentation have their strengths. This virtual memory is multidimensional and provides many segments and each segment has a large volume.
You Might also view the following Related Posts
- What is Operating System?
- Development stages in operating Systems
- Functions of operating system
- Basic Components of operating Systems.