← Tất cả khoá học

C Thực Chiến · Lập trình Hệ thống

Nói chuyện trực tiếp với hệ điều hành

Biên soạn bởi Nguyễn Anh Tuấn

Lập trình hệ thống với C (chuẩn C17) trên Unix/Linux để viết phần mềm nói chuyện trực tiếp với hệ điều hành: tệp & I/O, tiến trình & tín hiệu, bộ nhớ ảo & mmap, đa luồng & data race, mạng (socket/TCP), event loop - khép lại bằng một HTTP server nhỏ tự dựng.

7 bài ~174 phút Sắp ra mắt

Học xong mèo con làm được gì?

  • Viết được phần mềm nói chuyện trực tiếp với Linux: tệp, tiến trình, tín hiệu.
  • Hiểu đa luồng và tránh được data race - loại lỗi khó nhằn nhất khi lập trình hệ thống.
  • Lập trình mạng với socket/TCP và tự dựng một HTTP server nhỏ từ đầu.
  • Mở cánh cửa vào mảng lập trình hệ thống, nơi C vẫn là ngôn ngữ vua.

Lộ trình học

  1. 1 Tệp & I/O Sắp ra mắt open/read/write, file descriptor, buffered vs raw.
  2. 2 Tiến trình & tín hiệu Sắp ra mắt fork/exec/wait, cây tiến trình, signal, exit code.
  3. 3 Bộ nhớ ảo & mmap Sắp ra mắt Trang nhớ, ánh xạ ảo→vật lý, mmap tệp.
  4. 4 Đa luồng & data race Sắp ra mắt pthreads, mutex, atomics, điều kiện tranh chấp (TSan).
  5. 5 Mạng: socket & TCP Sắp ra mắt Bắt tay ba bước, client/server, HTTP bằng tay.
  6. 6 Event loop: select/poll/epoll Sắp ra mắt I/O không chặn, phục vụ nhiều client một luồng.
  7. 7 Capstone: HTTP server nhỏ Sắp ra mắt Ghép mọi thứ thành một máy chủ web tối giản.

Sắp bắt tay vào dự án thật?

Tên miền, VPS, hosting để đưa sản phẩm lên mạng - chọn ở trang Ưu đãi. Mua qua link là góp thêm “cá” nuôi Mèo, bạn không tốn thêm.

Ưu đãi & công cụ →