Mẹo Hay

Góc lập trình: Lập trình viên tạo hệ thống con DOS cho Linux (DSL)

FOSSBYTES TECH SIMPLIFIED LOGO

Nhà phát triển đằng sau DSL này là Charlie Somerville, một kỹ sư phần mềm thích lập trình hệ thống và quan tâm đến điện toán cổ điển, đặc biệt khi nói đến Microsoft DOS và Windows những năm 1990.

Lúc đầu, anh ấy chỉ muốn xem liệu mình có thể khởi động Linux từ dòng lệnh DOS hay không. Khi điều đó xảy ra, anh ấy đã nghĩ đến việc nâng nó cao hơn một bậc để xem liệu anh ấy có thể tiếp tục thực thi DOS khi Linux đang chạy hay không.

Hệ thống con DOS dành cho Linux hoạt động như thế nào?

Hệ thống con DOS dành cho Linux giống như một giải pháp thay thế WSL cho những người dùng thích làm việc trong môi trường MS-DOS. DSL tích hợp môi trường Linux thực vào hệ thống MS-DOS, cho phép người dùng chạy các ứng dụng DOS và Linux từ dấu nhắc lệnh DOS.

Bây giờ đây là mẹo: DSL sử dụng một tính năng của bộ xử lý có tên là VM8086, cho phép hệ điều hành 32 bit chạy mã 16 bit kế thừa chủ yếu là nguyên bản. Cách tiếp cận chạy DOS dưới VM8086 này thực sự là cách hoạt động của các bộ mở rộng Windows, DOS ban đầu, v.v. Nhân Linux cũng hỗ trợ VM86, mặc dù nó hầu như không có giấy tờ và không thực sự được sử dụng ngày nay.

DSL sau đó quay trở lại DOS, về cơ bản đã được lật từ trong ra ngoài và hiện đang vô tình chạy bên trong một tác vụ VM8086. Hữu ích là Linux dường như không làm nghẽn bộ nhớ của DOS trong quá trình khởi động của chính nó.

Xây dựng DSL

Để chạy DSL, bạn phải:

  • Có nhắm mục tiêu theo chuỗi công cụ chéo i386-linux-musl trên PATH. Công cụ này có thể xây dựng một cái cho bạn mà không gặp nhiều rắc rối. Bây giờ thiết lập TARGET đến i386-linux-musl
  • Xây dựng các điều kiện tiên quyết (Linux và Busybox) bằng cách chạy J=xxx script/build-prereq, thay thế xxx với sự song song xây dựng mong muốn
  • Nhận hình ảnh ổ cứng hdd.base.img với một bản sao MS-DOS đã cài đặt trên phân vùng đầu tiên
  • Chạy make (Thao tác này sẽ tạo một hình ảnh ổ cứng mới hdd.img với Hệ thống con DOS dành cho Linux được cài đặt)
  • Mời C:doslinuxdsl để chạy các lệnh Linux[bạncũngcóthểđặt[youcanalsoplaceC:doslinux trên DOS của bạn PATH để thuận tiện hơn]

Bạn có thể kiểm tra DSL trên Github dường như đang hoạt động trên MS-DOS 6.22 và FreeDOS.

This post is also available in:
Tiếng Việt Italian Indonesian

Post Comment