Bộ nhớ
Course tier 2 của track Máy tính cho Lập trình viên. Hiểu chương trình bố trí bộ nhớ thế nào (stack, heap, static, con trỏ), vì sao có cache và memory hierarchy, cách viết code tăng locality và tránh false sharing, bộ nhớ ảo hoạt động ra sao (paging, page table, TLB, page fault), và các ngôn ngữ bậc cao quản lý bộ nhớ thế nào (manual vs GC). Mỗi bài đóng bằng một quyết định thiết kế hoặc tối ưu cụ thể.

Giảng viên
OLHub Team26 bài đã sẵn sàng · Đọc kỹ, không xem video
4 module
Học theo từng phần, không bị nhồi
Trung cấp
Cần nền tảng cơ bản trước
26 bài
Text-first — đọc kỹ, không xem video
~6.7 giờ
Tự nhịp, học theo tốc độ của bạn
Bạn sẽ học được gì
Sau khoá học, bạn sẽ:
Phân biệt stack, heap và static; giải thích stack frame, stack overflow, cấp phát động và fragmentation
Explain memory hierarchy và cache; viết code tăng locality và tránh false sharing
Trace cách bộ nhớ ảo ánh xạ địa chỉ qua paging, page table, MMU, TLB; chẩn đoán page fault và swap
Compare cách ngôn ngữ bậc cao quản lý bộ nhớ: manual (C) vs ref-counting vs tracing GC; chẩn đoán memory leak
Áp dụng: tái cấu trúc dữ liệu (AoS sang SoA) để giảm cache miss và đo cải thiện trước-sau
Chương trình
Nội dung khoá học
4 module sẵn sàng · 26 bài. Mỗi bài 18-25 phút đọc kỹ — không xem video, không hype.
01
Mô hình bộ nhớ chương trình
6 bài · ~90 phút
- 01Module 1 — Mô hình bộ nhớ chương trình: tổng quan10p
- 02Địa chỉ bộ nhớ và con trỏ — mọi biến sống ở đâu16p
- 03Stack và stack frame — gọi hàm sống và chết thế nào18p
- 04Heap và cấp phát động — dữ liệu sống lâu hơn hàm18p
- 05Stack vs heap vs static — chọn vùng nhớ nào16p
- 06Module 1 — Tổng kết & cheat sheet12p
02
Cache & memory hierarchy
7 bài · ~108 phút
- 01Module 2 — Cache & memory hierarchy: tổng quan10p
- 02Vì sao có cache — và những con số độ trễ nên nhớ17p
- 03Cache line và locality — vì sao truy cập gần nhau lại nhanh18p
- 04Viết code cache-friendly — locality thành kỹ năng17p
- 05AoS vs SoA — bố cục dữ liệu theo cache18p
- 06False sharing — khi hai luồng vô tình tranh một cache line16p
- 07Module 2 — Tổng kết & cheat sheet12p
03
Bộ nhớ ảo
7 bài · ~107 phút
- 01Module 3 — Bộ nhớ ảo: tổng quan10p
- 02Vì sao cần bộ nhớ ảo — địa chỉ ảo vs địa chỉ vật lý16p
- 03Paging & page table — bản đồ dịch địa chỉ18p
- 04MMU & TLB — dịch địa chỉ mà không chậm18p
- 05Page fault, swap & thrashing — khi trang không có trong RAM17p
- 06mmap & copy-on-write — chia sẻ trang thông minh16p
- 07Module 3 — Tổng kết & cheat sheet12p
04
Quản lý bộ nhớ ngôn ngữ bậc cao
6 bài · ~99 phút
- 01Module 4 — Quản lý bộ nhớ ngôn ngữ bậc cao: tổng quan10p
- 02Cấp phát thủ công vs garbage collection — ai dọn rác18p
- 03Ref-counting vs tracing GC — hai cách tìm rác18p
- 04Vì sao vẫn rò bộ nhớ dù có GC — logical leak16p
- 05Mini-challenge — tái cấu trúc AoS sang SoA để giảm cache miss25p
- 06Module 4 — Tổng kết & cheat sheet12p
Giảng viên
Ai đứng sau khoá này
OLHub Team
Backend engineers
Backend engineers với kinh nghiệm thực tế trên Java/Spring, PostgreSQL, distributed systems. Tự build và maintain platform này, viết toàn bộ nội dung khoá học theo triết lý “hiểu bản chất, không học vẹt”.
Xem hồ sơ team →Gửi khoá này cho bạn học cùng?
Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.
Sẵn sàng bắt đầu?
Học miễn phí, không cần thẻ, không thời hạn. Chỉ cần bạn ngồi xuống đọc kỹ.