Mã nguồn gốc của DOS 1.0 do Tim Paterson viết đã được xuất bản trên GitHub

29 tháng 4, 2026·3 phút đọc

Một kho lưu trữ mới trên GitHub đã công bố bản chép lại mã nguồn gốc của hệ điều hành 86-DOS và các tiện ích PC-DOS ban đầu do Tim Paterson phát triển. Dự án này giúp cộng đồng công nghệ tiếp cận và biên dịch lại những dòng code nền tảng đã tạo nên MS-DOS.

Mã nguồn gốc của DOS 1.0 do Tim Paterson viết đã được xuất bản trên GitHub

Một kho lưu trữ trên GitHub có tên "Paterson Listings" vừa được công bố, chứa đựng bản chép lại (transcription) mã nguồn gốc của hệ điều hành 86-DOS phiên bản 1.00. Đây là dự án quan trọng đối với những người yêu thích lịch sử máy tính và lập trình, vì nó tiết lộ cấu trúc nội tại của hệ điều hành tiền thân cho MS-DOS và PC-DOS.

Mã nguồn DOSMã nguồn DOS

Nội dung của kho lưu trữ

Kho lưu trữ này bao gồm mã nguồn của nhân 86-DOS 1.00, các nhân và tiện ích PC-DOS 1.00 trước khi phát hành, cũng như thư viện runtime của trình biên dịch Microsoft BASIC-86. Các phần liên quan đến DOS đã được chép lại kỹ lưỡng và chuyển đổi thành mã nguồn có thể biên dịch được.

Dữ liệu được chia thành ba phần chính để người dùng dễ dàng truy cập:

  • 1_transcription: Bản chép lại từ các bản in gốc, về cơ bản là dữ liệu thô từ máy in.
  • 2_printed_files: Các tệp gốc đã được in, được trích xuất từ dữ liệu máy in ở trên.
  • 3_source_code: Mã nguồn có thể biên dịch được, trích xuất từ các tệp in.

Nếu bạn chỉ muốn duyệt mã nguồn hoặc thực hiện việc biên dịch/lắp ráp (assemble), thư mục 3_source_code là lựa chọn phù hợp nhất. Các bản quét gốc ở định dạng PDF và PNG vẫn có thể được tìm thấy tại archive.org.

Chi tiết các gói mã nguồn

Bộ sưu tập của Paterson bao gồm 10 bó giấy in liên tục, chứa các tệp quan trọng như:

  • MSDOS.LST: Danh sách mã nguồn chính.
  • 86DOS.A8686DOS.ASM: Các tệp mã nguồn assembly cho nhân hệ điều hành.
  • EDLIN.DIFCHKDSK.A86: Mã nguồn cho các tiện ích dòng lệnh và kiểm tra đĩa.

Hiện tại, các gói số 9 và 10 (bao gồm LIBLST.LOG, BASLIB.PRT, PAINT.ASM, và CIRCLE.ASM) chưa được chép lại. Dự án đang kêu gọi cộng đồng đóng góp pull request để hoàn thiện việc chép lại các phần còn lại này.

Cách biên dịch và chạy

Hầu hết các mã nguồn trong dự án này nhắm đến trình lắp ráp ASM của Seattle Computer Products. Do đó, để biên dịch, bạn cần có bản sao công cụ này cùng với tiện ích HEX2BIN để chuyển đổi các đối tượng Intel HEX thành tệp nhị phân.

Cách đơn giản nhất để lắp ráp một tệp mã nguồn là chạy lệnh ASM <tên_tệp>, sau đó là HEX2BIN <tên_tệp>. Ví dụ, để tạo tệp nhị phân 86DOS.COM từ 86DOS.ASM, bạn sẽ thực hiện các lệnh sau trong môi trường DOS:

A:ASM 86DOS A:HEX2BIN 86DOS

Việc công bố mã nguồn này không chỉ có giá trị về mặt lịch sử mà còn mở ra cơ hội cho các nhà phát triển hiện đại nghiên cứu về cách thức vận hành của hệ điều hành trong những ngày đầu của kỷ nguyên máy tính cá nhân.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗