| SUBJECT: OS | |
| Experiment No.: 10 | |
| Problem Statement 1: Readers–Writers File Access with Priority Control | |
| Design a system to simulate RAID storage techniques (RAID 0, RAID 1, RAID 5) for file | |
| operations. | |
| Implement: | |
| • Data distribution across multiple disks using striping, mirroring, and parity | |
| • Read/write operations with disk-level mapping | |
| • Failure simulation of one disk and data recovery using redundancy/parity | |
| Analyze: | |
| • I/O performance (time taken for read/write) | |
| • Reliability under disk failure | |
| • Trade-off between performance and fault tolerance | |
| Code: | |
| Output: | |
| 1 | |
| Problem Statement 2: Inode-Based File System Representation | |
| Design and implement a simplified UNIX-like file system using inode structures. | |
| The system should: | |
| • Represent files using inode data structure (metadata + block pointers) | |
| • Support: | |
| o Direct, single indirect, and double indirect block allocation | |
| • Convert path names to inode numbers | |
| • Simulate file operations: | |
| o Create, read, write, delete | |
| Display: | |
| • Inode table | |
| • Block allocation status | |
| • File-to-disk mapping | |
| Analyze efficiency of inode-based storage for large vs small files. | |
| Code: | |
| Output: | |
| 2 | |
| Problem Statement 3: Inode Allocation and Free Space Bitmap Management | |
| Implement: | |
| o Inode allocation table | |
| o Free block management using bitmap | |
| Simulate: | |
| o File creation → inode allocation | |
| o Block allocation → bitmap update | |
| o File deletion → space reclamation | |
| Include: | |
| • Handling of fragmentation | |
| • Reuse of freed blocks and inodes | |
| Display: | |
| • Bitmap status before/after operations | |
| • Inode allocation status | |
| • Disk block usage | |
| Code: | |
| Output: | |
| 3 | |