wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Memory

profile
Deepti Ghori
Aug 14, 2024
0 Likes
0 Discussions
29 Reads

A user program can be subdivided using segmentation, in which the program and its associated data are divided into a number of segments . It is not required that all segments of all programs be of the same length, although there is a maximum segment length. As with paging, a logical address using segmentation consists of two parts, in this case a segment number and an offset.  


Because of the use of unequal-size segments, segmentation is similar to dynamic partitioning. In the absence of an overlay scheme or the use of virtual memory, it would be required that all of a program’s segments be loaded into memory for execution. The difference, compared to dynamic partitioning, is that with segmentation a program may occupy more than one partition, and these partitions need not be contiguous. Segmentation eliminates internal fragmentation but, like dynamic partitioning, it suffers from external fragmentation. However, because a process is broken up into a number of smaller pieces, the external fragmentation should be less.  


Whereas paging is invisible to the programmer, segmentation is usually visible and is provided as a convenience for organizing programs and data. Typically, the programmer or compiler will assign programs and data to different segments. For purposes of modular programming, the program or data may be further broken down into multiple segments. The principal inconvenience of this service is that the programmer must be aware of the maximum segment size limitation.  


Another consequence of unequal-size segments is that there is no simple relationship between logical addresses and physical addresses. Analogous to paging, a simple segmentation scheme would make use of a segment table for each process and a list of free blocks of main memory. Each segment table entry would have to give the starting address in main memory of the corresponding segment. The entry should also provide the length of the segment, to assure that invalid addresses are not used. When a process enters the Running state, the address of its segment table is loaded into a special register used by the memory management hardware. 


Consider an address of n + m bits, where the leftmost n bits are the segment number and the rightmost m bits are the offset. In our example, n = 4 and m = 12. Thus the maximum segment size is 2^12 =4096.

The following steps are needed for address translation: 

 • Extract the segment number as the leftmost n bits of the logical address. 

 • Use the segment number as an index into the process segment table to find the starting physical address of the segment. 

 • Compare the offset, expressed in the rightmost m bits, to the length of the segment. If the offset is greater than or equal to the length, the address is invalid.

• The desired physical address is the sum of the starting physical address of the segment plus the offset.  

In our example, we have the logical address 0001001011110000, which is  segment number 1, offset 752. Suppose that this segment is residing in main memory starting at physical address 0010000000100000. Then the physical address is 0010000000100000 + 001011110000 = 0010001100010000 ( Figure below ). 

To summarize, with simple segmentation, a process is divided into a number of segments that need not be of equal size. When a process is brought in, all of its segments are loaded into available regions of memory, and a segment table is set up.


Comments ()


Sign in

Read Next

File management -disha parekh

Blog banner

Be you

Blog banner

PODIO

Blog banner

Recipe of Paneer Butter Masala

Blog banner

Malware Detection Techniques for Mobile Devices

Blog banner

Natural Language Processing(NLP)

Blog banner

Blockchain uses and use cases

Blog banner

Data Analytics in Data Science

Blog banner

LTE Technology

Blog banner

"Audit" In Data Science

Blog banner

Incorporating Automation into Digital Forensics.

Blog banner

A Weekend at Oak Tree Hotel: The Best Hotel Experience in Arcadia, Florida

Blog banner

Cloud Technology and its Implications for Entrepreneurship

Blog banner

EMAIL INVESTIGATION

Blog banner

Zero-Day Attack

Blog banner

Constrains in service design

Blog banner

Web browser forensics:Tools,Evidence collection and analysis

Blog banner

Cloud Security: Trends and Innovations

Blog banner

Top 5 Tech Innovations of 2018

Blog banner

(Input/Output) in os

Blog banner

Booting Process In Operating System

Blog banner

Business Intelligence v/s Big Data

Blog banner

How to insert contacts in zoho crm using php

Blog banner

Email Privacy

Blog banner

Image Steganalysis in Digital Forensics

Blog banner

Exploring the Power of Encase Forensic Tools: Unraveling Digital Mysteries

Blog banner

Nature’s Brush on Silk: The Secret Behind Patola Colours

Blog banner

Meal Maharaj — 3 CP, 5 CP, 8 CP. Same Love, Different Portions

Blog banner

Indian Culture and Tradition

Blog banner

Importance Of Education.

Blog banner

Outlook.com

Blog banner

bulk email software

Blog banner

Environmental Management using GIS

Blog banner

GIS Mapping

Blog banner

Patola Outfits for the Modern Wardrobe: Reviving Indian Handloom in Style

Blog banner

Rules and Regulations of Networking: "Standards and Protocols" - Part 2

Blog banner

Jamming Attacks in Network Security: Disrupting Communication Signals

Blog banner

Top 5 Places To Stay And Visit In Berlin, Germany

Blog banner

Data Mining

Blog banner

Data Lake

Blog banner

How to write a cover letter

Blog banner

Predictive Analysis - Ek Overview

Blog banner