{"id":409,"date":"2020-08-18T19:23:47","date_gmt":"2020-08-18T20:23:47","guid":{"rendered":"http:\/\/www.linux-tutorial.info\/?page_id=77"},"modified":"2020-08-22T19:26:16","modified_gmt":"2020-08-22T20:26:16","slug":"this-is-the-page-title-toplevel-242","status":"publish","type":"page","link":"http:\/\/www.linux-tutorial.info\/?page_id=409","title":{"rendered":"Memory Management"},"content":{"rendered":"\n<title>Memory Management<\/title>\n<p>\nThe memory management subsystem is one of the most important parts of\nthe operating system.\nSince the early days of computing, there has been a need\nfor more memory than exists physically in a system.\nStrategies have been developed to overcome this limitation\nand the most successful of these is virtual memory.\nVirtual memory makes the system appear to have more memory than is physically\npresent by sharing it among competing processes as they need it.\n<p>\nVirtual memory does more than just make your computer&#8217;s memory go farther.\nThe memory management subsystem provides:\n<dl compact>\n<p>\n<dt><b>Large Address Spaces<\/b><\/dt><dd> The operating system makes the system appear\n\tas if it has a larger amount of memory than it actually has.\n\tThe virtual memory can be many times larger than the physical memory\n\tin the system.\n<p>\n<dt><b>Protection<\/b><\/dt><dd> Each process in the system has its own virtual address\n\tspace.  These virtual address spaces are completely separate\n\tfrom each other and so a process running one application cannot\n\taffect another.  Also, the hardware virtual memory mechanisms allow\n\tareas of memory to be protected against writing.   This protects\n\tcode and data from being overwritten by rogue applications.\n<p>\n<dt><b>Memory Mapping<\/b><\/dt><dd> Memory mapping is used to map image  and data files into a\n\tprocess&#8217; address space.\n\tIn memory mapping, the contents of a file are linked\n\tdirectly into the virtual address space of a process.\n<p>\n<dt><b>Fair Physical Memory Allocation<\/b><\/dt><dd> The memory management subsystem\n\tallows each running process in the system a fair share\n\tof the physical memory of the system.\n<p>\n<dt><b>Shared Virtual Memory<\/b><\/dt><dd> Although virtual memory allows processes\n\tto have separate (virtual) address  spaces, there are times\n\twhen you need processes to share memory.\n\tFor example there could be several processes in the system\n\trunning the <font face=\"helvetica\">bash<\/font> command shell.\n\tRather than have several copies of <font face=\"helvetica\">bash<\/font>, one in each\n\tprocess&#8217;s virtual address space, it is better to have only one copy in\n\tphysical memory and all of the processes running <font face=\"helvetica\">bash<\/font>\n\tshare it.\n\tDynamic libraries are another common example of executing code\n\tshared between several processes.\n<p>\n\tShared memory can also be used as an Inter Process Communication\n\t(IPC) mechanism, with two or more processes exchanging information\n\tvia memory common to all of them.\n\tLinux supports the Unix System V shared memory IPC.\n<\/dl>\n","protected":false},"excerpt":{"rendered":"<p>Memory Management The memory management subsystem is one of the most important parts of the operating system. Since the early days of computing, there has been a need for more memory than exists physically in a system. Strategies have been &hellip; <a href=\"http:\/\/www.linux-tutorial.info\/?page_id=409\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-409","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=409"}],"version-history":[{"count":1,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/409\/revisions"}],"predecessor-version":[{"id":622,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/409\/revisions\/622"}],"wp:attachment":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}