Operating System
OS Part-1
OS Part-2
- File Concepts and Access methods
- Free Space Management and Allocation methods
- Directory Systems and Protection
- File Organization, Sharing and Implementation issues
- Disk and Drum Scheduling
- I/O Devices Organisation & I/O Buffering
- I/O Hardware, Kernel I/O subsystem and Transforming I/O Requests to Hardware Operations
- Device Drivers and Path Management
- Device Driver Sub Modules and Procedure
- Device Scheduler and Handler
- Interrupt Service Routine (ISR)
- File System in Linux and Windows
OS Part-3
- Process and Process Control Block(PCB)
- Process Scheduling( Preemptive and Non Preemptive)
- Scheduling Algorithms
- Algorithm Evaluation
- Multiple Processor Scheduling
- Real Time Scheduling
- Operations on Processes
- Threads
- Inter-Process Communication
- Precedence Graphs
- Critical Section Problem
- Semaphores
- Classical Problems of Synchronization
- DeadLock
- Deadlock Prevention and Avoidance
- Deadlock Detection and Recovery
- Process Management in Linux
OS Part-4
- Memory Hierarchy in OS
- Concepts of Memory Management
- MFT and MVT
- Logical and Physical Address Space
- Swapping
- Contiguous and Non Contiguous Memory Allocation
- Paging
- Segmentation
- Paging Combined with Segmentation
- Structure and Implementation of Page Table
- Virtual Memory in OS
- Cache Memory Organization
- Demand Paging
- Page Replacement Algorithms
- Allocation of Frames and Thrashing
- Demand Segmentation
OS Part-5
- Distributed Operating System: Introduction and Types
- Distributed OS: Design Issues
- Distributed OS: File System
- Distributed OS: Remote File Access
- Remote Procedure Call(RPC)
- Remote Method Invocation(RMI)
- Distributed Shared Memory
- Parallel Processing and Concurrent Programming
- Security and Threats Protection in Distributed OS
- Security Design Principles and Authentication in Distributed OS
- Sensor Network and Parallel OS
MFT & MVT in Operating System
MFT (Multiprogramming with Fixed number of Tasks) aur MVT (Multiprogramming with Variable number of Tasks) do important memory management techniques hain jo multiprogramming environment me memory allocation aur utilization ko optimize karne ke liye use hoti hain.
🔹 What is MFT (Multiprogramming with Fixed number of Tasks)?
MFT ek static memory allocation technique hai jisme main memory ko fixed-size partitions me divide kiya jata hai.
👉 Key Features:
✔ Memory fixed-size partitions me divide hoti hai.
✔ Har process ko ek fixed partition assign hota hai.
✔ Agar kisi process ko kam memory chahiye, toh bhi usko pura partition milega (internal fragmentation issue).
✔ Simple aur easy to implement hai, lekin memory wastage ho sakti hai.
💡 Example of MFT:
Agar ek OS ke paas 512MB RAM hai aur usko 4 fixed partitions (128MB each) me divide kiya gaya hai, toh:
Partition | Size (MB) | Process |
---|---|---|
1 | 128 | Process A (80MB) |
2 | 128 | Process B (90MB) |
3 | 128 | Process C (110MB) |
4 | 128 | Process D (50MB) |
👉 Process D sirf 50MB use kar raha hai, lekin usko poore 128MB ka partition mila hai → Internal Fragmentation problem.
🔹 What is MVT (Multiprogramming with Variable number of Tasks)?
MVT ek dynamic memory allocation technique hai jisme memory ko variable-size partitions me allocate kiya jata hai based on process requirements.
👉 Key Features:
✔ Memory ko dynamically allocate kiya jata hai jise external fragmentation reduce hoti hai.
✔ Process jitni memory demand karta hai, utni hi memory allocate hoti hai.
✔ No fixed partitions, better memory utilization.
✔ Complex implementation compared to MFT.
💡 Example of MVT:
Agar ek OS ke paas 512MB RAM hai aur processes ki memory demand different sizes ki hai:
Process | Required Memory (MB) |
---|---|
A | 100 |
B | 120 |
C | 90 |
D | 50 |
👉 Memory allocation dynamically hoti hai, toh yaha koi fixed-size partitions nahi hain → Better memory utilization.
🔹 Differences Between MFT & MVT
Feature | MFT (Multiprogramming with Fixed Tasks) | MVT (Multiprogramming with Variable Tasks) |
---|---|---|
Memory Partitioning | Fixed-size partitions | Variable-size partitions |
Memory Allocation | Processes ko fixed partitions assign hoti hain | Processes jitni memory demand karein, utni hi allocate hoti hai |
Fragmentation | Internal fragmentation hoti hai | External fragmentation ho sakti hai |
Memory Utilization | Low (kyunki unused space waste hoti hai) | High (kyunki memory dynamically allocate hoti hai) |
Flexibility | Less flexible (Fixed partitions) | More flexible (No fixed partitions) |
🔹 Fragmentation Issues in MFT & MVT
1️⃣ MFT me Internal Fragmentation:
Agar ek process chhoti size ki hai, toh bhi usko poora partition allocate hoga, jo memory waste karega.
✔ Solution: Use MVT or Paging
2️⃣ MVT me External Fragmentation:
Jab process terminate hota hai, toh chhoti-chhoti empty memory spaces bach jati hain jo naye processes ko allocate nahi ho sakti.
✔ Solution: Use Compaction or Paging
🔹 Conclusion
✅ MFT easy to implement hai but memory wastage zyada hoti hai.
✅ MVT better memory utilization karta hai but external fragmentation ka issue hota hai.
✅ Modern OS mostly Paging aur Segmentation jese techniques use karte hain jo MVT ke problems solve karti hain.