Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Projekt: OS-Development  ::  Möchte ein eigenes Betriebssystem bauen  
Gehen Sie zu Seite 1, 2, 3  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
iOSdevver
Unregistrierter




Beitrag iOSdevver Unregistrierter 16:23:52 01.11.2011   Titel:   Möchte ein eigenes Betriebssystem bauen            Zitieren

Mal eine Frage an euch Spezialisten: Wie geht man sinnvoll vor, wenn man ein eigenes Betriebssystem auf einem PC/Notebook selbst erstellen und ausprobieren will?
lupo1977
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.12.2010
Beiträge: 47
Beitrag lupo1977 Mitglied 16:29:29 01.11.2011   Titel:              Zitieren

Ich würde mit einem Bootloader beginnen.
/rant/
Mitglied

Benutzerprofil
Anmeldungsdatum: 18.10.2008
Beiträge: 1552
Beitrag /rant/ Mitglied 16:48:37 01.11.2011   Titel:              Zitieren

Ich betrachte mich nicht als Spezialist auf diesem Gebiet, aber wie auch immer...

Wie gut kennst du den Assembler für deine Zielarchitektur? Mit einer Antwort welche unterhalb von "sehr gut" liegt, solltest du dich zuerst damit auseinandersetzen. Danach solltest du dasselbe mit der C-Programmiersprache tun, bis du sie gut im Griff hast. Das gilt auch, wenn du dein Betriebssystem nicht in C schreiben möchtest. Der grösste Teil der Tutorials und Erklärungen von allgemeinen Konzepten sind in C-Pseudocode formuliert.

Erst wenn du das Zeugs sehr gut kennst, kannst du anfangen, dich in die Materie einzuarbeiten. Das wird am Anfang sehr trocken sein. Für viele ist es zu trocken, auch für mich, den es eigentlich hochgradig interessiert. Wenn du nicht dranbleiben magst, wirst du es bald merken, und zwar nachdem du deinen Bootloader geschrieben hast und die Frage kommt, was es als nächstes zu tun gibt.

Hast du einen alten PC, den du nicht mehr brauchst? Arbeite auf deinem richtigen PC höchstens im Emulator, für alle richtigen Versuche gehst du auf den anderen PC.

Das gibt ein Gefühl von Sicherheit :)

MfG

_________________
MCPD, MCTS and more! | "It's 7:05am. I have not slept." | www.google.com
supernicky
Unregistrierter




Beitrag supernicky Unregistrierter 16:06:20 02.11.2011   Titel:   eigenes OS            Zitieren

Hallo,

Ich beschäftige mich seit einiger Zeit mit Assembler für den x86.

Möchtest du wirklich ein OS wie DOS schreiben, oder nur ein kleines Programm was etwas Text nach dem Booten ausgibt?

Ersteres ist allein eigentlich nicht möglich, da du heutzutage selbst mit Assembler nur beschränkt auf die Hardware zugreifen kannst. Eine Bildschirmauflösung wie in Windows wirst du leider nicht realisieren können.

Ebenso müsstest du deinen eigenen CD-Rom Treiber schreiben, sodass für den Anfang nur das Starten von Diskette bleibt.
Eine Dokumentation für die Programmierung einer Netzwerkkarte ist nicht zu bekommen, da die Hersteller nicht die Funktionsweise ihrer Karten offen legen.

Dein OS hätte also nur Zugriff auf max. 640x480x16 Grafik, Tastatur, Maus, Diskette und die ersten MByte deiner Festplatte, sowie 1 MByte RAM.

Die Bücher "PC Hardware" von H.P. Messmer und die Buchreihe "PC Intern" von M.Tischer sollten dabei auf deinem Schreibtisch nicht fehlen. Sie beinhalten eigentlich alles was du wissen musst.

Leider nur noch gebraucht bei Amazon oder Ebay zu bekommen, wenn überhaupt.

Viel Erfolg,

Nicky
KA
Unregistrierter




Beitrag KA Unregistrierter 16:37:28 02.11.2011   Titel:   Re: eigenes OS            Zitieren

supernicky schrieb:
Ersteres ist allein eigentlich nicht möglich, da du heutzutage selbst mit Assembler nur beschränkt auf die Hardware zugreifen kannst. Eine Bildschirmauflösung wie in Windows wirst du leider nicht realisieren können.

Ebenso müsstest du deinen eigenen CD-Rom Treiber schreiben, sodass für den Anfang nur das Starten von Diskette bleibt.
Eine Dokumentation für die Programmierung einer Netzwerkkarte ist nicht zu bekommen, da die Hersteller nicht die Funktionsweise ihrer Karten offen legen.

Dein OS hätte also nur Zugriff auf max. 640x480x16 Grafik, Tastatur, Maus, Diskette und die ersten MByte deiner Festplatte, sowie 1 MByte RAM.

Absoluter Blödsinn!
Cybertec
Mitglied

Benutzerprofil
Anmeldungsdatum: 08.12.2008
Beiträge: 463
Beitrag Cybertec Mitglied 16:57:23 02.11.2011   Titel:   Re: eigenes OS            Zitieren

supernicky schrieb:
Hallo,

Ich beschäftige mich seit einiger Zeit mit Assembler für den x86.

Möchtest du wirklich ein OS wie DOS schreiben, oder nur ein kleines Programm was etwas Text nach dem Booten ausgibt?

Ersteres ist allein eigentlich nicht möglich, da du heutzutage selbst mit Assembler nur beschränkt auf die Hardware zugreifen kannst. Eine Bildschirmauflösung wie in Windows wirst du leider nicht realisieren können.

Ebenso müsstest du deinen eigenen CD-Rom Treiber schreiben, sodass für den Anfang nur das Starten von Diskette bleibt.
Eine Dokumentation für die Programmierung einer Netzwerkkarte ist nicht zu bekommen, da die Hersteller nicht die Funktionsweise ihrer Karten offen legen.

Dein OS hätte also nur Zugriff auf max. 640x480x16 Grafik, Tastatur, Maus, Diskette und die ersten MByte deiner Festplatte, sowie 1 MByte RAM.

Die Bücher "PC Hardware" von H.P. Messmer und die Buchreihe "PC Intern" von M.Tischer sollten dabei auf deinem Schreibtisch nicht fehlen. Sie beinhalten eigentlich alles was du wissen musst.

Leider nur noch gebraucht bei Amazon oder Ebay zu bekommen, wenn überhaupt.

Viel Erfolg,

Nicky


ROFL :D
nachtfeuer
Mitglied

Benutzerprofil
Anmeldungsdatum: 08.04.2010
Beiträge: 1167
Beitrag nachtfeuer Mitglied 22:39:59 02.11.2011   Titel:              Zitieren

Man fängt erstmal klein an, z.B. mit Codeschnippseln wie in diesem Artikel:
http://www.lowlevel.eu/wiki/Ausgabe_1

Dann schreibt man ein paar Programme, wie Commandointerpreter, Debugger, Texteditor, Dateiverwaltung, mehrere Interrupts, diverse Treiber für Tastatur (inklusive verschiedene Layouts) Bildschirm, Festplatten, Usb-Sticks, Disketten, SD-Karten, Joysticks, Soundkarten, Netzwerkkarten Prozessorverwaltung, Temperaturverwaltung, Internetbrowsing, Videogucken, Tetris spielen, Bildschirmschoner, Bildschirmhintergrund, diverse Verwaltungstools, verschiedene Sprachcompiler/interpreter, Entwicklungsumgebung, Tabellenkalkulation, Fotobearbeitung, Datenkompression, Festplattenpartitionierung, Defragmentierung, usw. usw.
Man muss nicht alles auf einmal schreiben, aber wenigstens einen Teil davon, um überhaupt programmiertechnisch dabei zu sein.

Dann kann man, eventuell schon früher, bei Gruppen einsteigen, die an Hobby-Betriebsystemen basteln, wie etwa ReactOS oder Erhards und Freunde PrettyOS hier ( http://www.c-plusplus.de/forum/f62?sid=6deb3de6d2c64a73794f0634d6ad6dd0 ) und ( http://www.c-plusplus.de/forum/254893?sid=6deb3de6d2c64a73794f0634d6ad6dd0 ) oder bei vielen anderen. Man kommt auf jeden Fall schneller voran, wenn man mit anderen an einem bestimmten Projekt mitarbeitet. Zwei wissen einfach mehr als einer und vier Augen sehen mehr als zwei.

Wenn man dann die richtige Vision hat, die nötige Erfahrung, die richtigen Kontakte und einigermaßen Know How und Designvorstellungen, kann man z.B. erste Schritte mit einem Visionsgemäßen Kommandointerpreter wagen. Je besser das Konzept und das Programmierinterface, und je leistungsfähiger und innovativer im Sinne von Zukunftsweisend, desto eher wird man Freunde finden, die mitmachen, code tauschen und desto stärker wird das System sein, und sich weiterentwickeln.

_________________
HhxV9rU5D8o236dZF7bMQ4Dys1_TuUmI4mZM.d2qD15ERi_0dgcHP0UViL3e-4WUi0nXXNwDYqA10sLEgjBVtdhE
tpehI7qHRZESiO_7LhPZFMQWNoiVrJDsEGD26n.H0lV8wOwYAe8UsbUJe5m65NyPaghnSoMzROo2gJ6nTeVSkxLk
a6hvNe11r9U7xddV9mq6NEi_V0C9k4augEKVSW3PV8LgCYum7KaXc9Ijq_ZT7zhspI.=-
supernicky
Unregistrierter




Beitrag supernicky Unregistrierter 01:00:57 03.11.2011   Titel:   Re: eigenes OS            Zitieren

KA schrieb:
supernicky schrieb:
Ersteres ist allein eigentlich nicht möglich, da du heutzutage selbst mit Assembler nur beschränkt auf die Hardware zugreifen kannst. Eine Bildschirmauflösung wie in Windows wirst du leider nicht realisieren können.

Ebenso müsstest du deinen eigenen CD-Rom Treiber schreiben, sodass für den Anfang nur das Starten von Diskette bleibt.
Eine Dokumentation für die Programmierung einer Netzwerkkarte ist nicht zu bekommen, da die Hersteller nicht die Funktionsweise ihrer Karten offen legen.

Dein OS hätte also nur Zugriff auf max. 640x480x16 Grafik, Tastatur, Maus, Diskette und die ersten MByte deiner Festplatte, sowie 1 MByte RAM.

Absoluter Blödsinn!


Kann man sehen wie man will. Man sollte aber realistisch bleiben.
Beim Programmieren im RealMode bleibt einem nunmal nicht mehr übrig. Das BIOS stellt einige zwar einige Routinen bereit für den Zugriff auf die Hardware, jedoch weiß jeder das diese sehr langsam sind.

Wenn es so einfach wäre, hätte jeder zweite Hobbyprogrammierer ein eigenes OS daheim. Dem ist aber nicht so. Selbst Assembler hilft einem nicht weiter wenn man nicht weiß wie die ganzen Register der einzelnen Controller angesprochen werden müssen. Von den Portadressen ganz zu schweigen.

Bis auf (S)VGA, Diskette/Festplatte und Tastatur ist sogut wie nichts dokumentiert oder heute noch gültig. Darum liefern die Hersteller nunmal Treiber mit ihrem Gerät mit.

Ich habe nicht gesagt das es unmöglich ist, aber viele OS-Entwickler werden schnell von der Realität eingeholt und brechen ihr Vorhaben sehr früh ab.

MfG

Nicky
LOLAlter
Unregistrierter




Beitrag LOLAlter Unregistrierter 19:43:58 03.11.2011   Titel:              Zitieren

supernicky schrieb:

Ich habe nicht gesagt das es unmöglich ist, aber viele OS-Entwickler werden schnell von der Realität eingeholt und brechen ihr Vorhaben sehr früh ab.


Nicht die Tatsache, dass du das Vorhaben als unrealistisch einstufst wird belächelt, sondern die technischen Einschätzungen, die du gepostet hast. Die sind einfach nur Schwachsinn und darüber hinaus sehr amüsant. LOL, Alter!
supernicky
Unregistrierter




Beitrag supernicky Unregistrierter 20:28:21 03.11.2011   Titel:   ...            Zitieren

dann sei doch so gut und kläre mich kurz auf...

MfG
C/C++ Forum :: Projekt: OS-Development  ::  Möchte ein eigenes Betriebssystem bauen  
Gehen Sie zu Seite 1, 2, 3  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.