Cách Windows XP chọn ngẫu nhiên ảnh đại diện mặc định cho bạn
Windows XP không đơn thuần tung xí ngầu để chọn ảnh tài khoản cho bạn — nó dùng một mẹo thuật toán cực kỳ thông minh.
Raymond Chen, kỹ sư lâu năm tại Microsoft, vừa chia sẻ chi tiết cách Windows XP chọn ảnh đại diện cho tài khoản mới. Hệ điều hành lấy các file từ thư mục ảnh mặc định bằng hàm RtlRandomEx, với hạt giống ngẫu nhiên (seed) lấy từ thời gian hệ thống hoạt động qua GetTickCount(). Thay vì quét thư mục hai lần — một lần đếm số file và một lần chọn — nó dùng một thuật toán duyệt đúng một lượt gọi là reservoir sampling.
Vì sao điều này lại quan trọng: Tốc độ đọc ổ cứng là một nút thắt cổ chai lớn vào năm 2001. Bỏ qua lượt quét thứ hai giúp tiết kiệm thời gian đọc đĩa vốn rất chậm, đồng thời tránh lỗi nếu có file thay đổi trong lúc đang quét. Microsoft cũng đặt một giới hạn cứng tối đa 100 bức ảnh để hệ điều hành không bị treo nếu ai đó ném cả triệu tấm hình vào thư mục.
Bản chất thuật toán: Cách hoạt động ở đây là cho bức ảnh thứ n xác suất 1/n để thay thế bức ảnh đang thắng. Mọi tấm ảnh đều có cơ hội được chọn ngang nhau chỉ sau một lượt duyệt qua thư mục, mà hệ điều hành chẳng cần đếm trước tổng số file.
Minh chứng cho thấy ngay cả một bức ảnh đại diện mặc định cũng được đầu tư kỹ thuật chỉn chu đến thế nào.
Nguồn
- The Old New Thing — https://devblogs.microsoft.com/oldnewthing/20260909-00/?p=112683
- Hacker News — https://news.ycombinator.com/item?id=49640646

