[URGENT for 17/1/25] Symlink and xv6 kernel code modification
Budget: €40 – €100 EUR
Hi Everyone
YOU CAN FIND THE FULL REQUIREMENT DOC IN THE ZIP ATTACHED
This project involves enhancing the xv6 operating system by implementing support for large files and symbolic links in its file system. The task requires understanding and modifying the xv6 kernel code to achieve specific functionalities.
Key Deliverables:
Large Files Support:
1. Extend the maximum file size to support up to 65,803 blocks by implementing double-indirect block addressing.
2. Modify the file system code (e.g., bmap(), itrunc()) and related structures to handle double-indirect addressing.
Symbolic Links:
1. Implement a system call symlink(target, path) to create symbolic links.
Modify open() to resolve symbolic links recursively, with support for a maximum depth to prevent cyclic links.
2. Add a flag (O_NOFOLLOW) to allow bypassing symbolic link resolution.
Testing:
1. Ensure bigfile successfully creates large files.
2. Pass all test cases in symlinktest and usertests.
Deliverables:
1. Modified xv6 source code files (fs.c, sysfile.c, etc.).
2. A testable xv6 environment (fs.img, bigfile, symlinktest).
3. Documentation (2-3 pages) explaining the implementation process.
Deadline 17/1
we have already done some progress with o1 preview model. I can send you in chat in case it helps
YOU CAN FIND THE FULL REQUIREMENT DOC IN THE ZIP ATTACHED
This project involves enhancing the xv6 operating system by implementing support for large files and symbolic links in its file system. The task requires understanding and modifying the xv6 kernel code to achieve specific functionalities.
Key Deliverables:
Large Files Support:
1. Extend the maximum file size to support up to 65,803 blocks by implementing double-indirect block addressing.
2. Modify the file system code (e.g., bmap(), itrunc()) and related structures to handle double-indirect addressing.
Symbolic Links:
1. Implement a system call symlink(target, path) to create symbolic links.
Modify open() to resolve symbolic links recursively, with support for a maximum depth to prevent cyclic links.
2. Add a flag (O_NOFOLLOW) to allow bypassing symbolic link resolution.
Testing:
1. Ensure bigfile successfully creates large files.
2. Pass all test cases in symlinktest and usertests.
Deliverables:
1. Modified xv6 source code files (fs.c, sysfile.c, etc.).
2. A testable xv6 environment (fs.img, bigfile, symlinktest).
3. Documentation (2-3 pages) explaining the implementation process.
Deadline 17/1
we have already done some progress with o1 preview model. I can send you in chat in case it helps