Một số tài nguyên để bắt đầu phát triển hệ điều hành là gì? [đóng cửa]


589

Một điều tôi luôn muốn làm là phát triển hệ điều hành của riêng mình (không nhất thiết phải ưa thích như Linux hay Windows, nhưng tốt hơn là một trình tải khởi động đơn giản mà tôi đã làm).

Tôi đang gặp khó khăn trong việc tìm kiếm các tài nguyên / hướng dẫn đưa bạn qua việc viết một HĐH "Hello World" đơn giản.

Tôi biết nhiều người có thể sẽ khuyên tôi nên xem Linux hoặc BSD; nhưng cơ sở mã cho các hệ thống như thế (có lẽ) lớn đến mức tôi không biết bắt đầu từ đâu.

Bất kỳ đề xuất?

Cập nhật: Để giúp những người tiếp cận bài đăng này thông qua Google dễ dàng hơn, đây là một số tài nguyên phát triển hệ điều hành:

Các nguồn lực khác:

Tôi đã tìm thấy một tài nguyên tuyệt vời có tên MikeOS , "MikeOS là một công cụ học tập để chứng minh các hệ điều hành đơn giản hoạt động như thế nào. Nó sử dụng chế độ thực 16 bit để truy cập BIOS, do đó nó không cần trình điều khiển phức tạp"

Cập nhật ngày 14/11/08

Tôi đã tìm thấy một số tài nguyên tại Hướng dẫn của Freebyte về ... Hệ điều hành miễn phí và không miễn phí có liên kết đến các bộ dụng cụ như thư viện OSKit và ExOS. Chúng có vẻ siêu hữu ích trong việc bắt đầu phát triển hệ điều hành.

Cập nhật ngày 23/2/2009

Ric Tokyo đề nghị nanoos trong câu hỏi này . Nanoos là một hệ điều hành được viết bằng C ++.

Cập nhật 3/9/09

Dinah đã cung cấp một số thảo luận hữu ích về Stack Overflow của các nhà phát triển hệ điều hành đầy tham vọng: Roadblocks trong việc tạo ra một hệ điều hành tùy chỉnh thảo luận về những cạm bẫy mà bạn có thể gặp phải khi phát triển HĐH và Phát triển HĐH là một cuộc thảo luận tổng quát hơn.

Cập nhật ngày 7/9/09

LB cung cấp một liên kết đến Dự án Pintos , một hệ điều hành giáo dục được thiết kế cho sinh viên học phát triển hệ điều hành.

Cập nhật 27/07/09 (Vẫn sẽ mạnh mẽ!)

Tôi tình cờ thấy một khóa học hệ điều hành trực tuyến từ Berkley gồm 23 bài giảng.

TomOS là một nhánh của MikeOS bao gồm một trình quản lý bộ nhớ nhỏ và hỗ trợ chuột. Là MikeOS, nó được thiết kế để trở thành một dự án giáo dục. Nó được viết bằng trình biên dịch NASM.

Cập nhật ngày 8/4/09

Tôi tìm thấy các slide và các tài liệu khác để đi cùng với các bài giảng trực tuyến của Berkeley được liệt kê ở trên.

Cập nhật ngày 23/8/09

Tất cả các câu hỏi được gắn thẻ osdev trên stackoverflow

OS / 161 là một hệ điều hành học thuật được viết bằng c chạy trên phần cứng mô phỏng. HĐH này tương tự ở Nachos. Cảm ơn Novelocrat!

tangurena khuyến nghị http://en.wikipedia.org/wiki/MicroC/OS-II , một hệ điều hành được thiết kế cho các hệ thống nhúng. Có một cuốn sách đồng hành là tốt.

Phát triển nhân Linux của Robert Love được đề xuất bởi Anders. Đây là một "cái nhìn nội bộ được hoan nghênh rộng rãi về nhân Linux."

Cập nhật ngày 18/9/2009

Cảm ơn Tim S. Van Haren đã cho chúng tôi biết về Cosmos , một hệ điều hành được viết hoàn toàn bằng c #.

tgiphil cho chúng tôi biết về Khung liên minh hệ điều hành được quản lý (MOSA) , "một bộ công cụ, thông số kỹ thuật và mã nguồn để thúc đẩy sự phát triển của các hệ điều hành được quản lý dựa trên Ngôn ngữ trung gian chung."

Cập nhật ngày 24/9/2009

Steve đã tìm thấy một vài tài nguyên để phát triển trên các cửa sổ bằng Visual Studio, hãy xem thiết lập hướng dẫn của BrokenThorn với Phần VS của VS 2005 hoặc OSDev .

Cập nhật ngày 9/5/2012

kerneltrap.org không còn nữa. Hạt nhân linux v0.01 có sẵn từ kernel.org

Cập nhật ngày 21/12/2012 Một hướng dẫn phát triển hệ điều hành cơ bản được thiết kế để trở thành một dự án của học kỳ. Nó hướng dẫn bạn thông qua để xây dựng một hệ điều hành với các thành phần cơ bản. Khởi đầu rất tốt cho người mới bắt đầu. Giấy liên quan . Cảm ơn Srujan!

Cập nhật ngày 15/11/2013

Viết một hệ điều hành đơn giản từ đầu . Cảm ơn James Moore!

Cập nhật ngày 12/8/2013

Làm thế nào để tạo ra một hệ điều hành máy tính Cảm ơn ddtoni!

Cập nhật 18/03/2014

ToAruOS một hệ điều hành được xây dựng chủ yếu từ đầu, bao gồm GUI

Cập nhật ngày 12 tháng 9 năm 2016

Viết hệ điều hành đồ chơi của riêng bạn

Cập nhật ngày 10 tháng 12 năm 2016

Viết một hệ điều hành đơn giản Tách từ (cảm ơn bạn @Tyler C)


5
Đừng quên forum.osdever.net
Brenden

15
Tại sao các loại câu hỏi mục đích chung tốt này luôn đóng trên SO?
Pratik Singhal

30
Câu hỏi này có 370 lượt upvote, đã được nâng cấp lên tới 422 lần và đã xuất hiện kể từ khi StackOverflow được ra mắt lần đầu tiên. Cộng đồng dường như đã thích nó, nhưng vì một số lý do, một số ít người phải hủy hoại nó cho mọi người. ĐÂY là lý do tại sao tôi bắt đầu thực sự không thích SO
Giovanni Galbo

1
Có một xu hướng rất thú vị với Unikernels (chỉ làm một việc và làm tốt) trong đó những nỗ lực này rất phù hợp. Bạn thường có thể khởi động lạnh một hạt nhân trong một máy ảo và có mã người dùng chạy trong chưa đầy một giây. Tôi đã thấy một giải pháp trong đó chỉ cần tra cứu DNS cho một dịch vụ như vậy, làm cho máy chủ DNS kích hoạt "máy ảo khởi động" để nó sẵn sàng khi yêu cầu thực sự cho dịch vụ đến.
Thorbjørn Ravn Andersen

4
Tôi đã bắt đầu với điều này, cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf
Tyler C

Câu trả lời:


95

Có rất nhiều liên kết sau phần tổng quan ngắn gọn này về những gì liên quan đến việc viết một HĐH cho nền tảng X86.

Liên kết có vẻ hứa hẹn nhất (www.nondot.org/sabre/os/articles) không còn khả dụng, vì vậy bạn sẽ cần chọc qua phiên bản Archive.org để đọc nó.

Vào cuối ngày, bộ nạp khởi động lấy mã máy của kernel, đặt nó vào bộ nhớ và nhảy tới nó. Bạn có thể đặt bất kỳ mã máy nào vào kernel mà bạn muốn, nhưng hầu hết các chương trình C đều mong muốn một HĐH vì vậy bạn sẽ cần nói với trình biên dịch của mình rằng nó sẽ không có tất cả, hoặc bộ nạp khởi động phải tạo ra một số mã.

Hạt nhân sau đó thực hiện tất cả các công việc nặng nhọc, và tôi nghi ngờ đó là hạt nhân mẫu mà bạn muốn. Nhưng có một chặng đường dài giữa việc có một hạt nhân có nội dung "Xin chào thế giới" để có một hạt nhân tải trình thông dịch lệnh, cung cấp dịch vụ đĩa, tải và quản lý chương trình.

Bạn có thể muốn xem xét đăng ký ACM để có quyền truy cập vào tài liệu cũ của họ - có rất nhiều bài viết vào cuối thập niên 80 và đầu thập niên 90 trên các tạp chí điện toán ban đầu về cách tạo ra các hệ điều hành thay thế . Có những cuốn sách cũng không còn xuất bản từ thời đại này. Bạn có thể có được thông tin miễn phí tương tự bằng cách tra cứu các chỉ mục của các tạp chí đó (có sẵn trên trang web đó - nhấp vào "chỉ mục" gần tên tạp chí) và sau đó hỏi những người có bản sao.

Cuối cùng, tôi biết rằng usenet đã chết (ví dụ như các nhà tiên tri của sự diệt vong trên internet) nhưng bạn sẽ thấy rằng nhiều chuyên gia cũ kỹ láu cá từ thời đó vẫn còn sống ở đó. Bạn nên tìm kiếm các nhóm google (họ có kho lưu trữ cũ của dejanews) và tôi hy vọng bạn sẽ tìm thấy nhiều người hỏi những câu hỏi tương tự cách đây một thập kỷ hoặc 1,5 mà bạn đang hỏi bây giờ. Bạn thậm chí có thể chạy qua nhiều truy vấn của Linus Torvalds để được giúp đỡ khi anh ấy đang phát triển linux ban đầu. Nếu các tìm kiếm không đưa ra bất cứ điều gì, hãy hỏi trong nhóm tin tức thích hợp (có thể bắt đầu bằng comp.arch, nhưng tìm kiếm những cái có tên OS).


Này thưa ông, COSMOS có phải là công cụ tốt để phát triển hệ điều hành không?
Vikas Verma

@VikasVerma Tôi chưa sử dụng nó, vì vậy tôi không biết.
Adam Davis

@AdamDavis Liên kết đầu tiên bị hỏng (và những người khác dường như cũng vậy). Xin vui lòng, sửa chúng!
nbro

35

Minix nhỏ hơn rất nhiều, và được thiết kế cho mục đích học tập, và cuốn sách đi kèm với nó cũng là một cuốn sách hay.

Cập nhật: Tôi đoán Minix 3 là một mục tiêu khác, nhưng Minix 2 (và tất nhiên phiên bản đầu tiên) là dành cho mục đích giảng dạy.


Tôi đã có cuốn sách Tanenbaum mới nhất nhưng mã nguồn minix3 trông khá lớn! Tôi có một mục tiêu tương tự như OP, trong khi tôi không muốn xây dựng kernel từ đầu, tôi thực sự muốn hiểu cách thức hoạt động của kernel và những gì nó làm. Liệu việc làm theo Tanenbaum book and minix3đủ để thực hiện các thay đổi đối với minix3 có giúp tôi đóng góp cho kernel linux không?
gideon

32

Là một người đã viết một hệ điều hành đa tác vụ thời gian thực từ đầu ...

thói quen gỡ lỗi bàn phím, trình điều khiển bàn phím, trình điều khiển đĩa, trình điều khiển video, hệ thống tệp và cuối cùng là trình tải khởi động - và đó chỉ là để khởi chạy nó lần đầu tiên mà không phải làm gì!

... Tôi không thể nhấn mạnh đủ tầm quan trọng của việc làm quen với phần cứng! Điều này đặc biệt như vậy nếu bạn thực sự muốn tự mình làm tất cả thay vì chỉ chọn một hệ thống nguyên thủy mà người khác đã đặt ra cho bạn. Ví dụ: liên hệ với Intel và yêu cầu họ cấp thẻ CPU cho loại CPU của bạn! Điều này sẽ đặt nó ra cho bạn - "pin-outs", ngắt, opcodes, bạn đặt tên cho nó!

Hãy nhớ phần cứng làm cho tất cả có thể. Nghiên cứu phần cứng. Bạn sẽ không hối tiếc.

.


18

Viết một hệ điều hành vi điều khiển. Tôi đề nghị một vi điều khiển dựa trên x86. Một hệ điều hành hiện đại chỉ là rất lớn . Tìm hiểu những điều cơ bản đầu tiên.


2
bất kỳ ý tưởng bắt đầu với cái này ở đâu? tôi rất quan tâm? mua bộ dụng cụ nào.. sách để giúp bạn bắt đầu, v.v.
Julio

@Uncle: Tôi chưa gặp cuốn sách hệ thống nhúng hàng đầu nào cho đến nay. Hoặc là họ quá cao và giả định một hệ điều hành, hoặc họ đang hướng đến một kỹ sư điện và bỏ qua mã. Đối với bộ dụng cụ, google tìm thấy " bifferos.bizhat.com ". Ngoài ra còn có bộ dụng cụ ARM ngoài kia. Tôi không thích kiến ​​trúc bừa cá nhân, vì vậy tôi không quan tâm đến arduino, nhưng nó phổ biến nhất. Đối với công việc kỳ lạ hơn, XC-1A cũng tốt.
Paul Nathan

@Paul sẽ đánh giá cao nếu bạn có thể mở rộng câu trả lời của mình. Tôi đã tìm hiểu về AVR và Arduino, nhưng gần đây đã thấy .NET micro. Tôi là một người LOB trừu tượng cao hơn nhưng tôi muốn bắt đầu đi xuống ngăn xếp. Bạn đề nghị bắt đầu từ đâu?
gideon

@giddy: Các AVR là mốt hiện tại. Chúng nhỏ và rẻ, nhưng tôi không thực sự thích kiến ​​trúc. Tôi khuyên bạn nên có một bộ phát triển ARM (chi phí est ~ 100). Chúng phổ biến trong các ứng dụng thương mại.
Paul Nathan

@Paul cảm ơn! Không nghe nhiều về ARM. Còn vi .net thì sao? Tôi hơi lo lắng về việc đốt một cái gì đó. Hầu hết các bộ dụng cụ sẽ đi kèm với một số loại hướng dẫn phải không? cảm ơn lần nữa
gideon

16

Tôi ước có một nơi để có được tất cả thông tin về việc phát triển hệ điều hành của riêng bạn. Gần nhất để đến đó là OS Dev WikiDiễn đàn . Họ cung cấp rất nhiều thông tin tốt liên quan đến việc thiết lập, phát triển và thông tin phần cứng thiết bị.

Ngoài ra còn có một số hướng dẫn tuyệt vời tại BoneFide , tôi đã sử dụng hướng dẫn bắt đầu của Bran , và bây giờ tôi đang xem một hướng dẫn gần đây hơn dựa trên hệ điều hành UNIX đồ chơi nhân bản của riêng bạn .

Tôi thứ hai kiểm tra: "Hệ điều hành: Thiết kế và triển khai"

Và nếu bạn muốn phát triển trên Windows, hãy xem bài đăng trên blog của jolson .

Chỉnh sửa: Để phát triển trên windows bằng Visual Studio, hãy xem hướng dẫn của BrokenThorn hoặc wiki của OSDev .


1
Liên quan: wiki thẻ x86 của SO có các liên kết đến hướng dẫn sử dụng Intel / AMD và rất nhiều thứ hay ho.
Peter Cordes

15

Một tài nguyên tuyệt vời là tài liệu của khóa học MIT 6.828: Kỹ thuật hệ điều hành.

XV6 - hệ điều hành giảng dạy đơn giản giống như Unix được viết bằng ANSI C cho x86 http://pdos.csail.mit.edu/6.828/2012/xv6.html

Nguồn XV6 - dưới dạng một tập sách in với số dòng http://pdos.csail.mit.edu/6.828/2012/xv6/xv6-rev7.pdf

Sách XV6 - giải thích các ý tưởng chính của thiết kế os http://pdos.csail.mit.edu/6.828/2012/xv6/book-rev7.pdf

Tài liệu nhỏ gọn: nguồn 92 trang và 96 trang bình luận.

Tôi thích nó hơn cuốn sách Minix! Đó là một viên ngọc thực sự!


11

bạn cũng có thể muốn xem qua SharpOS , một hệ điều hành mà họ đang viết bằng c #.


9

Có các tài nguyên tốt cho các nguyên tắc cơ bản của hệ điều hành trong sách. Vì không có nhiều lời kêu gọi để tạo ra hệ điều hành mới từ đầu, bạn sẽ không tìm thấy rất nhiều thông tin loại sở thích trên internet.

Tôi đề nghị cuốn sách văn bản tiêu chuẩn, "Hệ điều hành hiện đại" của Tanenbaum. Bạn cũng có thể tìm thấy "Các yếu tố hệ điều hành" của Calingaert hữu ích - đó là một tổng quan mỏng về một cuốn sách đưa ra một bản phác thảo sơ bộ về hệ điều hành từ quan điểm của nhà thiết kế.

Nếu bạn có hứng thú với các hệ thống thời gian thực (và ít nhất bạn nên hiểu sự khác biệt và lý do của hệ điều hành thời gian thực) thì tôi cũng khuyên dùng "MicroC / OS-II" của Labrosse.

Biên tập:

Bạn có thể chỉ định những gì bạn có nghĩa là "kỹ thuật hơn"? Những cuốn sách này cung cấp chi tiết triển khai mã giả, nhưng bạn đang tìm kiếm một hệ điều hành mẫu hoặc đoạn mã cho một máy / ngôn ngữ cụ thể?

-Adam


7

Chỉ cần đến từ một câu hỏi khác. Tôi muốn đề cập đến Pintos ... Tôi nhớ khóa học hệ điều hành của mình với Nachos và Pintos dường như là một loại điều có thể chạy trên x86.


7

Tôi thấy Phát triển nhân Linux của Robert Love khá thú vị. Nó cho bạn biết về cách các hệ thống con khác nhau trong nhân Linux hoạt động theo cách rất thực tế. Vì nguồn có sẵn, Linux là ứng cử viên chính cho thứ gì đó để hack.



6

Khóa học hệ điều hành của tôi ở đại học đã cho chúng tôi xây dựng một số hệ thống con cho OS / 161 , một hạt nhân đơn giản, giống như BSD cung cấp một số điều cơ bản trong khi để tự do khám phá các quyết định không gian thiết kế khác nhau trong việc thực hiện các dịch vụ cấp cao hơn.


6

Bắt đầu hack đi tại Minix. Nó nhỏ hơn rất nhiều so với Linux (rõ ràng) và nó được thiết kế với mục đích giảng dạy (ít nhất là một số). Không phải Minix 3, đó là một câu chuyện hoàn toàn khác.


5

Đã trả lời, nhưng khi tôi học Hệ điều hành ở trường đại học, chúng tôi đã bắt đầu với một nhân linux đầu tiên và thêm các tính năng hiện đại đơn giản (hệ thống tệp cơ bản, bộ nhớ ảo, đa nhiệm, mutexes). Chúc vui vẻ Bạn có thể bỏ qua một số công cụ lắp ráp cấp thấp thực sự điên rồ chỉ để mucking w / chế độ được bảo vệ và bảng trang trong khi vẫn học được một số can đảm.

http://kerneltrap.org/node/14002 http://kerneltrap.org/files/linux-0.01.tar.bz2


4

Bạn có thể muốn xem linuxfromscratch .

Linux From Scratch (LFS) là một dự án cung cấp cho bạn các hướng dẫn từng bước để xây dựng hệ thống Linux tùy chỉnh của riêng bạn, hoàn toàn từ mã nguồn.


32
Biên dịch một hệ điều hành khác xa so với việc viết một hệ điều hành.
duskwuff -inactive-

7
@duskwuff Bạn nói đúng nhưng bạn sẽ học được nhiều điều từ nó. Sau đó, bạn có thể đi trước và viết của riêng bạn.
jfs

4

Một hướng dẫn phát triển hệ điều hành đơn giản và cơ bản được thiết kế để trở thành một dự án của học kỳ. Nó hướng dẫn bạn thông qua để xây dựng một hệ điều hành với các thành phần cơ bản. Khởi đầu rất tốt cho người mới bắt đầu. Giấy liên quan là đây .


Tài nguyên lớn. Bài viết đề cập đến Nachos (2500 dòng mã), OS / 161 (11000), MINIX (30000), GeekOS. Chuyển đến từng trang chính thức của trường đại học và bạn sẽ tìm thấy mã nguồn, trình giả lập và các công cụ cũng như các bài tập mỗi năm.
hạn



3

Kiểm tra Dự án Liên minh hệ điều hành được quản lý (MOSA) tại www.mosa-project.org . Họ đang thiết kế trình biên dịch AOT / JIT và hệ điều hành được quản lý hoàn toàn trong C #. Một số nhà phát triển đến từ dự án SharpOS không hoạt động.


3

Tôi đã chơi với Cosmos , đó là "một dự án hệ điều hành được thực hiện hoàn toàn bằng các ngôn ngữ tuân thủ CIL." Nó được viết bằng C #, vì vậy nó nằm ngay trên con hẻm của tôi. Đối với một người như tôi, người chưa bao giờ cố gắng xây dựng một hệ điều hành, thật tuyệt khi có thể có được một hệ điều hành "Hello World" chạy nhanh chóng.



3

Như đã đề cập ở trên, OSDev Wiki là (nguồn) tốt nhất để phát triển hệ điều hành. Đối với những người nói tiếng Đức, Wiki lowlevel.eu cũng rất tuyệt. Một cái gì đó tương đối không rõ hệ điều hành Incitatus , một hạt nhân đơn giản với một bộ ứng dụng không gian người dùng nhỏ. Thật tuyệt khi sử dụng để đi sâu vào chủ đề phức tạp về phát triển HĐH.


2

Movitz là một môi trường Lisp được viết bằng Common Lisp và chạy "trên kim loại". Thật không may, một số liên kết trên trang chính Movitz từ chối quyền truy cập, nhưng bạn có thể tìm thấy hướng dẫn về cách tải xuống và biên dịch mã nguồn từ trang trac . Ngoài ra, một hình ảnh sẵn sàng có thể được tìm thấy trên kho lưu trữ của trang này .

IMHO điều này là vô cùng thú vị, vì nó mang lại khái niệm máy Lisp trên phần cứng hiện có. Nó thất bại về mặt thương mại, nhưng điều này không chứng minh với tôi rằng ý tưởng đó là xấu.

Cẩm nang ghét Unix là một cuốn sách thú vị, nói một cách nghiêm túc về khái niệm Unix và các dẫn xuất của nó. Nhiều phần tranh luận về khái niệm máy Lisp tốt hơn như thế nào.


2

Đây là một bài báo có tên " Viết một hệ điều hành đơn giản từ đầu ". Nó bao gồm việc viết một bộ nạp khởi động, vào chế độ được bảo vệ x86-32 và viết một kernel cơ bản trong C. Nó dường như làm tốt công việc giải thích mọi thứ một cách chi tiết.


Tôi đã theo cuốn sách này và phát triển dựa trên mã của nó. Thật tuyệt vời khi bắt đầu với một cuốn sách như vậy.
dùng3405291

2

Trình giả lập x86 JStrình giả lập ARM cũng có thể rất hữu ích để hiểu cách các phần cứng khác nhau hoạt động và thực hiện các bài kiểm tra mà không cần thoát khỏi trình duyệt yêu thích của bạn.


1

Câu hỏi đặt ra cho các lập trình viên. Xem sẽ mất nhiều thời gian dài để xây dựng HĐH như Windows hoặc Mac nhưng nếu bạn muốn xây dựng một hệ điều hành đơn giản thì bạn có thể cố gắng hết sức

  1. Bạn cần tập trung vào Ngôn ngữ hội, C và C ++. Bạn nên là chuyên gia trong các ngôn ngữ này.
  2. Trước tiên hãy đọc một cuốn sách hay về cách hệ điều hành hoạt động [Google nó], sau đó đọc tất cả thông tin từ Wiki OS
  3. Tìm kiếm trong youtube "Cách tạo hệ điều hành của riêng bạn bằng ngôn ngữ hội" xem video, vd. Video
  4. Tải xuống mã nguồn Linux OS và tự biên dịch nó và cố gắng tự sửa đổi mã
  5. Bây giờ bạn là một biên tập viên hệ điều hành có kinh nghiệm, bây giờ hãy tải xuống MinixQNX và bắt đầu phát triển cùng với họ và nhận tài liệu của họ từ đây Minix DocQNX Doc

Bây giờ bạn đã đạt được bằng thạc sĩ (Không hoàn toàn chỉ cần thêm một chút nữa) trong việc tạo ra hệ điều hành giờ đây phân phối kiến ​​thức này cho những người bạn của bạn và với sự giúp đỡ của họ cố gắng tạo ra một hệ điều hành mạnh mẽ như Mac, Linux hoặc Windows


Biên tập xin vui lòng chỉnh sửa câu trả lời của tôi và không gian remove betweern http: www và như tôi là lính mới như vậy, tôi không có repu quá cao, plz làm thứ mà đối với tôi
BharatKhanna

1

Khi bạn đã tạo một hệ điều hành cơ bản, thực sự khó tiếp tục vì không có nhiều nguồn tài nguyên để tạo GUI hoặc thư viện porting. Nhưng tôi nghĩ rằng hãy xem ToAruOS sẽ giúp ích rất nhiều!

Mã dưới bề mặt của hệ điều hành đó rất đơn giản! nhưng đồng thời anh ấy đã chuyển những thứ như cairo, python, (chưa có nhưng sớm) sdl, tạo bộ nhớ chia sẻ và anh ấy cũng đã tạo ra bộ công cụ widget của riêng mình. Tất cả đều được viết bằng C.

Một hệ điều hành thú vị khác sẽ là phả hệ . Nó được tạo bởi JamesM (người đứng sau hướng dẫn kernel của jamesM . Mặc dù nó có nhiều tính năng hơn ToaruOS nhưng nó cũng lớn hơn và khó hiểu hơn.

Nhưng dù sao thì 2 HĐH này sẽ giúp bạn rất nhiều, đặc biệt là ToAruOS.


1

Khi tôi bắt đầu làm việc trên các hệ điều hành cơ bản của mình, tôi cần một hướng dẫn cơ bản như Stepping Stones cho một hệ điều hành cơ bản . Nó giúp tôi không mất đầu.

Rằng nếu bạn muốn làm cho nó hoàn toàn không có gì (mã lắp ráp thuần túy)

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.