Wednesday , September 18 2019
Home / Windows / Memory Management in Operating System

Memory Management in Operating System

Memory Management in Operating System

Memory management is the functionality of an operating system which handles or manages primary memory. Memory management keeps track of each and every memory location either it is allocated to some process or it is free. It checks how much memory is to be allocated to processes. It decides which process will get memory at what time. It tracks whenever some memory gets freed or unallocated and correspondingly it updates the status.

Memory management provides protection by using two registers, a base register and a limit register. The base register holds the smallest legal physical memory address and the limit register specifies the size of the range. For example, if the base register holds 300000 and the limit register is 1209000, then the program can legally access all addresses from 300000 through 411999.

Memory Management in Operating System

Read:-  What is multi-threading operating system

Memory Management in Operating System

Instructions and data to memory addresses can be done in following ways:-

  • Compile time: When it is known at compile time where the process will reside, compile time binding is used to generate the absolute code.
  • Load time: When it is not known at compile time where the process will reside in memory, then the compiler generates re-locatable code.
  • Execution time: If the process can be moved during its execution from one memory segment to another, then binding must be delayed to be done at run time.

Dynamic Loading

In dynamic loading, a routine of a program is not loaded until it is called by the program. All routines are kept on disk in a re-locatable load format. The main program is loaded into memory and is executed. Other routines methods or modules are loaded on request. Dynamic loading makes better memory space utilization and unused routines are never loaded.

Dynamic Linking

Linking is the process of collecting and combining various modules of code and data into a executable file that can be loaded into memory and executed. Operating system can link system level libraries to a program. When it combines the libraries at load time, the linking is called static linking and when this linking is done at the time of execution, it is called as dynamic linking. In static linking, libraries linked at compile time, so program code size becomes bigger whereas in dynamic linking libraries linked at execution time so program code size remains smaller.

Logical versus Physical Address Space

An address generated by the CPU is a logical address whereas address actually available on memory unit is a physical address. Logical address is also known a Virtual address. Virtual and physical addresses are the same in compile-time and load-time address-binding schemes. Virtual and physical addresses differ in execution-time address-binding scheme. The set of all logical addresses generated by a program is referred to as a logical address space. The set of all physical addresses corresponding to these logical addresses is referred to as a physical address space.

The run-time mapping from virtual to physical address is done by the memory management unit (MMU) which is a hardware device. MMU uses following mechanism to convert virtual address to physical address.

  • The value in the base register is added to every address generated by a user process which is treated as offset at the time it is sent to memory. For example, if the base register value is 10000, then an attempt by the user to use address location 100 will be dynamically reallocated to location 10100.
  • The user program deals with virtual addresses; it never sees the real physical addresses.

Swapping

Swapping is a mechanism in which a process can be swapped temporarily out of main memory to a backing store, and then brought back into memory for continued execution. Backing store is a usually a hard disk drive or any other secondary storage which fast in access and large enough to accommodate copies of all memory images for all users. It must be capable of providing direct access to these memory images.

Major time consuming part of swapping is transfer time. Total transfer time is directly proportional to the amount of memory swapped. Let us assume that the user process is of size 100KB and the backing store is a standard hard disk with transfer rate of 1 MB per second. The actual transfer of the 100K process to or from memory will take

100KB / 1000KB per second

= 1/10 second

= 100 milliseconds

Memory Management in Operating System

Memory Allocation

Main memory usually has two partitions

  • Low Memory: Operating system resides in this memory.
  • High Memory: User processes then held in high memory. Operating system uses the following memory allocation mechanism.

Memory Management in Operating System

Fragmentation

As processes are loaded and removed from memory, the free memory space is broken into little pieces. It happens after sometimes that processes cannot be allocated to memory blocks considering their small size and memory blocks remains unused. This problem is known as Fragmentation.

Fragmentation is of two types:-

Memory Management in Operating System

External fragmentation can be reduced by compaction or shuffle memory contents to place all free memory together in one large block. To make compaction feasible, relocation should be dynamic.

I hope that you understand my post. if you like this post then share my post, and comment on my post if you have any suggestion or Queries related to Memory Management in Operating system. Thank you!

Check Also

How to install crack version of wondershare filmora

How to install crack version of wondershare filmora wondershare filmora is a best software for …

14 comments

  1. It’s really a nice and useful piece of info. I’m glad that you shared this helpful information with us. Please keep us informed like this. Thank you for sharing.

  2. Howdy! This is my 1st comment here so I just wanted to give a quick shout out and tell you I really enjoy reading your blog posts. Can you recommend any other blogs/websites/forums that cover the same topics? Thanks for your time!

  3. My partner and I absolutely love your blog and find
    the majority of your post’s to be just what I’m looking for.
    Does one offer guest writers to write content for you personally?

    I wouldn’t mind creating a post or elaborating on a few of the subjects
    you write related to here. Again, awesome website!

  4. I every time emailed this website post page to all
    my friends, since if like to read it next my contacts will too.

  5. When I originally commented I clicked the “Notify me when new comments are added”
    checkbox and now each time a comment is added I
    get several emails with the same comment. Is there any way you can remove me from that service?
    Appreciate it!

  6. You can definitely see your expertise in the work you write.
    The sector hopes for even more passionate writers such as you who aren’t afraid to mention how they believe.
    Always follow your heart.

  7. It’s amazing in favor of me to have a web page, which is useful
    for my knowledge. thanks admin

  8. It’s perfect time to make some plans for the future and
    it’s time to be happy. I have read this post and if I could I desire to suggest you some interesting things or suggestions.
    Perhaps you can write next articles referring to this article.
    I want to read more things about it!

  9. Hey there! Do you use Twitter? I’d like to follow you if that would be ok.
    I’m absolutely enjoying your blog and look forward
    to new updates.

  10. Highly descriptive post, I loved that a lot. Will there be a part 2?

  11. Right here is the perfect webpage for everyone who would like to
    find out about this topic. You understand so much its almost tough to argue with you (not that I really would want to…HaHa).

    You definitely put a brand new spin on a topic that has been written about for decades.
    Wonderful stuff, just wonderful!

  12. hello!,I like your writing so much! share we keep in touch more about your article on AOL?

    I need a specialist in this house to solve my problem.
    Maybe that is you! Taking a look forward to peer you.

  13. I like the helpful info you provide on your articles.
    I’ll bookmark your weblog and test again here regularly.

    I am relatively certain I will learn lots of new stuff right right here!
    Best of luck for the next!

  14. You can certainly see your expertise within the article you write.

    The world hopes for even more passionate writers like you who are not afraid to mention how they
    believe. At all times follow your heart.

Leave a Reply

Your email address will not be published. Required fields are marked *