Shell Linux



  • Da wird garnichts in C übersetzt. Das ganze wird interpretiert.



  • von Skriptsprache -> C -> Assembler -> Maschinensprache



  • blurry333 schrieb:

    von Skriptsprache -> C -> Assembler -> Maschinensprache

    Nein.



  • Fast. Zwischendrin kommt noch Forth, das hast du vergessen.



  • kotsack schrieb:

    Fast. Zwischendrin kommt noch Forth, das hast du vergessen.

    So stimmt das auch nicht ganz. Der Quellcode wird davor noch in Python und danach in Lua übersetzt.

    Wenn du pech hast und dein Programm verbuggt ist, kommt es zu einem Brain-Overflow.

    Deshalb ist programmieren, wenn man es nicht kann, sehr gefährlich.



  • kotsack schrieb:

    Fast. Zwischendrin kommt noch Forth, das hast du vergessen.

    Stimmt. Das kommt an vierter Stelle.



  • Alles korrekt.
    Das hier ist der Language-Stack in Linux:

    Skriptsprache -> Python -> Lua -> Forth -> C -> Assembler -> Maschinensprache

    Das ist historisch so gewachsen, weil man die Schichten des OSI/ISO-Schichtenmodells in eben diesen jeweiligen Sprachen geschrieben hat und dann irgendwann zum Schluss kam, es wäre sehr sinnvoll, stets und immer diese Übersetzungsschritte vorzunehmen.

    Alle anderen Sprachen wie PHP und C++ sind deswegen so furchtbar langsam, weil sie ganz oben auf dem Stack sitzen und erstmal in ein Shellskript umgewandelt werden.



  • Ja, so stimmt das.

    @ blurry333:

    Das ist eben der Grund, warum C++ so langsam ist. Ich empfehle, einen Hex-Editor zu verwenden und direkt in Maschinencode zu programmieren, also die i386-opcodes zu verwenden (http://ref.x86asm.net/coder32.html) so ist das am schnellsten, und es muss nichts interpretiert werden. So machen das auch die Entwickler von Computerspielen und die Entwickler von bekannter Software, weil so die beste Performance erreicht werden kann.

    C++ war gestern, da kannst du auch gleich direkt in Maschinencode programmieren.



  • _ schrieb:

    Da wird garnichts in C übersetzt. Das ganze wird interpretiert.

    In welche Sprache wird es dann interpretiert ?



  • blurry333 schrieb:

    _ schrieb:

    Da wird garnichts in C übersetzt. Das ganze wird interpretiert.

    In welche Sprache wird es dann interpretiert ?

    👎😃👎😮👎



  • *facepalm*



  • blurry333 schrieb:

    _ schrieb:

    Da wird garnichts in C übersetzt. Das ganze wird interpretiert.

    In welche Sprache wird es dann interpretiert ?

    Also, ich verarsch dich mal nicht, sondern füttere dich mit jungen Hobbits (falls du ein Troll bist), ansonsten hoffentlich mit Infos.

    Also, es wird ein Shell-Prozess gestartet. Das könnte je nach Shell bash oder sh sein. Beide genannten sind aus historischen Gründen in C programmiert, es könnte aber auch Java, Python oder Assembler sein.
    Die Shell macht dann ungefähr das:

    while(ReadCommand())
    {
        StartSubprocessToExecuteCommand();
    }
    

    Verständlich?


  • Mod

    _ schrieb:

    Das ist eben der Grund, warum C++ so langsam ist. Ich empfehle, einen Hex-Editor zu verwenden und direkt in Maschinencode zu programmieren, also die i386-opcodes zu verwenden (http://ref.x86asm.net/coder32.html) so ist das am schnellsten, und es muss nichts interpretiert werden.

    Und wie kommen die Opcodes in die Maschine? Das sind doch bloß Zeichen in einem Editor. Die müssen doch auch interpretiert werden, damit am Ende eine elektrische Leitung positiv oder negativ gegen Erde ist. Wer macht das eigentlich und wie funktioniert das?



  • SeppJ schrieb:

    Und wie kommen die Opcodes in die Maschine? Das sind doch bloß Zeichen in einem Editor. Die müssen doch auch interpretiert werden, damit am Ende eine elektrische Leitung positiv oder negativ gegen Erde ist. Wer macht das eigentlich und wie funktioniert das?

    Na, das ist die Aufgabe des Infpgal Prozessors. Der liest die Datei ein (natürlich binär und keine Zeichen!!!) und baut einen Schaltkreis, der dem Bauplan der Binäropcodes entsprechen. Dann wird Strom draufgegeben und schwupps ist das Resultat da.



  • Deshalb sind auch Programme mit einem komplexen Schaltplan langsamer, weil der Aufbau länger dauert.



  • SeppJ schrieb:

    _ schrieb:

    Das ist eben der Grund, warum C++ so langsam ist. Ich empfehle, einen Hex-Editor zu verwenden und direkt in Maschinencode zu programmieren, also die i386-opcodes zu verwenden (http://ref.x86asm.net/coder32.html) so ist das am schnellsten, und es muss nichts interpretiert werden.

    Und wie kommen die Opcodes in die Maschine? Das sind doch bloß Zeichen in einem Editor. Die müssen doch auch interpretiert werden, damit am Ende eine elektrische Leitung positiv oder negativ gegen Erde ist. Wer macht das eigentlich und wie funktioniert das?

    Da musst du wohl einen Elektrotechniker fragen.



  • Ist es echt so dass Zeile für Zeile wie ein STring eingelesen wird und dann die entsprechende C-Funktion aufgerufen wird. So einfach ist das 🙂


  • Mod

    _ schrieb:

    Da musst du wohl einen Elektrotechniker fragen.

    Ich dachte, das wäre ein Fachforum hier. Ich glaube, ihr wisst das selber nicht und wollt bloß groß rumtönen.

    🤡



  • SeppJ schrieb:

    _ schrieb:

    Das ist eben der Grund, warum C++ so langsam ist. Ich empfehle, einen Hex-Editor zu verwenden und direkt in Maschinencode zu programmieren, also die i386-opcodes zu verwenden (http://ref.x86asm.net/coder32.html) so ist das am schnellsten, und es muss nichts interpretiert werden.

    Und wie kommen die Opcodes in die Maschine? Das sind doch bloß Zeichen in einem Editor. Die müssen doch auch interpretiert werden, damit am Ende eine elektrische Leitung positiv oder negativ gegen Erde ist. Wer macht das eigentlich und wie funktioniert das?

    Das machen die Schmetterlinge in der CPU, das habe ich doch schon vorher gesagt.

    Intel und AMD haben sich riesige Schmetterlingsfarmen zugelegt um den Bedarf zu decken, bei so vielen CPUs wie die herstellen sind da schon ein paar Millionen Schmetterlinge pro Jahr notwendig.
    Und damit die nicht einfach wegsterben macht man sie mit Gammastrahlen haltbar.



  • infpgal schrieb:

    SeppJ schrieb:

    Und wie kommen die Opcodes in die Maschine? Das sind doch bloß Zeichen in einem Editor. Die müssen doch auch interpretiert werden, damit am Ende eine elektrische Leitung positiv oder negativ gegen Erde ist. Wer macht das eigentlich und wie funktioniert das?

    Na, das ist die Aufgabe des Infpgal Prozessors. Der liest die Datei ein (natürlich binär und keine Zeichen!!!) und baut einen Schaltkreis, der dem Bauplan der Binäropcodes entsprechen. Dann wird Strom draufgegeben und schwupps ist das Resultat da.

    Aber wie kommt das ganze Kupfer und Silizium in den PC, aus dem dann die Schaltkreiseinzelteile hergestellt werden? Post, so wie die Webseiten?


Anmelden zum Antworten