跳到主要内容

Linux

Core

  • Kernel
    • Source Code
    • Compile
    • LFS
  • FileSystem
    • /
    • sysfs/procfs

Reference

Boot

  • Reset Vector

    IP          0xfff0
    CS selector 0xf000
    CS base 0xffff0000

    FFFFFFF0 = FFFF0000:FFF0
    # BIOS is in ROM
  • BIOS

    • UEFI(GPT)
    • Legacy BIOS(MBR)
  • POST

  • Bootable Devices

  • MBR

    • Boot Sector(446B of 1st 512B Sector)
    • Magic Bytes(0x55 0xaa)
  • Kernel Bootloader

    • Grub
      • Stage1
      • Stage1.5
      • Stage2
    • LILO
  • initframfs/initrd

  • Kernel

  • Init

    • systemd
    • sysv init

Kernel

Process Scheduler

MMU(Memory Management Unit)

VFS(Virtual File System)

Networking Unit

IPC(Inter-Process Communication Unit)

Kernel Misc

Tracing

Reference

eBPF

XDP(eXpress Data Path)

DPDK(Data Plane Development Kit)

Sysctl

Security

Security

  • LSM
    • /sys/kernel/security/lsm
  • Capabilities(capable)
  • CGroup(Physical Resource)
    • cgroup-tools
    • Related
      • nice
      • ulimit
      • /etc/security/limits.conf
  • Namespace(OS Resource)
    • unshare/nsenter
    • /proc/$PID/ns
  • MAC & DAC

Password

  • $id$salt$encrypted password
    • 1 MD5
    • 5 SHA256
    • 6 SHA512
  • man shadow
  • man crypt
  • openssl passwd

Performance

Target

  • 从硬件和软件两方面分析软件性能瓶颈
  • 提高程序运行效率,节省时间
  • 节省成本,防止无限扩容
  • 提高用户满意度

Units

  • CPU
    • CPU Status
      • sy/system
      • us/user
      • ni/nice
      • id/idle
      • wa/wait
      • hi/hard interrupt
      • si/soft interrupt
      • st/steal time(Hypervisor Wait CPU Time)
    • Load Average
    • Process LifeCycle
    • Context Switch
      • 系统指令
      • 内存
      • 打开的文件
    • Interrupt
      • /proc/interrupts
    • Hyper Threading
  • Memory
  • IO
    • Storage
    • Network

Reference

Tools

  • sysctl/ulimit