Jedną rzeczą, którą zawsze chciałem zrobić, jest stworzenie własnego systemu operacyjnego (niekoniecznie wymyślnego jak Linux lub Windows, ale lepszy niż zwykły program ładujący, który już zrobiłem).
Trudno mi znaleźć zasoby / przewodniki, które zabiorą cię do napisania prostego systemu operacyjnego „Hello World”.
Wiem, że wiele osób prawdopodobnie poleci mi spojrzenie na Linuksa lub BSD; ale podstawa kodu dla takich systemów jest (prawdopodobnie) tak duża, że nie wiedziałbym od czego zacząć.
Jakieś sugestie?
Aktualizacja: Aby ułatwić osobom, które trafiły do tego postu za pośrednictwem Google, oto niektóre zasoby programistyczne systemu operacyjnego:
Pisanie własnego systemu operacyjnego (Dzięki Adam)
Linux od podstaw (dzięki John)
SharpOS (system operacyjny C #) (Dzięki lomaxx)
OS Dev Wiki i fora (Dzięki Steve)
BonaFide (Dzięki Steve)
Bran (Dzięki Steve)
Rzuć własną zabawkę Klonowany system operacyjny UNIX (Dzięki Steve)
Inne zasoby:
Znalazłem fajny zasób o nazwie MikeOS : „MikeOS to narzędzie edukacyjne, które pokazuje, jak proste systemy operacyjne działają. Używa 16-bitowego trybu rzeczywistego do dostępu do BIOS-u, aby nie wymagało skomplikowanych sterowników”
Zaktualizowano 11/14/08
Znalazłem trochę zasobów w Przewodniku Freebyte po ... Wolnych i niewolnych systemach operacyjnych, które prowadzą do zestawów takich jak OSKit i biblioteka ExOS. Wydają się one bardzo przydatne w rozpoczynaniu tworzenia systemu operacyjnego.
Zaktualizowano 23.02.09
Ric Tokyo zalecił nanoos w tym pytaniu . Nanoos to system operacyjny napisany w C ++.
Zaktualizowano 3/9/09
Dinah przedstawiła użyteczną dyskusję dotyczącą przepełnienia stosu aspirujących programistów systemów operacyjnych: przeszkody w tworzeniu niestandardowego systemu operacyjnego omawiają pułapki, które możesz napotkać podczas opracowywania systemu operacyjnego i rozwoju systemu operacyjnego .
Zaktualizowano 7/9/09
LB dostarczyło link do projektu Pintos , edukacyjnego systemu operacyjnego zaprojektowanego dla studentów uczących się rozwoju systemu operacyjnego.
Zaktualizowano 7/27/09 (Wciąż silna!)
Natknąłem się na internetowy kurs systemu operacyjnego z Berkley z 23 wykładami.
TomOS to rozwidlenie systemu MikeOS, które zawiera mały menedżer pamięci i obsługę myszy. Jako MikeOS ma być projektem edukacyjnym. Jest napisany w asemblerze NASM.
Zaktualizowano 8/4/09
Znalazłem slajdy i inne materiały, które pasują do internetowych wykładów Berkeley wymienionych powyżej.
Zaktualizowano 8/23/09
Wszystkie pytania oznaczone osdev na stosie przepływu
OS / 161 to akademicki system operacyjny napisany w c, który działa na symulowanym sprzęcie. Ten system operacyjny jest podobny w Nachos. Dzięki Novelocrat!
tangurena zaleca http://en.wikipedia.org/wiki/MicroC/OS-II , system operacyjny zaprojektowany dla systemów wbudowanych. Jest też książka towarzysząca .
Opracowanie jądra Linux przez Roberta Love'a jest sugerowane przez Andersa. Jest to „powszechnie uznany wgląd w jądro Linuksa”.
Zaktualizowano 9/18/2009
Dzięki Tim S. Van Haren za poinformowanie nas o Cosmos , systemie operacyjnym napisanym całkowicie w języku c #.
tgiphil mówi nam o strukturze Managed Operating System Alliance (MOSA) , „zestawie narzędzi, specyfikacji i kodu źródłowego w celu wspierania rozwoju zarządzanych systemów operacyjnych opartych na wspólnym języku pośrednim”.
Aktualizacja 24.09.2009
Steve znalazł kilka zasobów do programowania w systemie Windows za pomocą programu Visual Studio, zapoznaj się z instrukcją instalacji BrokenThorn z VS 2005 lub sekcją VS OSDev .
Zaktualizowano 9/5/2012
kerneltrap.org nie jest już dostępny. Jądro linux v0.01 jest dostępne na kernel.org
Zaktualizowano 12/21/2012 Podstawowy samouczek programowania systemu operacyjnego zaprojektowany jako projekt semestralny. Pomaga Ci zbudować system operacyjny z podstawowymi komponentami. Bardzo dobry początek dla początkujących. Powiązany papier . Dzięki Srujan!
Zaktualizowano 11/15/2013
Pisanie prostego systemu operacyjnego od zera . Dzięki James Moore!
Zaktualizowano 12.08.2013
Jak zrobić system operacyjny komputera Dzięki ddtoni!
Zaktualizowano 18.03.2014
ToAruOS to system operacyjny zbudowany głównie od zera, w tym GUI
Zaktualizowano 12 września 2016 r
Pisanie własnego zabawkowego systemu operacyjnego
Zaktualizowano 10 grudnia 2016 r
Pisanie prostego systemu operacyjnego - od podstaw (dziękuję @Tyler C)