Memory management in an operating system
Memory management in an operating system, which is also called as main memory management, because the main memory has central status for operations in present computer systems. Main memory comprises a large array of words or bytes which are from hundreds to thousands of millions in size. Every word and byte has its own memory address. Primary memory is basically a repository for quickly accessible data which is shared by CPU and I/O devices. During the instructions fetch cycle and both reads and writes data from the main memory the central processor reads instructions from main memory during instruction fetch cycle. In main memory read, write and I/O operations are implemented via DMA.
The primary memory is usually the only enormous storage device which is directly addressable and accessible by CPU. Let’s take an example for CPU to process data from the disk those data must be first moved to main memory by CPU generated I/O calls. Instructions to get executed by CPU they must be in main memory. A program to get executed it must be plotted to absolute addresses and loaded into memory. when the program executes it accesses program instructions and data from memory by generating these absolute addresses. Ultimately when the program terminates its memory space stated available now next program can be loaded for execution. We must keep various programs in memory to improve the CPU Utilization and the speed of computer’s response to its users.
According to particular situation there are different memory management schemes reflects several approaches to memory management. Effectiveness of these schemes depends on the situation and algorithm used. Selection of a memory management scheme for a particular situation depends on some factors specially on the design of hardware in a system, because every algorithm requires its own hardware provision. It enhances the system performance by increasing the hit ratio when the CPU read instructions and data. It maximizes the memory utilization. Operating system is concerned with following activities in case of memory management
- It keeps track of memory parts which are currently being used and by whom.
- Choose which programs are to be loaded in memory and when memory space will be available.
- Allocation and deallocation of memory space as mandatory.