Memory Management Requirements
Joseph R. Poscablo
May 29, 2013
Memory is one of the most important components of the computer. It stores data in digital format, either in dynamic or static. They are two kinds of software; Operating System which is the biggest software in the computer, and application software. Both of them load into computer memory before being able to use it. The more memory or space available, the more programs the computer can handle and execute simultaneously. The effectiveness of memory management affects the efficiency of the whole computer system.
Accurate management of main memory is imperative for a computer to work correctly. Present operating systems have complicated structure to correctly administer memory. Unsuccessful management will lead to a bad performance, and creates bugs, or even viruses.
Memory management provides the effectiveness of the memory’s dynamic allocation of any program requests, and freeing allocations for reuse when no longer needed. In computer system, memory management is critical. Operating system is managing memory and is responsible for bringing this process into main memory.
The translation may be performed in different ways at different moments, as follows:
• Compiler time: If it is known in advance that a program will reside at a specific location of main memory, then the compiler may be told to build the object code with absolute addresses right away. For example, the boot sect in a bootable disk may be compiled with the starting point of code set to 007C:0000.
• Load time: It is pretty rare that we know the location a program will be assigned ahead of its execution. In most cases, the compiler must generate relocatable code with logical addresses. Thus the address translation may be performed on the code during load time. (Chris Anley January 2002)
Memory management. It plays a vital role in preserving your computer resources. It starts in with requirements that memory management is designed to do the job. These requirements includes: 1. Relocation
4. Logical organization
5. Physical organization
Relocation is the process of assigning load addresses to various parts of a program and adjusting the code and data in the program to reflect the assigned addresses. Relocation is typically done in two steps:
1. Each entity has different sections like code, and data. To combine all the objects to a single executable, the linker merges all parts of similar type into a single section. The linker then assigns run time addresses to each segment. At this point, the code and data will have unique run time addresses.
2. Each section refers to one or more code and character, which should be modified so that they point to the correct run time addresses based on information stored in a relocation table. (Levine, 1999)
Protection. The idea of memory protection is to stop a process from entering memory that has not been used. It stops the bug from spreading all throughout the main memory affecting other program and put the operating system in danger. It controls main memory access rights on a computer. Each course of action protects against unnecessary interference by other processes.
The memory protection requirement requests assistance from the processor rather than the operating system, since when a process occupies the processor, the operating system can hardly manage it. Any protection system must allow numerous procedures to access the same segment of memory.
Sharing is the simultaneous accessed of several programs give communication among them or keep away from unneeded copies. Programs run on a single processor or on various separate processors. Shared memory is a proficient method of passing data between encodes.
Any protection must allocate numerous processes to enter the same segment of the main memory. Various procedures allocate the same...
References: Chris Anley (January 2002). Creating Arbitrary Shellcode In Unicode Expanded Strings. NGS Software Insight Security Research Publication.
William Stalling (2012). Operating Systems: Internals and Design Principles, Seventh Edition. Published by Prentice Hall.
John R. Levine (October 1999). Chapter 1: Linking and Loading. Linkers and Loaders. Morgan-Kauffman. p. 5 ISBN 1-55860-496-0
Please join StudyMode to read the full document