Các hệ điều hành được viết như thế nào và viết bằng ngôn ngữ gì?

Như vậy câu hỏi trở thành “chương trình đầu tiên (của máy đó) viết bằng gì”. Phân tích 1 lệnh x64 thì có 3 phần: operator, operand và prefix. Tất cả đều được viết bằng byte (không phải text), chỉ có mnemonic là tên đặt cho chúng. Từ level này (vì còn microcode nữa) thì có thể viết được assembler, sau đó dịch C ra assembly bằng trình biên dịch viết bằng assembler, và cuối cùng là mỡ nó rán nó.

2 Likes

6 posts were split to a new topic: Máy tính hiện nay có thể sử dụng được khi không có hệ điều hành không?

Tớ có quyển dạy Viết OS 30 ngày (tiếng Nhật) này. Vừa đọc vừa làm theo là ra cái hệ điều hành hoàn chỉnh vừa dễ hiểu luôn =))) Cách đơn giản nhất để hiểu nó là tạo ra nó :sunglasses:

2 Likes

Chạy bằng cơm

4 Likes

@xuantambk bạn cho mình hỏi, bạn đã viết thành công mini kernel chưa. Bạn có thể mô tả tổng quan mình cần tìm hiểu gì để làm được demo như vậy.
Nếu có thể, bạn cho mình xin source code.
Mình cảm ơn nhiều!

Anh e nào có hứng thì đọc qua, tiện thể học luôn Rust cũng đc vì m thấy nó khá hay
https://os.phil-opp.com/

2 Likes

Mình không còn giữ source code hoặc ở đâu đấy trong Labtop cũ của mình.
Nhưng để đơn giản bạn nên bắt đầu với tìm hiểu về RTOS trước.
Mình lấy ví dụ

    main(){
while (1){
do_something();
}

Đã là 1 Mini Kernel rồi bạn. Nếu bạn nạp đoạn chương trình này vào 1 con MCU nào đó.
Bây giờ tiếp theo hãy đọc thêm về Task, Interrupt , Xem xem MCU đó hỗ trợ timer ,system Tick, Task Control Block , như thế nào.
Mục đích là làm cho trong đoạn while(1) kia làm được nhiều việc hơn ngoài do_something.


Đó là cái mini kernel ngày xưa của mình.

1 Like

Dành cho một số bạn bảo “C# chỉ chạy được trên Windows” :smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?