Chương trình thay cho HĐH


2

Làm thế nào tôi có thể chạy một chương trình thay cho HĐH? Ý tôi là tôi có thể thay thế HĐH bằng chương trình được tạo tùy chỉnh có nội dung "Hello World" ngay khi Phần cứng bắt đầu không?


3
Trong trường hợp đó, "Chương trình tùy chỉnh" sẽ thực sự là "Hệ điều hành tùy chỉnh" của bạn. Một máy tính không thể chạy mà không có HĐH. Tất nhiên bạn có thể chọn Linux Distro và điều chỉnh nó theo nhu cầu của bạn.
Ankit

1
Chắc chắn, bạn chỉ có thể tạo một bộ tải khởi động mà làm điều đó. Bạn cần phải biết hội và quá trình khởi động khá tốt, mặc dù.
Ry-

Hầu hết các hệ điều hành dựa trên người dùng hiện đại có thể được cấu hình cho "chế độ kiosk" trong đó một ứng dụng được đặt lên hàng đầu và hệ điều hành nằm ngoài tầm với của người dùng.
MaQleod

Câu trả lời:


1

Vâng, điều đó là hoàn toàn có thể, tuy nhiên chương trình này sẽ phải là HĐH của bạn. Điều đó có nghĩa là bạn sẽ không có các chức năng thông thường để in ra màn hình, thay vào đó bạn sẽ phải tự thực hiện các chức năng này ghi vào phần cứng hoặc bạn phải viết "Hello World" đơn giản vào phần cứng đồ họa.

Để được hướng dẫn về cách thực hiện việc này, hãy tìm wiki OSDev, họ có hướng dẫn cho loại điều chính xác này.


Thay thế HĐH bằng HĐH khác và gọi đó là chương trình? Bạn không thể thay thế một hệ điều hành bằng bất cứ thứ gì ngoại trừ một hệ điều hành khác.
Logman

2
@logman Bạn nhầm rồi. HĐH là một chương trình có các chức năng đặc biệt để chạy các chương trình khác. Bạn có thể thay thế một nhân os bằng bất kỳ chương trình chuyên biệt nào. Ví dụ, các trò chơi video ban đầu là hệ điều hành của riêng họ và chúng là một chương trình chuyên biệt.
Dougvj

1
Tại sao không? HĐH là một chương trình: một chương trình phức tạp quản lý các chương trình khác. Bạn sẽ chỉ cần truy cập trực tiếp vào phần cứng bất kỳ cuộc gọi hoặc trình điều khiển hệ thống nào nhưng điều đó hoàn toàn có thể và không quá phức tạp.
Matteo

Sẽ không sử dụng bộ tải khởi động giúp quá trình? Và khi bạn xác định rằng "Điều đó có nghĩa là bạn sẽ không có các chức năng điển hình của mình để in ra màn hình, thay vào đó, bạn sẽ phải tự thực hiện các chức năng này ghi vào phần cứng", điều đó có nghĩa là tôi sẽ phải đi vào lập trình cấp phần cứng? Có cách nào để bỏ qua việc lập trình cấp thấp không?
Ankur

@ user1712778 Bạn nói đúng, bộ tải khởi động sẽ giúp nếu chương trình lớn hơn 512 byte. Nếu bạn muốn chạy chương trình của mình mà không cần hệ điều hành, thì bạn phải truy cập trực tiếp vào phần cứng. Có những thư viện giúp với điều này, nhưng điều đó là không thể tránh khỏi. Một tùy chọn khác là chạy kernel Linux rất nhẹ và để chương trình của bạn là quá trình 'init'.
Dougvj

0

Không. Có quá nhiều thứ đang diễn ra. Bạn cần một hệ điều hành và bạn thay thế trình quản lý / gui / cli / shell hiện có bằng trình quản lý windows. Ví dụ, thay vì MS Windows "explorer" mở và chạy, bạn thay thế nó bằng của bạn. Không thực tế trong MS nhưng ...

Bạn có thể làm điều này với các bản phân phối linux ... bạn nên kiểm tra TinyCore cho một hệ điều hành thực sự có nghĩa là được xây dựng trên. Trình quản lý Windows mặc định trong TinyCore là flwm được xây dựng trên một khung công tác bạn có thể sử dụng để tạo gui của riêng bạn


Vì HĐH mới sẽ chỉ in "Hello world" nên bạn không cần bất kỳ trình quản lý cửa sổ, GUI nào. Xem ví dụ: codeproject.com/Articles/28067/
Matteo

về mặt kỹ thuật bạn đúng, nhưng về cơ bản là vô dụng đối với mọi thứ ngoài ứng dụng hello world. Nhưng nó là một hệ điều hành. Bạn có thể gọi nó là bất cứ thứ gì bạn muốn nhưng nó vẫn là HĐH. Hay không. Về mặt ngữ nghĩa, chúng tôi có thể ở đây trong một thời gian dài để thảo luận về điều đó.
Logman

OP chỉ hỏi liệu có thể khởi động một "chương trình" in thế giới xin chào hay không. Câu trả lời là Vâng bất kể bạn gọi nó như thế nào
Matteo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.