0% found this document useful (0 votes)
54 views

OS Research Report

This research report summarizes memory management techniques in operating systems. It discusses contiguous and non-contiguous allocation, paging, segmentation, and virtual memory. Paging allows non-contiguous allocation through pages, while segmentation partitions programs into variable-length segments. Virtual memory creates an illusion that more memory is available than physically installed. The report was submitted by Hafiza Inshal Asif and Nimra Shah to their professor Miss Sumaira Mustafa Qureshi.

Uploaded by

Nimra Shah
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

OS Research Report

This research report summarizes memory management techniques in operating systems. It discusses contiguous and non-contiguous allocation, paging, segmentation, and virtual memory. Paging allows non-contiguous allocation through pages, while segmentation partitions programs into variable-length segments. Virtual memory creates an illusion that more memory is available than physically installed. The report was submitted by Hafiza Inshal Asif and Nimra Shah to their professor Miss Sumaira Mustafa Qureshi.

Uploaded by

Nimra Shah
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

RESEARCH REPORT

Operating System
Title: Memory Management
Group Members:
HAFIZA INSHAL ASIF 1095-2020
NIMRA SHAH 899-2020

Submitted to:
Miss Sumaira Mustafa Qureshi
CONTENT:
1. Abstract
2. Keyword
3. Introduction
4. Memory Management
a) Contagious Memory Allocation
b) Non-Contagious Memory Allocation

5. Paging
a) Demand paging
b) Advantages and Disadvantages of paging

6. Segmentation
7. Virtual Memory
8. Hardware Implementation
9. Point of View

10. Conclusion
1. ABSTRACT:
In the recent era of computing, applications an operating system cannot survive without
efficient memory management, especially if an application has to be under Surve load for an
undefined long time. Resources must be utilized efficiently to enhance performance. This paper
describes about the memory management in an operating system and it will demonstrate basic
architecture of segmentation in an operating system and basic of its allocation. This paper also
describes about the basic concept of virtual memory management and dynamic memory
management.

2. Keyword:
Memory, Allocation, Segmentation, Support in segmentation.

3. INTRODUCTION:
An operating system (OS) is system software that manages computer hardware and software and
provides common services for computer programs. All computer programs, excluding firmware, require
an operating system to function.

The main purpose of a computer system to execute programs. These programs with their accusing data
must locate in the main memory at the time for execution. The principles of managing the main memory
which is one of the most precious resources in a multiprogramming system of an operating system.

Memory consists of a large array of words or bytes each with its own address. Modern operating
systems provide efficient memory management and still research is being conducted to improve the
way the allocated for applications because the main problem faces the memory allocation algorithm.

As we know that the goals of an Operating system are convenient and efficiently so we should take care
of these two goals of an operating system.

One of the most important and critical function of the operating system is to ensure that the
computer’s memory is effectively managed and controlled to ensure optimal performance of
the computing system. Primary and secondary memories are the two types of memory that are
managed by the OS. Primary memory is the random access memory (RAM) whose responsibility
is to hold volatile data and programs that are required for programs to run in the CPU.
On the other hand, secondary memory (hard disk) is a non-volatile memory chiefly meant to
provide long term storage of data and programs. Memory management encompasses
managing of hardware, operating systems, virtual memory, and application memory. The OS
effectively manages memory through a memory management unit (MMU). The MMU maps
virtual addresses into physical addresses since running programs can only identify logical
addresses only.
4. MEMORY MANAGEMENT:
Memory management Schemes are broadly divided into following categories:
a. Contiguous Memory Allocation:
Contiguous allocation means that each logical object is placed in a set of memory locations with
strictly consecutive addresses. Bare machines, resident monitor, multiprogramming are in further
division of contiguous allocation while multiprogramming is categorized into two parts i.e. Fixed
partition and variable partition.

b. Non-Contiguous Memory Allocation:


Non-contiguous allocation implies that a single logical object may be placed in non-
consecutive of memory location. Paging and segmentation are th two mechanisms that are
used to manage non-consecutive contiguous memory allocation. A better method to overcome
the fragmentation problem was evolved which makes our logical address spaces non-
contiguous in nature.

5. PAGING
Paging is a memory management scheme that removes the requirement of contiguous
allocation of physical memory. This scheme permits the physical address space of a
process to be non-contiguous. Because of this advantage over the previous methods
discussed for memory management, paging was used in most of the operating system.

a. Demand Paging:
In demand paging a page is brought into the memory for its execution only when it is demanded
otherwise it is remained in backing storage disk. The name seems to have been derived from
demand feeding.

b. Advantages and Disadvantages of Paging:


 Here is a rundown of favorable circumstances and impediments of paging -
 Paging decreases outer discontinuity, yet at the same time experience the ill
effects of inside fracture.
 Paging is easy to actualize and expected as a productive memory for the board
method.
 Due to the parallel side of the pages and edges, swapping turns out to be
simple.
 Page table requires additional memory space, so may not be useful for a
framework having little RAM

6. SEGMENTATON:
The division is a memory the board system in which each activity is partitioned into a few fragments
of various sizes, one for every module that contains pieces that perform related capacities.
Each section is really an alternate intelligent location space of the program.
At the point when a procedure is to be executed, its relating division is stacked into non-
coterminous memory however every section is stacked into an adjoining square of
accessible memory.
Division memory the board works fundamentally the same as paging however here sections
are of variable-length whereas in paging pages are of fixed size.
A program section contains the program's principle work, utility capacities, information
structures, etc. The working framework keeps up a portion map table for each procedure
and a rundown of free memory obstructs alongside section numbers, their size and relating
memory areas in primary memory. For each portion, the table stores the beginning location
of the fragment and the length of the section. A reference to a memory area incorporates
esteem that distinguishes a fragment and a counterbalance.

7. VIRTUAL MEMORY:
It is a virtual resource of a computer. It is an illusion that a system possesses more memory
that is actually having this illusion makes a process independent of the size of real memory.
It also permits a large number of processes to share a computer system without
constraining each other.
The details of virtual memory management are generally transparent to programs. The
ability to execute a partially loaded process is also advantageous from the operating system
point of view, it also used to reduce the external fragmentation without the need to change
the scheduled order of process executions.

8. HARDWARE IMPLEMENTATION:
In a system using segmentation, computer memory addresses consist of a segment id and an
offset to the segment. A hardware memory management is responsible for translating the
segment and offset into a physical memory address, and for performing checks to make sure the
translation can be done and that the reference to that segment and offset is permitted.
10. POINT OF VIEW:
It is important to note, from the foregoing discussion that memory management is one of
the critical functions of the operating system. Therefore, memory has to be efficiently
managed to ensure efficient utilization. The operating system fulfills the whole objective of
memory management by using an integral software component referred to as the memory
management unit (MMU). That implies that the OS delegates some of its memory
management responsibilities to the MMU while supervising its functionality.

It is arguable that the OS will always report any error that may arise due to allocation and
de-allocation of main memory. The MMU is one of the kernel components of the OS.
Typically, the operating system divides memory into two classes. That is primary memory
and secondary memory. Primary memory is concerned with the storage of volatile data and
programs while secondary memory provides long term data and program storage.

Programs wanting to execute in the CPU have to be moved into and out of main memory
through mechanism known as swapping. Depending on the number of processes that have
been swapped in and out of main memory, a number of holes equivalent to the number of
processes that have been moved are created. These holes can be filled by swapping
programs into and out of memory. However, the movement of processes in and out of main
memory is bound to create many small holes into which new processes cannot fit.

This causes the system efficiency to be compromised. To enhance system throughput,


memory can be compacted or a number of placement algorithms can be used to overcome
the fragmentation problem. However, to optimize system efficiency, memory should be
compacted or defragmented. On the other hand, when programs run system efficiency can
also be optimized by use of virtual memory.

9. CONCLUSION:
Hence, with this we have understood about the indispensable concept of an operating system
and its memory management and its segmentation in memory and also a short outlook of
memory management. In this paper different memory allocation techniques have been
discussed along with their comparative analysis.
In conclusion therefore, it is evident that memory management is one of the critical
responsibilities of the operating system. The OS divides memory into primary and secondary
memory and ensures that policies are put in place to effectively manage and control these
memory types. Typically, primary memory is volatile as it holds the data and programs needed
for processes to execute in the CPU while secondary memory provides long term data and
program storage. In order to efficiently manage programs and data in primary memory, the
operating system assigns the responsibility of managing memory to the memory management
unit (MMU) also referred to as the memory manager. The OS assumes supervisory roles and
ensures that programs and data are assigned and moved out of memory during program
execution through the MMU, an integral component of the OS.

You might also like