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 Tệp & I/O Sắp ra mắt open/read/write, file descriptor, buffered vs raw. Nâng cao · 22′
- 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. Nâng cao · 24′
- 3 Bộ nhớ ảo & mmap Sắp ra mắt Trang nhớ, ánh xạ ảo→vật lý, mmap tệp. Nâng cao · 22′
- 4 Đa luồng & data race Sắp ra mắt pthreads, mutex, atomics, điều kiện tranh chấp (TSan). Nâng cao · 26′
- 5 Mạng: socket & TCP Sắp ra mắt Bắt tay ba bước, client/server, HTTP bằng tay. Nâng cao · 26′
- 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. Nâng cao · 24′
- 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. Nâng cao · 30′
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.