• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » Fundamental » OS » Explain Memory Partition or non Contiguous Allocation
Next →
← Prev

Explain Memory Partition or non Contiguous Allocation

By Dinesh Thakur

As we know that operating system is that which executes the system and the operating system is the software which is responsible for running all the user programs so that generally memory is divided in to the two parts, first part is used by the operating system and the second part is used by the user programs and there may be some situations that the memory size of the operating system may be higher from the user memory and also vice versa.

So that there must be some mechanism in which a user can’t access the data of the operating system and there must be some mechanism. That mechanism contains two types of registers.

1) Relocation register: the relocation register is the smallest register which contains the smallest value of the physical address.

2) Limit register: the limit register is that which contains the highest values of the address of physical memory.
When we use  the static memory allocation then all the memory is provided to the various process will be in the continuous form and when any process ends then the memory of that process will not be allotted to any new join process, because memory is already to all the processes, so this will create the problem of internal fragmentation means there is not enough  memory available, which can be allocated to the processes, so that we uses the dynamic memory allocation, in this memory which is allocated by the processes in the form of needs and dynamic demands of the process and in this when a process ends then the memory of that process will be provided to the process which is newly join and the memory is provided to the process  by using the compaction means after providing the memory space to each and every process , this will refresh the memory or will uses the process of compaction and in this all the free memory will make a single large memory so that the memory will be provided to the process those are newly created. For providing the memory to the various processes there are three methods or techniques-

1) First fit: in the first fit the operating system will search for the free memory or available memory from the entire memory and this will select the first area or first part of the memory and in this first part which is large enough for the process will be provided to the process.

2) Best fit: in this operating system will search for the memory area which is small as well as enough for the process. Will be provided to the process.  And in this all the memory holes or parts are arranged in to the sorted order and the operating system will search for the best whole means this will search for the smallest hole or part from the memory.

3) Worst fit : in the worst fit we uses the largest hole for the process and in this the memory area which is large enough means which is greater  from the required area will be allocated to the process.

You’ll also like:

  1. What Variable Partitioned or Dynamic Memory Allocation
  2. Memory Allocation in C++
  3. Memory Allocation Function Calloc()
  4. Write a C++ Program for Memory allocation for a class
  5. C Program Reads a string using dynamic memory allocation for strings
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

Operating System

Operating System & Types

    • Operating System - Software
    • Operating System - Definition
    • Operating System - Types
    • Operating System - Functions
    • Operating System - Characteristics
    • Operating System - Services
    • Operating System - Multiprogramming
    • Operating System - Time Sharing
    • Operating System - Multiprocessor
    • Operating System - Distributed
    • Operating System - Batch Processing
    • Operating System - Real-Time
    • Operating System - Multitasking
    • Operating System - Network(NOS)
    • Operating System - Multi-User
    • Operating System - Batch
    • Operating System - External Structure
    • Operating System - MS-DOS
    • Operating System - System Software
    • Operating System - Kernel
    • Operating System - Main Functions

Operating System Scheduling

    • Operating System - Scheduling
    • Operating System - Disk Scheduling
    • Operating System - Process
    • Operating System - Round Robin
    • Operating System - CPU Scheduling
    • Operating System - (FCFS) Scheduling
    • Operating System - Preemptive
    • Operating System - Priority Scheduling

Memory

    • Operating System - Memory
    • Operating System - Cache Memory
    • Operating System - Virtual Memory
    • Operating System - Memory Partition

Operating System - What is

    • Operating System - Booting
    • Operating System - Files & Types
    • Operating System - Shell
    • Operating System - Real Time System
    • Operating System - Demand Paging
    • Operating System - Multi Tasking
    • Operating System - Parallel Processing
    • Operating System - Swapping
    • Operating System - Spooling
    • Operating System - App Software
    • Operating System - Dead Lock
    • Operating System - Batch Processing
    • Operating System - Semaphore
    • Operating System - Variable Partitioned
    • Operating System - File System
    • Operating System - Cipher Text
    • Operating System - OS/2
    • Operating System - CONFIG.SYS
    • Operating System - Segmentation
    • Operating System - CLI

Some Other Tutorials

  • OS - Application Vs System Software
  • OS - Commands in DOS
  • OS - Process States
  • OS - System Components
  • OS - Inter-Process
  • OS - Computer Languages
  • OS - System Architecture
  • OS - Directory Structure
  • OS - Process Management
  • OS - Deadlock Prevention
  • OS - Thread Vs Process
  • OS - File Sharing

Other Links

  • Operating System - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2023. All Rights Reserved.