TheHingineer

  • Operating System


  • OS Part-1

  • OS Part-2

  • OS Part-3

  • OS Part-4

  • OS Part-5

  •  Segmentation in Operating System 

     Segmentation kya hota hai?

    Segmentation ek memory management technique hai jisme Operating System process ko logical parts (segments) me divide karta hai — jaise:

    • Code Segment – program ke instructions

    • Data Segment – variables aur constants

    • Stack Segment – function calls, return addresses, etc.

    Har segment alag-alag size ka hota hai, kyunki unka kaam aur data alag hota hai.

    Segmentation me memory ko logically divide kiya jata hai, fixed size me nahi — yeh Paging se alag hai.

     Segmentation ki zarurat kyu padti hai?

    Real programs ka structure logical hota hai — unme different parts hote hain:

    SegmentUse
    CodeProgram instructions run karne ke liye
    DataVariables store karne ke liye
    StackFunction calls aur temporary values ke liye

    Agar sabko same size ke fixed blocks me rakhoge (jaise Paging me), to kuch memory waste ho sakti hai.

     Segmentation se:

    • Logical grouping possible hai

    • Memory ko efficiently use kiya ja sakta hai

    • Har segment alag manage aur protect kiya ja sakta hai

     Paging vs Segmentation

    FeaturePagingSegmentation
    DivisionFixed-size blocks (Pages)Logical parts (Segments)
    SizeSame size blocksAlag-alag size blocks
    Programmer ViewHidden from programmerVisible & logical (Code/Data/Stack)

     Segmentation kaise kaam karta hai?

     Step 1: Process ko segments me baanto

    Example:

    • Segment 0: Code – 1000 bytes

    • Segment 1: Data – 500 bytes

    • Segment 2: Stack – 300 bytes

     Step 2: Segment Table banao

    Operating System ek Segment Table banata hai har process ke liye, jisme likha hota hai:

    Segment NoBase AddressLimit (Size)
    0 (Code)20001000
    1 (Data)4000500
    2 (Stack)5000300
    • Base = Segment RAM me kaha se start ho raha hai

    • Limit = Segment ka size kitna hai

     Step 3: Address Translation (Logical to Physical)

    CPU logical address bhejta hai in 2 parts:

    [ Segment Number | Offset ]
     

    Operating System karta hai:

    1. Segment Number se Segment Table me Base aur Limit nikaalta hai

    2. Check karta hai ki Offset < Limit hai ya nahi

    3. Agar valid hai → Physical Address = Base + Offset

    4. Agar Offset zyada ho gaya →  Segmentation Fault

     Example:

    • Logical Address = Segment 1, Offset = 100

    • Segment 1 ka Base = 4000

    • Offset = 100
       100 < 500 (Limit)

     Physical Address = 4000 + 100 = 4100

    Agar Offset = 600 hota:
      600 > 500 → Segmentation Fault (invalid memory access)

     Segmentation Flow Diagram:

     
     Logical Address
          ↓
    [ Segment Number | Offset ]
          ↓
    Segment Table Look-up
          ↓
    Base + OffsetPhysical Address
          ↓
    If Offset < LimitMemory Access Allowed
    ElseSegmentation Fault
     

     Real-Life Example 

    Socho tumhara school bag (memory) hai.
    Usme alag-alag compartments (segments) hain:

    • Books → Code

    • Stationery → Data

    • Lunchbox → Stack

    Har cheez ka alag segment hota hai. Tumhe pata hai kis item ko kis compartment me rakhna hai — yehi segmentation ka concept hai.

     Advantages

    -> Logical program structure maintain hota hai
    -> Har segment alag protect aur access control ke saath manage hota hai
    -> Programmer ko memory structure clearly samajh aata hai
    -> Internal fragmentation nahi hota (kyunki sizes exact hote hain)

     Disadvantages

    -> External Fragmentation – Memory ke beech khaali space chhut sakti hai
    -> Segment Table banana aur maintain karna complex ho sakta hai
    -> Memory allocation variable hone ki wajah se OS ka kaam thoda mushkil hota hai

     Summary Table

    ConceptMeaning
    SegmentLogical part of a program (Code, Data, Stack)
    Base AddressSegment ka start point in RAM
    LimitSegment ka size
    Logical AddressSegment No + Offset
    Physical AddressBase + Offset
    Segmentation FaultJab offset allowed size se zyada ho jaye
    Scroll to Top