Wie wird ein Computer programmiert?
Ich kenne mich damit gar nicht aus, aber wie wird eigentlich ein Computer programmiert? Ich weiß dass das ja irgendwie über Binärzahlen oder so geht aber wenn der Computer noch gar nicht progammiert wurde wie wird dann programmiert das er den Binärcode lesen kann wenn er es doch noch gar nicht kann. Ich habe wirklich keine Ahnung davon, kann irgendjemand mir dabei helfen. Danke für Antworten.
5 Antworten
Um das etwas anschaulicher zu machen, erzähle ich mal von den ersten drei Rechnern, die ich programmieren gelernt habe.
Der erste war ein SER2c.
https://www.robotrontechnik.de/index.htm?/html/computer/ser2.htm
Der hat seine Programme über Lochstreifen eingelesen, auf seinen Magnettrommelspeicher kopiert und dort abgearbeitet. Hier ein Bild des Speichers:
(SR heißt Schreiben Register, HR heißt Hören Register) Auf der anderen Seite gab es noch ein zweites Register. Der Rest sind rundherum verteilt je 127 Bytes (zu je 48 Bit!) Befehls- und Datenspeicher. Da die Trommel mit 50 Hz umlief, musste man schon eine Weile warten, bis die passende Speicherzelle vorbeikam 😉. Zum Programmieren gab es eine elektrische Schreibmaschine mit Lochbandstanzer.
Der zweite war eine Cellatron C8205. Die hatte auf ihrer Mangnettrommel ein kleines Programm, was über Lochbandleser weitere Programmteile nachladen konnte. Um dieses Programm (Urlader) auf die Trommel zu bekommen, gab es ein übelstes Schaltpult als Zubehör, das man da irgendwie anschließen konnte. Ich habe das nie in Betrieb erlebt. Und es gab einen einfachen Schalter, mit dem man dann das Schreiben auf dieses Programm verbieten konnte. (Magnettrommelspeicher behalten ihren Inhalt, auch wenn der Strom abgeschaltet wird.)
Das dritte war eine Eigenbau-Platine mit einem Z80 (U880), einem KByte RAM und einem KByte EPROM. Das Programm im EPROM hat mir ein netter Mensch von Hand da reinprogrammiert. Er brauchte dazu das Programm handgeschrieben im Dualsystem. Dieses Programm nahm dann Daten von einer abgewrackten Taschenrechner-Tastatur entgegen, so dass man dann eigene Programme eingeben konnte. Da ich noch die Lochbandleser und -Stanzer vom SER2 hatte, tippte ich also erstmal ein kleines Programm ein, was den Lochbandleser benutzen konnte, um das "wirkliche" Programm einzulesen.
Damals war man an der Hardware irgendwie noch dichter dran 😉

Vor der Software kommt die Hardware. Die werden entsprechend designed, damit sie befehle annehmen (in Form von elektrischen spannungen) und ausgeben. Ein paar schichten darüber hat man dann binärcode, darüber Assembler und darüber eine Hochsprache. Und es kann noch weitere Ebenen hochsteigen bis auch der Endanwender zum zug kommt.
Computer programmiert man mit Hilfe einer passenden Programmiersprache.
Stellvertretend für alle lernt man zunächst am besten C# anhand folgenden Buches:
https://www.europa-lehrmittel.de/C-fuer-IT-Berufe/85542-4 .
Blick ins Buch hier: https://www.europa-lehrmittel.de/leseprobe/85542-4.pdf
|
Python solltest du so lange wie nur irgend möglich ignorieren. C# ist die heute am besten durchdachte Programmiersprache und zudem noch die, welche dir sinnvollen Einstieg ins Programmieren am leichtesten macht.
Kern eines Computers ist die CPU, welche Programme abarbeiten kann.
Programme sind Sequenzen von Instruktionen, welche diese CPU versteht.
Solche Instruktionen werden der CPU tatsächlich als Ketten von Einsen und Nullen angeboten.
Ein Computer, der gar keine solche Instruktionen hat, weiss nicht mal, wie er Starten soll. Darum wurde solcher code schon eingesteckt oder hineingeschrieben. Damit weiss er zumindest, wie er initialisieren muss, und wo er weiteren Code finden kann, für Fortsetzen seines Starts.
"Einsen" und "Nullen" beziehen sich jetzt aber nicht auf die Zahlen 1 oder 0, sondern beschreiben zwei unterschiedliche Spannungszustände. Z.B. Spannung vs. keine Spannung.
Es gibt eine Menge Bücher darüber. Programmieren für Einsteiger oder sowas wäre für Dich vielleicht ganz nett ...
Erkundige dich mal in der nächsten Stadtbibliothek.
oder kurz verlinkt: https://de.wikipedia.org/wiki/Integrierter_Schaltkreis