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
Distributed Operating System: Design Issues
Distributed Operating System (DOS) ka design kaafi complex hota hai kyunki ye multiple computers ko ek system ki tarah operate karne ki koshish karta hai. Iske design me kai challenges aur factors ko consider karna padta hai.
Key Design Issues in Distributed OS
1. Transparency
Distributed OS ka ek bada goal ye hai ki user ko ye mehsoos na ho ki wo multiple systems pe kaam kar raha hai. Transparency ke alag-alag types hote hain:
Type | Explanation |
---|---|
Access Transparency | User bina kisi tension ke files aur resources access kar sake chahe wo local ho ya remote. |
Location Transparency | User ko ye na pata chale ki resource kis machine pe hai. |
Replication Transparency | Agar ek file multiple copies me store hai, to user ko sirf ek version dikhai de. |
Failure Transparency | Agar system me koi failure hota hai to wo automatically recover ho jaye bina user ko pata chale. |
Concurrency Transparency | Multiple users ek saath resources use kar sakein bina kisi conflict ke. |
Example: Agar aap kisi networked printer se print kar rahe hain, to aapko ye nahi dekhna padta ki printer kis machine se connected hai.
2. Fault Tolerance
Distributed OS ko failures handle karne ke liye design kiya jata hai. Agar ek system fail ho jaye to doosra system uska kaam continue kare. Redundancy: Extra hardware/software use karke failure se bachne ka tarika.
Checkpointing: System time-time pe apni state save karta hai taaki failure hone par restore kiya ja sake.
Example: Agar ek server crash ho jaye to ek backup server automatically uska kaam le leta hai.
3. Resource Management
Distributed OS me multiple resources hote hain jaise CPU, memory, printers, storage etc. Inko efficiently allocate karna zaroori hota hai.
Process Scheduling: Multiple nodes pe processes allocate karna.
Load Balancing: Agar ek node pe load zyada hai to workload doosre nodes me distribute karna.
Deadlock Handling: Multiple processes agar ek resource ke liye ruk jayein to system deadlock me chala jata hai, jisko avoid karna zaroori hai.
Example: Agar ek file server pe load zyada ho jaye to dusre file server ko use karne ka system ho.
4. Security and Protection
Distributed systems multiple devices aur networks se connected hote hain, is wajah se security ek major issue hota hai.
Authentication: Users aur devices ko verify karna.
Encryption: Data ko secure rakhne ke liye cryptography ka use.
Access Control: Har user ke paas sirf limited permissions ho jo zaroori ho.
Example: Agar aap kisi cloud storage me file save karte hain, to wo file encrypted hoti hai taki unauthorized users access na kar sakein.
5. Process Synchronization
Distributed OS me multiple processes ek saath kaam karti hain, to unko properly synchronize karna zaroori hota hai.
Mutual Exclusion: Ek hi samay me ek resource sirf ek process use kare.
Timestamp Ordering: Agar do processes ek hi resource access karna chahti hain, to unko proper order me execute karna.
Example: Agar ek distributed database me multiple users ek hi file ko edit kar rahe hain, to system decide karega ki kaun pehle edit karega.
6. Naming and Directory Services
Har resource ka ek unique name hota hai taki system usko identify kar sake.
Global Naming System: Distributed OS me har resource ka ek unique global name hota hai.
Distributed Directory Service: Users ko resources dhoondhne me madad karta hai.
Example: DNS (Domain Name System) ek naming service ka example hai jo distributed way me kaam karta hai.
Conclusion
Distributed Operating System ka design transparency, fault tolerance, resource management, security, synchronization aur naming system ke issues ko dhyan me rakhke kiya jata hai. Ek achha distributed OS wo hoga jo efficiently aur reliably multiple nodes ko ek system ki tarah operate kare.