Eigenes Betriebssystem erstellen
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von ichduersie.
-
-
instructables.com/id/Create-yo…operating-system/?lang=de
aber ein wirklich gutes musst du wohl in Assembler schreiben.MFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadise -
-
Ansonsten wenn dir auch ein personalisiertes openSUSE für den Anfang reicht: susestudio.com
-
-
-
Andy schrieb:
Bootloader ist das erste was du machen solltest.
lowlevel.eu/wiki/OS-Dev_für_EinsteigerMit freundlichen Grüßen,
Thunderbolt -
Vielleicht könnte dich das auch interessieren github.com/CosmosOS/Cosmos
-
4typen habe ich indirekt ja schon vorgeschlagen .
BlackNetworkBit schrieb:
instructables.com/id/Create-yo…operating-system/?lang=de
aber ein wirklich gutes musst du wohl in Assembler schreiben.
MFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadise -
BlackNetworkBit schrieb:
aber ein wirklich gutes musst du wohl in Assembler schreiben.Mit freundlichen Grüßen,
Thunderbolt -
"Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero
Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt! -
Joa wie @Thunderbolt schon geschrieben hat ist lowlevel.eu ne ordentliche Website, auf der das ganz gut auf deutsch erklärt wird.
Man sollte aber auf jeden Fall auch osdev.org und osdever erwähnen, das sind beides sehr hilfreiche Websites mit vielen Informationen, aber auf englisch.
In welchen Sprachen kann man ein OS schreiben?
Theoretisch lässt sich ein Betriebssystem in vielen Sprachen schreiben, das geht z.B. mit BASIC (dem alten, nicht VB!), C, C++, D, Go und vielen weiteren Sprachen.
Den Stub muss man dabei in Assembler schreiben, das is aber wirklich nicht schwer.
Assembler ist aber nicht gleich Assembler.
Du wirst vermutlich dein OS in x86 Assembler schreiben wollen, welche Syntax du da benutzt
hängt dann nochmal vom Compiler ab. NASM, FASM, GCC, jeder Assembler hat ne eigene Syntax.
Ich habe meinen Stub mit GCC kompiliert und den GAS (GNU AS) Assembler verwendet, habe also AT&T Syntax verwendet.
Obwohl ich oben schon ein paar Sprachen aufgelistet habe mit denen man ein OS schreiben könnte,
ist das trotzdem mit vielen Sprachen garnicht so einfach.
Du kannst z.B. ein OS in C++ schreiben, du könntest also theoretisch Klassen und OOP verwenden.
Da dein OS aber kein Memory Management hat, könntest du keine konstruktoren oder destruktoren verwenden, Klassen fallen also erstmal fast komplett weg.
Eine beliebte Kombination ist es, die basics (GDT, IDT, Paging etc) in C zu schreiben und den rest dann in C++ zu schreiben,
wenn man schon eine solide Basis hat und Konstruktoren und Destruktoren sicher aufrufen kann.
Zu diesem Zeitpunkt sollte man dann auch schon eine Stdlib haben (z.B. Newlib).
Sollte ich ein OS schreiben?
Für viele ist es sicher ein Traum, irgendwann mal Programme für sein eigenes Betriebssystem schreiben zu können.
Man sollte sich jedoch im Klaren sein, dass es unter Umständen JAHRE dauern kann, bis man seinen Kernel soweit hat.
Ein OS zu schreiben erfordert sehr viel Geduld.
Du wirst viele Stunden lang auf deinen Code starren und dich fragen was du falsch gemacht hast,
und du wirst viele Stunden lang auf sehr technische Websites starren, und versuchen sie zu verstehen.
Was brauche ich, um ein OS zu schreiben?
Was du unbedingst brauchst:
Einen Compiler, einen Assembler und einen Linker.
Falls du GCC verwenden willst, hast du alles auf einmal:
GCC als Compiler, AS als Assembler und LD als Linker.
Vermutlich willst du dein OS auf Windows schreiben,
dann solltest du aber wissen, dass vieles nicht so funktionieren wird wie du willst und das aufsetzen des Compilers um einiges schwerer ist als unter Linux.
Ich persönlich nutze Linux, um mein OS zu schreiben.
Wie fange ich an?
Als erstes brauchst du einen Cross-Compiler für dein OS.
Der Cross-Compiler erstellt binaries die auf deinem neuen System laufen.
Das ist ziemlich wichtig, denn ein normaler Compiler wird binaries für das Betriebssystem generieren, für das er erstellt wurde,
also vermutlich Windows, Linux oder Mac OSX.
Einen Cross-Compiler aufzusetzen dauert ca. eine Stunde wenn man noch nicht viel Erfahrung damit hat.
Das gute ist, dass du das nur einmal machen musst, danach kannst du sofort mit deinem OS anfangen.
Gute Informationen zum bauen eines Cross-Compilers (für Windows, Linux und Mac OSX) findest du z.B hier:
lowlevel.eu/wiki/Cross-Compiler
wiki.osdev.org/GCC_Cross-Compiler
Ich empfehle aber definitiv das osdev.org tutorial.
Du musst dir auch überlegen, wie du dein OS booten willst.
Die meisten Entwickler nehmen GRUB als Bootloader. Das hat verschiedene Vorteile:
GRUB ist freie Software, lässt sich leicht einrichten, kann direkt Grafik (z.B. VESA) für das OS initialisieren und sogar Module für das OS laden.
Die Alternative wäre, einen weniger bekannten Bootloader zu nutzen oder einen eigenen zu schreiben.
Für das schreiben eines eigenen Bootloaders sollte man aber SEHR GUTE Assembler Kenntnisse haben und sich auch sehr gut mit Hardware und dem BIOS bzw. UEFI auskennen.
Das ist ein ganzes Kapitel für sich und definitiv nichts für Anfänger.
Zum Abschluss empfehle ich dir Bran's Kernel Tutorial:
osdever.net/bkerndev/Docs/title.htm
Das ist zwar auf englisch, sollte dir aber helfen, dich schnell in C zurechtzufinden.
Bitte nichts Copy&Pasten, dabei lernst du nichts.
Zu den einzelnen Komponenten des OS findest du auf Lowlevel oder OsDev viele Tutorials, denen du folgen kannst.
Kannst dir ja auch mal meinen Kernel ansehen, wenn du willst.
Ich sehe das mal jetzt nicht als Eigenwerbung, wird ja niemals verkauft und ist Open Source
github.com/SplittyDev/Tesseract
Grüße, SplittyDevDieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SplittyDev“ ()
-
-
Gibts was cooles kleines zu : github.com/SamyPesse/How-to-Make-a-Computer-Operating-System
(ist zwar noch nicht ganz vollständig, aber ganz cool gemacht)
Weiterhin gibt es da auch noch was über den Linux-Kernel: github.com/0xAX/linux-insides
(find ich persönlich genial gemacht, bin selbst die Book-Version am lesen)Software being "Done" is like lawn being "Mowed". (Jim Benson) -
@KidRick
dein erster Link ist ja mal der Burner schlechthin, danke -
Marceliboy schrieb:
nicht wirklich darum, etwas großes machen zu können erstmal will ich mir nen Text anzeigen lassen
Da reicht ASM:
en.wikipedia.org/wiki/List_of_…xamples#Assembly_language
das Bsp. fürs native hab ich nicht gefunden...
Ansonsten kannste es ja mit LFS probieren, einfach "LFS deutsch" googlen...
LG -
-
Mal wieder die ganze Qualität von YT-Tutoruials...
Kein Ton, keine Erklärung (vielleicht in der Beschreibung, hab nicht nachgesehen), nicht mal anständiges Deutsch (wir tuen... wo wir die Dateien hin tuen...)...
Du willst ein OS bauen, dann geh dem nach, was dir genannt wurde. Wenn schon für Hochsprachenprogrammierung das meiste auf YT Ranz ist, dann ist es in solchen Bereichen bestimmt nicht anders. Zudem lernste ja nix bei, is ja nur copy & paste, wenn es funktionieren würde. -
Ich hab mir mal dieses grottenschlecht gemachte Vid gegeben und frage mich nun:
Spoiler anzeigen
WIE ZUM TROJANER KANN EIN BOOTLOADER MEHR ALS 512B GROß SEIN?! Der darf nur 512B groß sein! alles darüber erzeugt Fehler!
-
felipe12305 schrieb:
erzeugt Fehler
Ach, außerdem ist der Code des utube-Videos geklaut: tutorials.de/resources/ein-eig…leines-betriebssystem.84/Mit freundlichen Grüßen,
Thunderbolt
-
Ähnliche Themen
-
Eigenes kleines Add-On für den Firefox erstellen
Michael K. - - Off-Topic -
orgertot - - Off-Topic
-
Betriebssystem direkt auf Usb Stick?
GTZHack - - Off-Topic -
GTZHack - - Off-Topic
-
-
13 Benutzer haben hier geschrieben
- Marceliboy (5)
- Gast (4)
- Thunderbolt (3)
- BlackNetworkBit (2)
- Vainamo (1)
- SplittyDev (1)
- Parmaster (1)
- Nikx (1)
- KidRick (1)
- ichduersie (1)
- EaranMaleasi (1)
- Andy (1)
- 4typen (1)