This report details a student's exploration of the Linux kernel, specifically focusing on modifying the kernel to understand process management. The assignment involves using the fork() system call to create parent and child processes, demonstrating an understanding of how processes are created and managed within the operating system. The report outlines the steps taken to download, modify, and recompile the kernel, including the use of `wget`, `tar`, and `make menuconfig`. The student created a program to verify the changes, illustrating the division of processes and the implications of process termination. The report also demonstrates the understanding of the kernel layout, including the directory structure and the purpose of different directories like Arch, Include, Init, Mm, Drivers, Ipc, Modules, Fs, Kernel, Net, Lib and Script. The conclusion highlights the use of fork() system call for distinguishing the process and the unpredictable nature of the output due to the CPU scheduler.