Cựu kỹ sư Microsoft tiết lộ bí quyết tạo ra Task Manager bản gốc với dung lượng chỉ 80 KB

Cựu kỹ sư Microsoft tiết lộ bí quyết tạo ra Task Manager bản gốc với dung lượng chỉ 80 KB

-

Lưu lại đọc sau

Công cụ quản lý tác vụ huyền thoại của hệ điều hành Windows được thiết kế vô cùng tối ưu để có thể hoạt động mượt mà trên những hệ thống máy tính có cấu hình hạn chế của thập niên 90.

Ông Dave Plummer, kỹ sư đứng sau nhiều tính năng mang tính biểu tượng của Windows như hỗ trợ tệp nén ZIP, vừa chia sẻ đoạn video giải thích cách ông xây dựng công cụ Task Manager với hiệu suất đáng kinh ngạc. Theo đó, phiên bản hiện tại của tiện ích này có dung lượng khoảng 4 MB, nhưng phiên bản gốc do ông tự tay lập trình chỉ nặng vỏn vẹn 80 KB.

Mối quan tâm hàng đầu của Plummer khi phát triển công cụ này là giới hạn phần cứng vô cùng ngặt nghèo của thời đại đó. Ông hiểu rằng một tiện ích được dùng để cứu hộ máy tính khi mọi thứ đã sụp đổ thì bắt buộc phải duy trì được sự phản hồi nhanh chóng và mượt mà, ngay cả khi toàn bộ hệ thống đã bị treo.

Tư duy lập trình tối giản

Mỗi dòng mã đều phải trả giá, mỗi lần cấp phát bộ nhớ đều để lại dấu vết. Mỗi phần phụ thuộc giống như một người bạn cùng phòng luôn ăn thức ăn của bạn nhưng không bao giờ chịu trả tiền thuê nhà,” Plummer chia sẻ. “Vì vậy, khi viết Task Manager, tôi không tiếp cận nó theo cách của các tiện ích hiện đại. Tôi không bắt đầu với một bộ khung, không đắp thêm 9 lớp tiện nghi, 6 lớp dự phòng tương lai, để rồi tỏ ra ngạc nhiên khi hệ thống ngốn tới 800 MB chỉ để hiển thị một vài con số.

Một trong những tính năng mà Plummer tâm đắc nhất chính là cơ chế khởi động thông minh của tiện ích. Khác với các ứng dụng thông thường chỉ kiểm tra xem có một bản sao nào khác đang chạy hay không để kích hoạt, công cụ của Windows tiến xa hơn một bước. Nó sẽ gửi một tin nhắn ẩn đến bản sao đang tồn tại và chờ phản hồi. Nếu nhận được tín hiệu tích cực, điều đó chứng tỏ hệ thống vẫn ổn. Ngược lại, nếu chỉ có sự im lặng, nó sẽ tự hiểu bản sao kia đã bị treo và lập tức khởi chạy một cửa sổ mới để giúp người dùng thoát khỏi tình trạng bế tắc.

Những thủ thuật tối ưu tài nguyên

Để đạt được dung lượng siêu nhỏ, vị kỹ sư này đã áp dụng hàng loạt kỹ thuật tối ưu hóa nhằm cắt giảm tài nguyên:

  • Tải trước dữ liệu cốt lõi: Các chuỗi ký tự thường xuyên sử dụng được tải thẳng vào biến toàn cục một lần duy nhất để tái sử dụng.
  • Tải theo yêu cầu: Những chức năng hiếm khi được dùng đến (như ngắt kết nối máy tính khỏi dock) chỉ được tải vào bộ nhớ khi người dùng thực sự thao tác.
  • Tối ưu hóa truy vấn: Cây tiến trình tiết kiệm tài nguyên bằng cách yêu cầu nhân hệ điều hành (kernel) cung cấp toàn bộ bảng tiến trình cùng lúc, thay vì truy vấn từng chương trình riêng lẻ. Điều này giúp loại bỏ vô số lệnh gọi hàm API lãng phí.

Sự hạn chế về sức mạnh xử lý của máy tính những năm 90 đã buộc Plummer phải làm cho Task Manager trở nên tinh gọn nhất có thể. Dù không muốn quay lại thời kỳ phần cứng yếu kém đó, ông vẫn nuối tiếc về tư duy lập trình tối ưu của thế hệ trước.

Tôi ước gì chúng ta giữ lại được nhiều hơn cái ‘hương vị’ đó. Không phải sự đau khổ, mà là bản năng biết cách xử lý công việc theo lô, lưu trữ đúng dữ liệu vào bộ nhớ đệm, bỏ qua các tác vụ vô hình, so sánh sự khác biệt trước khi vẽ lại giao diện, hỏi kernel một lần thay vì một trăm lần, và luôn cảnh giác với sự tiện lợi khi chính sự tiện lợi đó lại bắt người dùng phải trả giá bằng tài nguyên máy tính.

> Ý kiến đóng góp xin gửi về: [email protected] > Press Inquiries: [email protected]

GameN - MXH dành cho game thủ Việt

Ban quản trị

ĐỌC NHIỀU