Skip to content

System Call

System call là cửa ngõ chính để ứng dụng yêu cầu dịch vụ từ kernel.

Cơ chế gọi system call

TODO

  • Lệnh syscall (x86_64), svc #0 (arm64)
  • Quy ước ABI: thanh ghi số hiệu và tham số
  • Bảng syscall, đường đi từ entry tới hàm xử lý

vDSO

TODO

  • Vì sao cần vDSO
  • Các hàm qua vDSO: clock_gettime, gettimeofday

Thêm một system call mới

TODO

  • SYSCALL_DEFINEx
  • Đăng ký vào bảng syscall
  • Ví dụ tối thiểu và chương trình test

Ví dụ chạy thử

TODO

  • Lệnh và output

Khi nào dùng / không nên dùng

TODO

  • Ưu điểm, hạn chế
  • So sánh với các interface khác

Công cụ debug

TODO

  • strace, ausyscall
  • ftrace với syscall tracepoint

Tham khảo