![]() |
Betriebssystem :X
Hi^^
Also mir ist gerade langweilig und deswegen will ich ein Betriebssystem programmieren. .. ... .... :mrgreen: Ok so naiv bin ich mittlerweile nicht mehr (war ich glaube ich auch noch nie :stupid: ) aber trotzdem :P Im Prinzip stimmt der erste Satz dieses Threads sogar. :duck: Aber der zweite stimmt auch :corky: Ok genug um den heißen Brei drumrum geredet :wink: Letztens habe ich mich etwas "aufgeregt" als ich meine C:\ Festplatte mal untersucht habe und mich oft gefragt habe: "Was ist denn das bitte gut?". Windows ist so groß und mach im Hintergrund sooo viel, von dem man erstmal gar nichts mitbekommt. Und da dachte ich mir: So ein kleines "einfaches" Betriebssystem wo man als nicht total-DAU weiß, was das Betriebssystem macht und wofür dieses und jenes ist, wäre doch mal nicht schlecht. Heutzutage hat man Gigabytes von Daten auf seinem PC aber selbst als Programmierer weiß man nicht genau was da überhaupt alles vorgeht. 1000nde von Programmen, DLLs oder sonstige Daten die irgendwelche seltsamen Namen tragen und deren Funktion wohl Gott alleine kennt. Letztendlich hat das bei mir dazu geführt das ich mir dachte: "Da gab es doch mal so ein Tutorial mit dem man "Betriebssystem" programmieren konnte" (oder besser gesagt ein bootfähiges "Etwas" :mrgreen: ) Aber was habe ich davon wenn ich ein paar Zeilen/Seiten ASM ausm Internet abschreibe? Würde das ganze schon gerne son bisschen verstehen. Wie ist so ein Betriebssystem aufgebaut? Wie arbeitet ein Betriebssystem intern? Na gut, man kennt z.B. sowas wie Messages von Windows aber Messages sind ja im Prinzip schon High-Tech im Gegensatz zu dem, was dadrunter verborgen ist. Also ich habe hier nicht die Absicht ein richtiges OS (erst recht nicht eins, das mit irgendeinem anderen vernünftigen mithalten kann ;) ) zu programmieren aber mich interessiert das ganze doch mal und ich würde einfach gerne mal sehen was dahinter steckt und wie weit man da als Neutral General alleine kommt. (Ja ich weiß: Wahrscheinlich nicht weit, aber ich wills selbst mal probieren :) ) Gruß Neutral General |
Re: Betriebssystem :X
Meiner Meinung nach ist das komplizierteste der Bootloader - aber den gibt es auch schon fertig. Danach kannst du eigentlich sogar ganz normal mit Delphi weiter programmieren.
Siehe auch hier: ![]() Leider ist sein Tutorial, wie man selbst Betriebsysteme mit Delphi schreiben kann gerade nicht Online. |
Re: Betriebssystem :X
Kann man dann nur Konsolenbasierend in Delphi arbeiten oder auch richtig mit fenstern und so? Aber delphi verwendet doch exe dateien, oder? Wie soll man dafür ein Betriebssystem machen, das ist doch voll schwer oder macht genau das son botloader?
|
Re: Betriebssystem :X
Mach dich zunächst mit der Hardware in deinem Rechner vetraut.
Wenn du weißt, welche Bauteile sich so alles in der CPU und "Umgebung" befinden, dann weißt du auch ungefähr, was ein Betriebssystem grundlegend leisten muss. |
Re: Betriebssystem :X
Zitat:
ein Win32 kompatibeles Betriebsystem. Grüße Klaus |
Re: Betriebssystem :X
Nicht wenn du die System.pas umschreibst.
EDIT: Du kannst dann weder VCL- noch Konsolenprogramme, sondern einfach nur Programme schreiben - das ist das selbe wie wenn du einen Mikrocontroller programmierst. |
Re: Betriebssystem :X
Ich verweisen da gerne auf
![]() die haben viele interessante Sachen zum Thema OS-Entwicklung, besonders die Magazine sind lesenswert. MfG, Bug |
Re: Betriebssystem :X
Hi,
Danke schonmal für die Antworten. Gibt es irgendwo eine Liste mit konkreten grundlegenden "Features" die ein OS haben muss. Also irgendwas, einen Ansatz, was überhaupt vor mir liegt und wie ich das ungefähr machen muss/müsste. Kann im Moment keine guten Fragen stellen, weil man auch ein gewisses Wissen braucht um Fragen stellen zu können und das besitze ich leider nicht :| EDIT: Danke BUG! Das sieht doch schonmal vielversprechend aus! Gruß Neutral General |
Re: Betriebssystem :X
Zitat:
Microcontroller sind cool, das macht Spaß. Ich hab sogar ein LEGO Minstorms :-D Aber auch dafür benutze ich lieber vorhandene Betriebssysteme. NQC oder so. |
Re: Betriebssystem :X
Hi,
Bootloader ist sicherlich kompliziert, weil er in Assembler geschrieben werden muss und bis auf die BIOS-Funktionen auf nichts zugreifen kann, aber es gibt auch viele fertige und freie Bootloader, wie z.B. GRUB, den man auch auf Diskette installieren kann. Dieser würde am Anfang lästiges Zeug abnehmen. (z.B.: Laden weitere Dateien von einer FAT Diskette, wechseln in den 32-Bit Protected-Mode, ...) Um zu verstehen was ein Betriebssystem macht, muss man sicherlich viel Zeit haben und viel lesen und rumprobieren. Einige Ansatzstellen kannst du sicherlich auf der deutschsprachigen Seite ![]() Wenn du eine "HighLevel" Programmiersprache wie z.B. Pascal oder C/C++ verwenden willst, musst du dir natürlich auch einen Compiler raussuchen. Theoretisch eignet sich dafür auch ein Delphi Compiler (du benötigst lediglich einen kleinen PE-Zwischenloader nach dem Bootloader) mit einer eigenen System.pas. Somit stehen natürlich keine Delphi-üblichen Funktionen parat, sondern nur die Sprache an sich. Jedoch muss man auch für FreePascal oder diversen C/C++ Compilern eine eigene RTL bzw c-lib schreiben (und auch Inline-Assembler verwenden) und hier steht natürlich dann genauso nur die Sprache und keine Bibliothek an Funktionen bereit. Ich bevorzuge in letzter Zeit FreePascal, einzig allein aus dem Grund, da hier "erkennbare" Ansätze einer 64-Bit Variante inzwischen zur Verfügung stehen. Was für Features ein OS braucht lässt sich schwer sagen, weil man von Grund auf etwas eigenes designen kann. Erst im Verlauf der Entwicklung wirst du merken was du als nächstes haben willst oder brauchst. Grüsse, Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz