×

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

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.

Inter Process Communication in Operating System

Inter-Process Communication or IPC refers to the methods and techniques that allow processes (programs or tasks) to communicate with each other within a computer system. This is typically done through...

3 minutes read.

Process Synchronization | Operating System

Process Synchronization Process Synchronization means managing the process in such a manner so that no two processes have access to share similar data and resources. We can use Process Synchronization in a Multi-Process System...

4 minutes read.

Semaphore in Operating System

What is Semaphore in Operating System Semaphore is defined as an integer variable which is used to solve the problem of the critical section in process synchronization. In semaphore, we use...

3 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.

How to implement Monitors using Semaphores

Monitors Monitor is a type of synchronization device designed to solve difficulties caused by semaphores, such as timing errors. Monitors are the type of data types that are abstract by nature...

2 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.

HRRN Scheduling in OS

Highest Response Ratio Next (HRRN) Scheduling in OS Highest Response Ratio Next Scheduling is a Non-Preemptive Scheduling algorithm. This algorithm provides the benefits of the shortest job first scheduling algorithm and also removes...

6 minutes read.

Interested Variable Mechanism

Interested Variable Mechanism It is a must to provide progress to the process synchronization mechanism. In variable mechanism, if there is a process that doesn’t need to enter into the critical section, then due...

5 minutes read.

Deadlock Prevention in Operating System

Deadlock Prevention The conditions which we used for deadlock prevention are: Mutual ExclusionHold and WaitNo PreemptionCircular Wait 1. Mutual Exclusion: - From the resource point of view, the mutual exclusion means that simultaneously more...

4 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.

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.

File in Operating System

What is File in Operating System?  A file is defined as a collection of the interrelated information that is stored in the secondary memory or the non-volatile memory such as optical...

4 minutes read.

What is Thread and Types of Thread

What is Thread A thread means a lightweight process. Thread is the basic unit of CPU execution, which consists of thread ID, Program counter, set of registers to hold the information of current...

7 minutes read.

Ubuntu Operating System

Ubuntu Operating System Ubuntu is an open-source and a Linux based operating system. Ubuntu is developed for the Network Servers, Computers, and Smartphones. The Ubuntu operating system was developed by Canonical...

3 minutes read.

MS-DOS Operating System

It is also referred to occasionally as "DOS", an abbreviation for disc operating systems. Operating systems with a graphical user interface (GUI) in different iterations of the graphical Microsoft Windows...

5 minutes read.

Difference between C-LOOK and C-SCAN Disk Scheduling Algorithm

Disk scheduling is used by operating systems to arrange the arrival of I/O requests to the disc. I/O scheduling is another name for disc scheduling. Disk scheduling is necessary because...

4 minutes read.

Two Phase Locking Protocol

What is two phase locking? Two-phase locking is a concurrency control method in a database and transaction processing system. It ensures that transactions are executed in a serializable manner by requiring...

4 minutes read.

Bit Vector in Operating System

What is Bit vector? Bit vector is one of the most important methods used in the free space management of operating system. Free space management which is used by the operating...

3 minutes read.

Linux Operating System

What is Linux? The Linux operating system is used on various devices, including cellphones, automobiles, supercomputers, household gadgets, personal computers, and business servers. You can find Linux on your phones, thermostats, vehicles,...

8 minutes read.