Code immer Plattformunabhängig



  • Hallo, könnte man nicht eigentlich so programmieren das ein code IMMER Plattformunabhängig ist?

    Ich meine wenn ein OS Entwickelt wird dann hat man ja am Anfang nur die Funktionen der Hardware zur Verfügung.

    Und ob ich jetzt Windows oder Linux benutze müsste doch egal sein wenn ich die selbe Hardware verwende oder ?



  • Joah, so ähnlich ist es ja eigentlich auch.

    Praktisch alle relevanten Systeme, außer Windows, sind Unix-Derivate und haben einen relativ großen kleinsten gemeinsamen Nenner.

    Und dann kommt MS daher und wirft einen Kernel raus, der alles anders macht. Vom Konzept her nicht unbedingt besser/schlechter (Mir gefällt das API Design von Windows), aber gnadenlos inkompatibel.



  • Die Hardware kannst du in der Regel nicht direkt benutzen. Das hat man im Real-Mode zu DOS-Zeiten gemacht. Moderne Betriebssysteme verhindern Hardware-Zugriffe. Damit wäre dein Code ja nämlich noch unportabler. Stell dir mal vor, du müsstest deinen eigenen Grafikkartentreiber jedes mal implementieren und mitliefern und wenn eine neue Generation von Grafikkarten rauskommt, dann müsstest du dein Programm wieder anpassen.



  • Aber wieso kann mein PC dann eine Intel oder AMD CPU benutzen ?

    Mit verschiedenen Betriebssystemen.



  • yt_ schrieb:

    Hallo, könnte man nicht eigentlich so programmieren das ein code IMMER Plattformunabhängig ist?

    Ich meine wenn ein OS Entwickelt wird dann hat man ja am Anfang nur die Funktionen der Hardware zur Verfügung.

    Und ob ich jetzt Windows oder Linux benutze müsste doch egal sein wenn ich die selbe Hardware verwende oder ?

    Dazu müsstest du eine moderne Sprache nehmen. zB python.


  • Mod

    yt_ schrieb:

    Aber wieso kann mein PC dann eine Intel oder AMD CPU benutzen ?

    Wieso nicht? Erklär doch mal den Unterschied zwischen AMD und Intel Prozessoren.

    Mit verschiedenen Betriebssystemen.

    😕 Wieso nicht? Was interessiert es deinen Computer, was für ein Betriebssystem läuft?



  • yt_ schrieb:

    Aber wieso kann mein PC dann eine Intel oder AMD CPU benutzen ?

    Weil sie den selben befehlssatz implementieren. Aber für verschiedene Architekturen brauchst du auch verschiedene Betriebssysteme.



  • yt_ schrieb:

    Hallo, könnte man nicht eigentlich so programmieren das ein code IMMER Plattformunabhängig ist?

    Nur wenn du dich auf APIs beschränkst die auf ALLEN Plattformen verfügbar sind.



  • Was genau willst du haben - einen möglichst portablen Code oder einen Compiler für alle Plattformen? Zum Glück gibt es Standards und die sind zumindest bei Programmiersprachen wie C und C++ weitgehend plattformunabhängig!


Anmelden zum Antworten