Avatar uživatele
Stříbrný

Jak vytvořit vlastní programovacý jazyk/operační systém/boot?

Asi si většina z vás pomyslí, že jsem další "poťápanec" či další dítko, které se nemá pouštět k počítači, nicméně, trápí mě docela jedna věc...
Už od úzkého věku mě bere strašně elektronika a zkoumání "jak to funguje?", asi v 7 letech se mi dostali pod ruku repráky k magnetofonu, to jste měli vidět moji radost :) raději ale k věci. Jak si čtu různé návody pro učení se programovacím jazykům (od pythona přes javu až k ruby), dostanu se k Hello World a dále to už nechápu/nedokážu si zapamatovat. Již zmíněný ruby byl vytvořen jedním programátorem, protože mu nevyhovoval žádný jiný program. jazyk, nicméně potřebuje "emulátory" pro jiné program. jazyky. Proto jsem se díval, jak si naprogramovat vlastní OS-nejdoporučovanější bylo psát jej v C (které se obávám bych už vůbec nechápal). Proto bych se rád zeptal, jak si vytvořit vlastní operační systém a programovací jazyk, abych nemusel znát nějaký jiný? (nebudou tedy fungovat nejspíše aplikace, které pro něj nejsou napsány, to ale nevadí) Bude k tomuto OS potřeba i ještě upravovat vlastní BIOS? (jak by se to provádělo?)
Doplňuji:
A jestli je OS pro jeden počítač s pevně daným HW, je to lehčí, než kdyby se měla zaručit variabilita?

Může se vytvořit vlastní BIOS? Poté by už šlo naprogramovat OS v něčem jiném, než v C?

Uzamčená otázka – ohodnoťte nejlepší odpověď symbolem palce.

Nejlepší odpověď

Avatar uživatele
Bronzový

Jelikož odpověď by byla dlouhá popíšu Vám to v bodech:

- Též jsem se pokoušel postavit vlastní OS bez jádra (tak že jsem to zkoušel jen ve Virtual Boxu) kde Vám to vypsalo pouze „Ahoj, boot dokončen“. Takovou bootovací sekvenci odladit je naprostý zázrak (čest programátorům OS). Takový to systém (jenom text) bylo nutné napsat na cca 600 řádků. Neboli:
Musíš odladit procesor (32 x 64 bit), porovnat data z POST testu (ramky, cpu, atd..) je usazeno - funguje, atd... Samotný boot systému probíhá v adresních hodnotách které nesmějí přesáhnout údajně 32 bitů! (adresní hodnota vypadá: 0x0001, 0x0002, ...) tzn. musíš být dobrý na matiku aby jsi si to všechno spočítal.
- Pokud je vše v pořádku musíš provést test adresářové struktury jestli je vše ok atd...
- Dále zavedeš tvůj systém = do temp složky budeš zavádět vlastní soubory v BINÁRNÍ!!! hodnotě které následně při vypnutí smažeš.

- Je to takový začátek... Proto doporučuji začínat na boot linuxovém jádře... (údajně má 100 MiB)

- OS se jedině píše v jazyce C... Např.: Jazyky jako je Python, Java, Karel, Baltík, Visual Basic, C#, ale i C++ jsou napsané v jazyce C...

- BIOS jako takový program je uložen v tom čipu, tak že si to spravuje společnost která vyrábí BIOS (Nejvíce je to Phoenix) - asi (nevím to) dodává API pomocí které si to můžete spojit s Vaším OS...

- Pokud máte dotaz nějaký tak jej směřujte buď ke mě do pošty či do diskuze (nebo i doplnění :-))
Doplňuji:
Pokud je je program/os vyráběn pevně, tak je vždy toto jednodušší!

- BIOS s OS nemá nic společného a hlavně sem nikde neviděl Open Source BIOSU...

 

Otázka nemá žádné další odpovědi.

Diskuze k otázce

Avatar uživatele
Stříbrný

huxa

l564-mockrát děkuji za odpověď, moc jsi mi pomohl :)

 

Zajímavé otázky v kategorii Počítače a internet

Přihlásit se

Položte otázku, odpovězte, zapojte se, …

začněte zde

Reklama

Kvalitní odpovědi v: Počítače a internet

Zlatý Bedy 1525
Zlatý Michal Kole 1198
Zlatý mosoj 1028
Zlatý Hlada 948
Zlatý ge0rge 894
Zlatý www 829
Zlatý led 820
Zlatý badisko 818
Zlatý gecco 795
Zlatý arygnoc 674

Zobrazit celkový žebříček

Facebook

 

Váš požadavek se vyřizuje, počkejte prosím.