Osy MP F
Osy MP F
In the subject of
Operating System (22516)
Submitted by
Diksha K. Tijare
Tanvi U. Ghodmare
Krutika R. Solankey
Submitted to
Certificate
Place: Arvi
Date: / /2024
Declaration
We under the signed here by declare that the micro project report entitled
Demonstrate the use of Memory Management Tool in Operating System. We further
declare that contents of this report are properly citied and well acknowledge. This present report
is not submitted to any other examination of this or any other institute for the award of any
diploma.
……………………..
……………………..
Part 1: Micro-Project Proposal
Brief Introduction:
The term Memory can be defined as a collection of data in a specific format. It is used
to store instructions and process data. The memory comprises a large array or group of words
or bytes, each with its own location. The primary motive of a computer system is to execute
programs. These programs, along with the information they access, should be in the main
memory during execution. The CPU fetches instructions from memory according to the value
of the program counter.
A memory is a physical device used to store some sequence of instructions. Now, this
memory can be two types- one is primary and the other one is secondary memory. Primary
memory is used for the information in physical systems which function at high speed (i.e.
RAM), as a distinction from secondary memory, which are physical devices for program and
data storage which are slow to access but offer higher memory capacity [2] . Primary memory
is often associated with addressable semiconductor memory. There are two main types of
semiconductor memory: volatile and non-volatile (i.e., flash memory)
The main memory is central to the operation of a modern computer. Main Memory is a
large array of words or bytes, ranging in size from hundreds of thousands to billions. Main
memory is a repository of rapidly available information shared by the CPU and I/O devices.
Main memory is the place where programs and information are kept when the processor is
effectively utilizing them. Main memory is associated with the processor, so moving
instructions and information into and out of the processor is extremely fast. Main memory is
also known as RAM (Random Access Memory). This memory is a volatile memory. RAM lost
its data when a power interruption occurs. To achieve a degree of multiprogramming and proper
utilization of memory, memory management is important. Many memory management methods
exist, reflecting various approaches, and the effectiveness of each algorithm depends on the
situation.
Memory Management for Windows Drivers
Kernel-mode drivers allocate memory for purposes such as storing internal data,
buffering data during I/O operations, and sharing memory with other kernel-mode and
usermode components. Driver developers should understand memory management in Windows
so that they use allocated memory correctly and efficiently. Windows manages virtual and
physical memory, and divides memory into separate user and system address spaces. A driver
can specify whether allocated memory supports capabilities such as demand paging, data
caching, and instruction execution. The memory manager is the kernel component that performs
the memory management operations in Windows. The memory manager implements a number
of kernel-mode support routines that drivers call to allocate and manage memory.
The memory-management capabilities of kernel-mode drivers are different from those
of user-mode applications. For more information about memory management for applications.
Aim of Micro-Project:
This micro-project aims to: -
“Demonstrate the use of Memory Management tool in Operating System”
Advantages are:
1. A user can get or put his data to a desired location.
2. Processing ability of data increases.
3. Time consumption in loading is reduced.
4. RAM management becomes better.
5. Data becomes more secure.
1) At the first step, accumulate whole information with the help of Google and some web.
Understand the topic that how to use of the Memory Management tool in Operating
System.
2) Create a list of things the project needs to deliver to meet those goals and create a list
of tasks that we prepare easily.
3) Present the information in proper sequence on presentation, with help of some given
format.
4) Then we will include some own knowledge about the project and Procedure too.
5) At the last, for each resource detail start dates, the estimated duration and the method,
and create a sheet containing this information.
6) Prepare a main report of our project.
Resources Required:
Rationale: -
A memory is a physical device used to store some sequence of instructions. Now, this
memory can be two types- one is primary and the other one is secondary memory. Primary
memory is used for the information in physical systems which function at high speed (i.e.,
RAM), as a distinction from secondary memory, which are physical devices for program and
data storage which are slow to access but offer higher memory capacity.
Microsoft Windows has its own virtual address space for each 32-bit process, allowing
up to 4 gigabytes of memory to be viewed. Each process has 8-terabyte address space on 64bit
Windows. All threads have access to the visible address space of the process. Threads, on the
other hand, do not have access to the memory of another process, which protects one process
from being damaged by another.
Architecture for 32-bit Windows: The automatic configuration of the 32-bit Windows
Operating System (OS) allocates 4 GB (232) of accessible memory space to the kernel and user
programs equally. With 4 GB physical memory available, the kernel will receive 2 GB and the
app memory will receive 2 GB. Kernel-mode address space is shared by all processes, but
application mode access space is provided for each user process.
Architecture for 64-bit Windows: The automatic configuration of the 64-bit Windows
Operating System (OS) allocates up to 16 TB (254) of accessible memory space to the kernel
and user programs equally. As 16 TB real memory is available, the kernel will have 8 TB of
virtual address (VA) space and user application memory will have 8 TB of VA space. Visible
address space in the kernel is allocated for all processes. Each 64-bit functionality gets its place,
but each 32-bit system works on a 2 GB (Windows) virtual machine.
1) Memory manager is used to keep track of the status of memory locations, whether it is free
or allocated. It addresses primary memory by providing abstractions so that software
perceives a large memory is allocated to it.
2) Memory manager permits computers with a small amount of main memory to execute
programs larger than the size or amount of available memory. It does this by moving
information back and forth between primary memory and secondary memory by using the
concept of swapping.
3) The memory manager is responsible for protecting the memory allocated to each process
from being corrupted by another process. If this is not ensured, then the system may exhibit
unpredictable behavior.
4) Memory managers should enable sharing of memory space between processes. Thus, two
programs can reside at the same memory location although at different times.
Conclusion:
A deeper understanding about memory management approaches on a specific system
has become an important issue for programmer or system designer. Unlike other operating
system, windows perform so many sophisticated operations to be done with its job. Memory
involves process, threads and other underlying theory to complete a command from users. Thus,
my discussion is kept in a certain level, which covers the most basic area of memory
management in computing.
The purpose of this report is to give a conceptual understanding about memory
management as a whole. we will study on how the memory is allocated in windows OS, their
usage and behaviours. The report also studies the physical vs logical memory addresses
Reference:
• https://www.tutorialspoint.com/operating_system/os_memory_management.html
• https://www.geeksforgeeks.org/windows-memory-managment/
• https://en.wikipedia.org/wiki/Memory_management_(operating_systems)
• https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/windows-kernel-
mode-memory-manager
• http://wiki.gis.com/wiki/index.php/Windows_Memory_Management/