OS161 Syscalls
Budget: €8 – €30 EUR
Implement system calls (for file and process management) and exception handling. The full
range of already defined (not implemented) system calls is listed in
kern/include/kern/syscall.h. For this project, you should complete and/or implement:
• open, read, write, lseek, close, dup2, chdir, getcwd
• getpid
• fork, execv, waitpid, _exit
It's crucial that your syscalls handle all error conditions gracefully (i.e., without crashing
OS/161.) You should consult the OS/161 man pages included in the distribution and
understand fully the system calls that you must implement. You must return the error codes
as described in the man pages.
Additionally, your syscalls must return the correct value (in case of success) or error code (in
case of failure) as specified in the man pages. Some of the grading scripts rely on the return
of appropriate error codes; adherence to the guidelines is as important as the correctness of
the implementation.
range of already defined (not implemented) system calls is listed in
kern/include/kern/syscall.h. For this project, you should complete and/or implement:
• open, read, write, lseek, close, dup2, chdir, getcwd
• getpid
• fork, execv, waitpid, _exit
It's crucial that your syscalls handle all error conditions gracefully (i.e., without crashing
OS/161.) You should consult the OS/161 man pages included in the distribution and
understand fully the system calls that you must implement. You must return the error codes
as described in the man pages.
Additionally, your syscalls must return the correct value (in case of success) or error code (in
case of failure) as specified in the man pages. Some of the grading scripts rely on the return
of appropriate error codes; adherence to the guidelines is as important as the correctness of
the implementation.