TheCodeSurge

TheCodeSurge

Technology, Information and Internet

Content you can read and understand in under 10 minutes.

About us

Welcome to our community-driven platform where content is designed for quick consumption, quite suitable for busy developers.

Industry
Technology, Information and Internet
Company size
1 employee
Type
Nonprofit
Founded
2024
Specialties
open source, edtech, coding, engineering, software development, cloud computing, and linux

Updates

  • View organization page for TheCodeSurge, graphic

    91 followers

    TheCodeSurge, offers simple, bite-sized tech content from beginner to advanced levels. At TheCodeSurge, our aim is to make quality education accessible to everyone, no paywalls. Also, it's open-source, so experts can contribute and help the tech community grow. Read how you can contribute to TheCodeSurge and be a part of our community. #TechEducation #OpenSource #TheCodeSurge #LearnAndGrow

    How you can contribute at TheCodeSurge

    How you can contribute at TheCodeSurge

    TheCodeSurge on LinkedIn

  • View organization page for TheCodeSurge, graphic

    91 followers

    ✨**Understanding process states in Linux**✨ Processes in Linux assume different states during their lifecycle. The state of a process indicates what the process is currently doing and how it is interacting with the system. The processes transition between states based on their execution status and the system's scheduling algorithm. The processes in a Linux system can be in one of the following states: 🔸(new): Initial state when a process is created via a fork system call. 🔸Runnable (ready): Process is ready to run and waiting to be scheduled on a CPU. 🔸Running (user): Process is executing in user mode, running user applications. 🔸Running (kernel): Process is executing in kernel mode, handling system calls or hardware interrupts. 🔸Sleeping (S): Process is waiting for an event (e.g., I/O operation) to complete and can be easily awakened. 🔸Sleeping (uninterruptible) (D): Process is in an uninterruptible sleep state, waiting for a specific condition (usually I/O) to complete, and cannot be interrupted by signals. 🔸Sleeping (disk sleep) (K): Process is waiting for disk I/O operations to complete. 🔸Sleeping (idle) (I): Process is idle, not doing any work, and waiting for an event to occur. 🔸Stopped (T): Process execution has been stopped, typically by a signal, and can be resumed later. 🔸Zombie (Z): Process has completed execution but still has an entry in the process table, waiting for its parent to read its exit status. The transition between states can be in done in the following ways: 🔸Fork: Creates a new process from a parent process, transitioning from (new) to Runnable (ready) 🔸Schedule: Scheduler selects a runnable process, transitioning it to Running (user) or Running (kernel) state. 🔸Run: Process transitions from Runnable (ready) to Running (kernel) when scheduled for execution. 🔸Preempt or Reschedule: Process can be preempted or rescheduled, moving it back to Runnable (ready) state. 🔸Syscall: Process makes a system call, transitioning from Running (user) to Running (kernel). 🔸Return: Process completes a system call and returns to Running (user). 🔸Wait: Process waits for an event, transitioning from Running (kernel) to one of the Sleeping states (S, D, K, or I). 🔸Event or Signal: Process is awakened by an event or signal, moving it from a Sleeping state back to Runnable (ready) . 🔸Suspend: Process is suspended, transitioning from Running (kernel) or Runnable (ready) to Stopped (T). 🔸Resume: Process is resumed, moving from Stopped (T) back to Runnable (ready). 🔸Exit: Process terminates, transitioning from Running (user) or Running (kernel) to Zombie (Z). 🔸Reap: The parent process reads the exit status of the zombie process, removing it from the process table.

    • No alternative text description for this image
  • View organization page for TheCodeSurge, graphic

    91 followers

    As a developer, you might have encountered the notation “@@ -1,2 +1,4 @@”. This notation is especially useful in version control where you want to know where the changes were exactly made. In this document, you'll understand the syntax of the diff notation along with some examples.

Similar pages