Własny OS czyli Assebler i inne języki


(B5305601) #1

Witajcie.

Planuję napisać własny system operacyjny.

Jednak programy do tego systemu pisałbym w C (C++, C#)

Oczywiście to dopiero za jakiś czas.

Co musiałbym napisać w Assemblerze a co mógłbym napisać w jakimś C ?

Tak jak wspomniałem chciałbym aby obsługiwał programy pisane w C.


(Cedar) #2

Taki temat był już tu na forum kilka razy, poczytaj:

search.php?keywords=w%C5%82asny+system+operacyjny.&terms=all&author=&sc=1&sf=all&sr=posts&sk=t&sd=d&st=0&ch=300&t=0&submit=Szukaj


(scripter1) #3

maciek555 , nie wiem czy wiesz ale jądro linuxa jest napisane w C...


(B5305601) #4

Wiem. Ale ja bym chciał aby nie był to system oparty na linuxie.


(Cedar) #5

Czyli pisanie "od zera" całkiem nowego typu systemu?

Przeczytaj co jest pod tym linkiem, który podałem, a głównie ten temat:

wlasny-system-operacyjny-t456179.html


(B5305601) #6

Sory.... Może nie wyraziłem się jasno.

Chodzi mi o coś takiego Jak Manuet OS . Ten system i programy są napisane w Asemblerze.

A ja pytam co muszę napisać w Asemblerze a co mogę napisać w C (C++, C#)?


(Frankfurterium) #7

Prawdopodobnie nic. Skoro pytasz, o sprawy elementarne, to nie masz o sprawie pojęcia i z takim podejściem daleko nie zabrniesz.

Napisać 'coś' potrafi zgraja Hindusów albo nawet studenciaków na umowach śmieciowych. W takich projektach rozchodzi się o plan i założenia. Złe założenie i cały projekt spierdzielony. Ktoś cię w tym temacie okłamie i jw.

Od tyłu strony się za to zabierasz. Poczytaj trochę tekstów, najlepiej poważnych publikacji i książek (głównie po angielsku) o systemach operacyjnych. Ich podstawowych właściwościach i zadaniach. O tym, co i dlaczego w twoim systemie miałoby działać inaczej niż w innych. Przejrzyj źródło jądra Linuksa, nawet jeżeli nie masz zamiaru z niego korzystać.

Tak czy siak, sukcesu nie wróżę. Setki ludzi miesięcznie wpadają na pomysł "A może napiszę sobie system?". Ty, sądząc po pytaniu, widziałeś ledwie górki, a zasadzasz się na Everest. I jeszcze nie pytasz o sprawy konkretne, tylko 'Lepiej na Everest przez Kraków czy Szczecin?'.


(B5305601) #8

Jaką lekturę mógłbyś mi polecić?

Żeby oprócz części teoretycznej była też część praktyczna??

Po za tym na razie rzeczywiście zabiorę się za pisanie OS`a na jądrze Linuxa.

Jakby trochę rzeczy poprzerabiać, pozmieniać, pousuwać i dodać własne to nikt na pierwszy rzut oka nie skapnie się że jest na podstawie Linuxa.


(Frankfurterium) #9

http://students.mimuw.edu.pl/SO/


(scripter1) #10

maciek555 , życzę ci powodzenia, sam też pracuję nad projektem który ma bazować na zmodyfikowanym jądrze linuxa (narazie projekt jest w fazie planowania funkcjonalności) więc chętnie się zapoznam dostępną na ten temat z literaturą.

A może nawet warto by połączyć siły przy rozpracowywaniu jądra linuxa...


(etam) #11

Możecie zacząć od minixa. Jest znacznie prostszy.


(Mmow) #12

a co nie odpowiada Ci w istniejących systemach, tak bardzo, że chcesz kilkadziesiąt lat poświecić na pisanie własnego? Zakładam, że piszesz go po to, żeby otrzymać lepszy produkt, bo jeżeli chcesz się na cymś konkretnym nauczyć programowania, to pisanie własnego OS-a nie jest chyba najlepszym pomysłem.


(scripter1) #13

Nie wiem jak kolega maciek555 ale mój projekt nie ma być defakto dystrybucją linuxa czy OS'em jako takim co raczej produktem ukierunkowanym funkcjonalnie.


(GioWDS) #14

Andek to też distro Linuksa - chociaż samo google zbyt często o tym nie wspomina :slight_smile:

Ja przy pisaniu OS zatrzymałem się na etapie implementowaniu usług sieciowych i tak projekt gdzieś leży na dysku - o ile przy którymś formacie go nie skasowałem. Dzisiaj pisanie systemu w pojedynkę to strata czasu - nim dogonisz funkcjonalnie Linuksa minie z 40 lat (pisząc od zera).