├── System Call.pdf ├── OSSP_Individual_Amanuel Fikadie Debeb_bdu1600914_A..pdf ├── system call.c └── README.md /System Call.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Amanuel-Fikadie/Pure-OS/HEAD/System Call.pdf -------------------------------------------------------------------------------- /OSSP_Individual_Amanuel Fikadie Debeb_bdu1600914_A..pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Amanuel-Fikadie/Pure-OS/HEAD/OSSP_Individual_Amanuel Fikadie Debeb_bdu1600914_A..pdf -------------------------------------------------------------------------------- /system call.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | int main() { 7 | int current_nice = getpriority(PRIO_PROCESS, 0); 8 | printf("Current process nice value: %d\n", current_nice); 9 | 10 | int result = nice(10); // Increase niceness (lower priority) 11 | if (result == -1 && errno != 0) { 12 | perror("nice failed"); 13 | return 1; 14 | } 15 | 16 | int new_nice = getpriority(PRIO_PROCESS, 0); 17 | printf("New process nice value: %d\n", new_nice); 18 | 19 | // Dummy task to simulate process activity 20 | for (int i = 0; i < 5; i++) { 21 | printf("Running process work loop %d\n", i + 1); 22 | sleep(1); 23 | } 24 | 25 | return 0; 26 | } 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PureOS-Linux-Documentation 2 | ## Documentation Description 3 | This project documents the installation, configuration, and system-level exploration of the PureOS Linux distribution in a virtualized environment using both Oracle VM VirtualBox and VMware Workstation. It provides terminal-based instructions for setting up PureOS, handling installation issues, and working with the ext4 filesystem. 4 | Key tools used include: 5 | VBoxManage for VM management, 6 | apt for package installation, 7 | and core Linux commands for disk partitioning, user management, and service control. 8 | The project emphasizes Free Software Foundation (FSF) principles, system call analysis, and OS-level problem-solving, making it a practical guide for students learning operating systems, system administration, and low-level programming. All configurations reflect best practices for transparency, security, and digital freedom. 9 | ## System-Call Description 10 | This project demonstrates how to modify a process’s CPU scheduling priority using the nice() system call in C. The implementation shows how to: 11 | Retrieve the current nice value using getpriority(), 12 | Increase the nice value to lower priority, 13 | Run and observe priority-based behavior changes. 14 | This example illustrates how user-space programs interact with kernel-level process scheduling, forming the foundation for understanding system resource control, real-time programming, and multi-tasking environments. 15 | --------------------------------------------------------------------------------