├── OSSP_Haiku_Os _Documentation.pdf ├── Haiku OS – fork() system call.pdf ├── system call.c └── README.md /OSSP_Haiku_Os _Documentation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abaynew-Dessie/haiku_os/HEAD/OSSP_Haiku_Os _Documentation.pdf -------------------------------------------------------------------------------- /Haiku OS – fork() system call.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abaynew-Dessie/haiku_os/HEAD/Haiku OS – fork() system call.pdf -------------------------------------------------------------------------------- /system call.c: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | 6 | int main() { 7 | pid_t pid = fork(); 8 | 9 | if (pid < 0) { 10 | perror("fork failed"); 11 | return 1; 12 | } else if (pid == 0) { 13 | printf("this is the child process! with PID: %d\n", getpid()); 14 | } else { 15 | printf("this is the parent process! Child PID: %d\n", pid); 16 | } 17 | 18 | return 0; 19 | } 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Haiku-OS-Virtualization-and-SystemCall-Project-Description 2 | ## Documentation Description 3 | This project provides a detailed guide to installing, configuring, and exploring 4 | the Haiku Operating System—an open-source OS inspired by BeOS—within a virtualized environment. 5 | It documents the end-to-end process of setting up Haiku OS using VirtualBox or VMware, troubleshooting 6 | common issues, understanding the Be File System (BFS), and analyzing the advantages and limitations of 7 | Haiku. The documentation emphasizes hands-on experimentation and real-world problem solving, making it 8 | suitable for students and professionals interested in system programming, OS architecture, and virtualization 9 | concepts. All steps are aligned with official Haiku practices for clean and efficient setups. 10 | ## System-Call Description 11 | This project also demonstrates the use of the fork() system call in C++ within Haiku OS. 12 | The fork() system call is essential in UNIX-like systems, including Haiku, for creating new 13 | processes by duplicating the current process. The implementation includes a sample C++ program 14 | compiled and executed within the Haiku terminal, helping learners understand memory space duplication, 15 | PID assignment, and parent-child process behavior. This is valuable for developers exploring multiprocessing, 16 | process trees, and operating system internals. 17 | --------------------------------------------------------------------------------