Hệ điều hành 03/09/2026 9 phút

Phép đo thời gian ra -10 giây: khoảng thời gian âm bất khả, và quả bom hẹn giờ trong code của bạn

Đo một khoảng thời gian bằng đồng hồ treo tường rồi bị NTP giật lùi 10 giây giữa chừng: kết quả ra -10 giây, một khoảng ÂM không thể tồn tại. Monotonic thì cho +3 micro giây đúng đắn, không bao giờ nhảy. Chọn nhầm đồng hồ là bug timing kín đáo nhất. Đo thật.

Hệ điều hành 03/09/2026 8 phút

Định dùng perf để soi vì sao code chậm, máy ảo trả <not supported> — và cả demo kinh điển cũng bốc hơi

PMU là cửa sổ duy nhất thấy 'chậm vì trượt cache hay đoán nhánh sai'. Nhưng máy ảo không lộ PMU nên perf trả <not supported>. Tôi phải quay về đồng hồ — nó vẫn lộ hiệu ứng cache chậm 200 lần. Rồi demo 'mảng sắp xếp nhanh hơn' lại không tái hiện, vì một lý do bất ngờ. Đo thật.

Hệ điều hành 03/09/2026 9 phút

Một tiến trình 'nice 10' là ưu tiên cao hay thấp? Câu hỏi bẫy — con số đó một mình chẳng nói lên gì

Hai tiến trình tranh một CPU chia phần theo nice: 0 vs 5 ra 75/25, 0 vs 19 ra 98,5/1,5. Tôi suýt chốt 'nice 10 = chậm'. Rồi đo lại: nice 10 vs 15 chia y hệt 0 vs 5, vì phần chia chỉ phụ thuộc HIỆU nice, không phải giá trị tuyệt đối. Ưu tiên là chuyện tương đối. Đo thật.

Hệ điều hành 03/09/2026 8 phút

200 luồng 'ngốn' 1612MB mà RAM thật chỉ 1,6MB: ngăn xếp 8MB chỉ là lời hứa suông

200 luồng chiếm 1612 MB VSZ nhưng chỉ 1,6 MB RAM thật (8KB mỗi luồng) — ngăn xếp 8MB là ảo, cấp lười. Guard page dưới mỗi stack biến tràn thành SIGSEGV chính xác, độ sâu đệ quy tỉ lệ thẳng cỡ stack (8MB ≈ 7939 tầng). Và -O2 suýt biến đệ quy vô hạn thành vòng lặp, đo nhầm hoàn toàn.