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:
Viết hệ điều hành của riêng bạn (Cảm ơn Adam)
Linux từ đầu (Cảm ơn John)
SharpOS (Hệ điều hành C #) (Cảm ơn lomaxx)
OS Dev Wiki và Diễn đàn (Cảm ơn Steve)
BonaFide (Cảm ơn Steve)
Cám (Cảm ơn Steve)
Cuộn đồ chơi hệ điều hành UNIX-clone của riêng bạn (Cảm ơn Steve)
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)