[URGENT for 17/1/25] Symlink and xv6 kernel code modification

Job ID: 38993966

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
Related categories: C Programming Linux C++ Programming UNIX ASP.NET