Skip to content

About

LSPT | Linux System Programming Toolkit

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

flowchart TB
    DEV["System Programmer"]

    DEV --> LANG["C, C++, Rust and Assembly"]
    DEV --> BUILD["GCC, Clang, Make and CMake"]
    DEV --> DEBUG["GDB, strace, perf and bpftrace"]

    LANG --> APP["System Programs"]
    BUILD --> APP

    APP --> LIB["glibc, musl, pthread and libbpf"]
    LIB --> SYSCALL["Linux System-Call Interface"]

    SYSCALL --> PROC["Process Management"]
    SYSCALL --> MEM["Memory Management"]
    SYSCALL --> FS["Virtual File System"]
    SYSCALL --> NET["Networking Stack"]
    SYSCALL --> IPC["IPC and Event Handling"]
    SYSCALL --> SEC["Security Subsystem"]

    PROC --> KERNEL["Linux Kernel"]
    MEM --> KERNEL
    FS --> KERNEL
    NET --> KERNEL
    IPC --> KERNEL
    SEC --> KERNEL

    KERNEL --> DRIVER["Device Drivers"]
    DRIVER --> HW["CPU, Memory, Storage, Network and Devices"]

    DEBUG -. observes applications .-> APP
    DEBUG -. traces system calls .-> SYSCALL
    DEBUG -. instruments kernel .-> KERNEL

    classDef person fill:#172554,color:#ffffff,stroke:#0f172a,stroke-width:3px;
    classDef user fill:#dbeafe,color:#172554,stroke:#2563eb;
    classDef boundary fill:#fef3c7,color:#78350f,stroke:#f59e0b,stroke-width:2px;
    classDef kernel fill:#dcfce7,color:#14532d,stroke:#16a34a;
    classDef hardware fill:#fee2e2,color:#7f1d1d,stroke:#dc2626;

    class DEV person;
    class LANG,BUILD,DEBUG,APP,LIB user;
    class SYSCALL boundary;
    class PROC,MEM,FS,NET,IPC,SEC,KERNEL,DRIVER kernel;
    class HW hardware;
Loading

LSPT | Linux System Programming Toolkit

Linux YouTube Reddit

GitHub   YouTube   My Awesome Lists

mindmap
  root((Linux System Programming Toolkit))
    Development
      C and C++
      Rust
      GCC
      Clang and LLVM
      GDB
    System interfaces
      System calls
      glibc and musl
      POSIX
      procfs and sysfs
    Process management
      fork and execve
      POSIX threads
      Signals
      Scheduling
    Memory
      Virtual memory
      mmap
      Shared memory
      Memory allocators
    IPC
      Pipes
      Unix sockets
      Message queues
      epoll and eventfd
    File and device I/O
      File descriptors
      inotify
      io_uring
      udev
    Networking
      BSD sockets
      TCP and UDP
      Netlink
      libevent and libuv
    Tracing and debugging
      strace and ltrace
      ptrace
      perf and ftrace
      eBPF
      BCC and bpftrace
    Security
      Capabilities
      seccomp-bpf
      Namespaces and cgroups
      SELinux and AppArmor
    Build and deployment
      Make and CMake
      Meson and Ninja
      Git
      DEB and RPM
      Docker and Podman
Loading

My Other Awesome Lists

You can access the my other awesome lists here

Contributing

Contributions of any kind welcome, just follow the guidelines!

Contributors

Thanks goes to these contributors!

🔼 Back to top

About

LSPT | Linux System Programming Toolkit

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors