×

Segmentation in Operating System

The term segmentation in operating system refers to the division of computer memory into segments. Segmentation is a technique used by many modern operating systems to provide better memory management. In this article, we will explore the concept of segmentation in operating systems. We will discuss the advantages and disadvantages of segmentation, and we will also provide some examples of how segmentation is used in modern operating systems.

What is Segmentation?

Another method for managing memory that gives the user a view of a process is segmentation. The user’s view gets mapped in the physical memory.

A process is broken up into multiple segments in segmentation. In contrast to paging, each segment may not necessarily be the same size. A process was broken up into equal parts, or pages, in Paging. The size of a segment is determined by the module it contains.

Why is Segmentation Necessary?

It is important to segment a system because each process or user requires a certain amount of resources, which may be limited. For example, if one process hogs the CPU, other processes may starve and not get the resources they need. By segmenting the system, processes can be isolated so that one process cannot interfere with the others.

One of our memory management strategies was paging. Paging divides the process into equal-sized pages, regardless of what was contained within the pages. It likewise separates a few relative pieces of a cycle into various pages which ought to be stacked in total agreement. It doesn't give the user a view of a process and makes the system less efficient.

Segmentation in Operating System

Types of Segmentation

1. Simple Segmentation

Simple Segmentation also divides the processes into n segments, even though the segmentation is completed simultaneously. Simple segmentation takes place during the execution of a program. Simple segmentation that scatters the segments into the memory (in a noncontinuous manner) may cause one process segment to be located in a different location than another.

2. Virtual Memory Segmentation

By using virtual memory segmentation, processes are broken up into n segments. These segments are not divided simultaneously. Virtual memory segmentation may or may not be used during a program's runtime.

Characteristics of Segmentation

The segmentation method has the following characteristics:

  • In the segmentation technique, variable-size partitioning is utilized.
  • Secondary memory partitions are collectively referred to as segments.
  • Partition size is significantly influenced by module length.
  • As a result, the main memory and the secondary memory are divided into partitions of varying sizes using this approach.

What is Segment Table in OS & its Uses?

The main memory's actual address differs from the CPU's. Logical addresses are those produced by the CPU, whereas physical addresses are created by main memory.

In a segment table, the data for each part of the process is stored. It is common knowledge that a segment table is used to convert a CPU-generated logical address into a physical address. A two-dimensional logical address is mapped to a one-dimensional physical address using the segment table.

Components of Segment table

There are two sections of to the segment table:

1. Segment Base

The address of a segment's base is also known as the segment base. The physical addresses at which the memory segments begin are contained in the segment base.

2. Segment Limit

  • Segment Offset is a different name for the segment limit. It contains the precise length of the segment.
  • STBR stands for Segment Table Base Register. The STBR stores the base address of the segment table.
  • STLR (Segment Table Length Register) keeps track of how many segments a program uses. As a separate segment, the segment table itself is kept in the main memory. The segment table may occasionally consume a lot of memory if there are many segments.
Segmentation in Operating System

Advantages of Segmentation

Segmentation has the following advantages in an Operating System:

  • Internal fragmentation is absent from segmentation.
  • A segment table stores the segments' records. When compared to a page table for paging, the segment table consumes less memory by itself.
  • Segmentation increases the CPU utilization because an entire module is loaded at once.
  • The user's view of physical memory is basically the same as Segmentation. Segmentation allows users to divide user programs into modules. The codes of individual processes make up these modules.
  • In paging, the page size is determined by the hardware, whereas the user specifies the size of the segment.

Disadvantages of Segmentation

Following are the disadvantages of segmentation in OS:

  • Segmentation techniques have serious problems because the free space becomes fragmented when processes switch.
  • Fetching instructions or segments takes a long time.
  • Interchanging different size segments is difficult.
  • The cost of maintaining the segment table for each process is another expense.
  • A process is removed from the main memory as soon as it terminates.

Related Topics

FCFS (First-Come-First-Serve) Disk Scheduling Algorithm

FCFS Disk Scheduling Algorithm FCFS (First-Come-First-Serve) is the easiest disk scheduling algorithm among all the scheduling algorithms. In the FCFS disk scheduling algorithm, each input/output request is served in the order...

4 minutes read.

Lock Variable Mechanism | Operating System

Lock Variable Mechanism The Lock variable mechanism is a synchronization mechanism that is implemented in a user mode. It is a software procedure. Lock variable is a solution for busy waiting that can be...

3 minutes read.

Types of Operating System

There are various types of operating system: Simple Batch Operating SystemMultiprogramming batch Operating SystemTime-sharing Operating SystemMultiprocessor Operating SystemDistributed Operating SystemNetwork Operating SystemReal-time Operating SystemMobile Operating System Simple Batch operating system In the simple batch operating system, there is no direct communication between...

6 minutes read.

What is Scheduling on OS

Scheduling is the process which is used to share the computing resources such as memory, processor time, and bandwidth to the different processes, data flows, threads, and applications which need them. Scheduling is...

5 minutes read.

Unix Operating System

Unix Operating System Unix Operating System is a multiuser, portable, time-sharing, and multitasking operating system that was developed in 1969. Unix operating system was developed by a group of AT &...

3 minutes read.

Difference between Process and Program in the Operating System

What is a process in the Operating System? A process is a program that is going through the execution. It also helps us to execute all the lines of code in...

4 minutes read.

Components of Operating System

Components of Operating System: An operating system is a complex and vast system. We can only create the operating system by dividing it into small parts. Each part must be...

5 minutes read.

Contiguous Memory Allocation in Operating System

Memory is a place where data, facts, figures, and information are stored for temporary or permanent access the data in future, which is also considered as the storage place. Allocation of...

4 minutes read.

Deadlock Avoidance

Deadlock Avoidance In an operating system, for deadlock avoidance, we perform the following: We only grant the request of the resources if the resulting state of the system will not cause any deadlock in the...

3 minutes read.

DOS Operating System

What is DOS Operating System? An operating system that runs from a hard disk drive is known as the DOS (Disk Operating System).In other words, DOS (Disk Operating System) is defined...

7 minutes read.

Evolution of Operating System

Evolution of Operating System The evolution of various types of operating systems can be briefly described as follows: Serial Processing Since 1950, the operating system started to be in use. Before 1950, there...

5 minutes read.

Feedback Queue in Operating System

In a computer or a laptop, there is a processor which do all the tasks. The processor cannot do all the tasks at a time. So, the tasks will be...

3 minutes read.

Directory Structure in Operating System

Directory Structure in Operating System What is a Directory A Directory is the collection of the correlated files on the disk. In simple words, a directory is like a container which contains...

8 minutes read.

CPU Scheduling in OS

What is Scheduling? Scheduling is the process that is used to share the computing resources such as memory, processor time, and bandwidth to the different processes, data flows, threads, and applications that need...

5 minutes read.

Multi-user Operating Systems

Introduction Since only one user may interact with the computer at any given time, the operating system we use on our personal computers, laptops, tablets, and phones is sometimes referred to...

8 minutes read.

Distributed Shared Memory

Distributed Shared Memory is a process of managing memory over more than one node and makes inter-process communication which transfers to end users. It is a mechanism that allows user...

2 minutes read.

Difference between Seek Time and Disk Access Time in Disk Scheduling

Seek Time The time taken for the hard disk controller to detect a specific piece of recorded data is known as the seek time. The amount of time it takes to...

4 minutes read.

Booting Process in Operating System

What is Booting? Booting is defined as the term which says that the process of loading the operating system into the memory. The process of booting begins when we switch on...

4 minutes read.

Difference between Rotational Latency and Disk Assess Time in Disk Scheduling

Disk scheduling is used by operating systems to arrange the arrival of I/O requests to the disc. Disk scheduling is necessary because several I/O requests may occur from various processes,...

4 minutes read.

Swapping in Operating System

Swapping in operating systems refers to temporarily transferring a program or process from main memory to a secondary storage device, such as a hard drive or solid-state drive when there...

4 minutes read.