Fading Coder

One Final Commit for the Last Sprint

Mastering Linux Process Replacement and Building a Custom Shell

Understanding Process Replacement Process control within an operating system involves managing the lifecycle of processes, including termination, waiting, and replacement. While termination and waiting handle the end of a process's life, process replacement allows a running process to overlay its cu...

Linux File I/O Fundamentals: Descriptors, System Calls, and Positional Control

Linux treats all I/O resources uniformly through the file abstraction—regular files, pipes, devices, and sockets are all accessed using the same interface. At the core of this model lies the file descriptor: a small non-negative integer that serves as an index into a per-process table of open files...

Implementing Unix Utilities in Xv6: Sleep, Ping-Pong, Primes, Find, and Xargs

Implementing Unix Utilities in Xv6: Sleep, Ping-Pong, Primes, Find, and Xargs
Sleep A simple utility to pause execution for a specified number of seconds. #include "kernel/types.h" #include "user/user.h" int main(int argument_count, char *argument_values[]) { if (argument_count < 2) { fprintf(2, "Usage: sleep <seconds>\n"); exit(1); } in...