Memory Management

What is memory Management?

Main memory can be divided into 2 parts in uniprogramming System, the first part is for operating system and another part is for the program currently being executed. However in multiprogramming system, the program part of main memory need to further subdivided to carry out multiple process. The task of subdivision is carried out by operating system which also known as Memory Management.

Therefore, effective memory management is important in a multiprogramming system. For example if a few process are in memory, then for much of the time all of the processes will be awaiting for I/O and the processor will be idle. Thus memory needs to be allocated to ensure a reasonable supply of ready processes to consume available processor time.

To easier the memory management and understanding of memory management, few terms are used like Frame, Page, and Segment

Frame is a fixed-length block of main memory, while the Page is a fixed-length of data that resides in secondary memory. A page of data may temporarily be copied into frame of main memory. Segment is a variable-length of block of data that resides in main memory. Segmentation is the process a segment is copied into an available region of main memory. The segment can be divided into pages which can be individually copied to main memory (Combined segmentation and paging).

Memory Management requirements

Memory management is intended to satisfy the following requirements:
  • Relocation
  • Protection
  • Sharing
  • Physical organization
  • Logical organization

Comments

Popular posts from this blog

Reading and Writing Operation of SRAM

Reading & Writing Operation of DRAM

Method to Convert from Stream to Json C#