Wie kann man sich die Verbindung von Hard- und Software vorstellen?

... komplette Frage anzeigen

5 Antworten

Hallo Hastro,

damit das Betriebssystem mit der Hardware reden kann, hat es jede Menge Treiber, die dem System genau sagen, was an Hardware verbaut ist und welche Sprache genau diese Hardware spricht.

Das geht heutzutage alles relativ einfach, früher war das eine sehr frickelige Angelegenheit, wenn man neue Hardware eingebaut hat. Oder eine andere Maus benutzt hat.

Diese Zwischenschicht sieht man als User nicht (zum Glück) sondern kann einfach drauf los spielen :-)

Gruß,

Lars

Antwort bewerten Vielen Dank für Deine Bewertung

Das BIOS "weiß" wie und wo es von der HD, dem Netz, der CD usw den Bootrekord lesen kann. Das macht es auch. Dann übergibt es an das Programm das dort drinnen ist. WEenn das Programm des Bootrekords die Befehle der CPU kennt und gut Programmiert ist dann wird der Kern des Betriebssystems geladen und der übernimmt dann wieder und ladet den Rest wie zB Treiber. Ja, die Spezifikationen sind großteils genormt, zumindest die wichtigsten Teile. Natürlich haben dann AMD und Intel teile unterschiedlich und brauchen dafür eigene Programmteile. Aber die Pins sind der SW egal, Es müssen nur die Befehle stimmen.

Antwort bewerten Vielen Dank für Deine Bewertung

Kurz gesagt, braucht es die Pinbelegung nicht zu wissen. Android spricht eine Maschinensprache, und das Telefon hat dann halt diese Maschinensprache zu verstehen. Wenn sie das nicht tut, funktioniert es nicht.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von TheQ86
22.06.2016, 23:00

Hmm, nicht ganz richtig.

Der Prozessor hat einen sogenannten Befehlssatz. Jeder Befehl in diesem Satz hat auch eine Entsprechung in der Maschinensprache. "Sprechen" tut diese Maschinensprache nur der Prozessor. Die Folgen von Nullen und Einsen veranlassen die CPU dazu bestimmte Befehle auszuführen.

Android hat wie jedes Betriebssystem einen Kernel (einen Systemkern) der für alle Aufgaben auf der untersten Ebene verantwortlich ist (Speicherverwaltung, Prozessverwaltung, Dateisysteme usw.) Dieser Kernel liegt, wenn er kompilliert ist in der Maschinensprache des jeweiligen Prozessors vor.

In diese Maschinensprache wurde er durch einen Compiler einer "höheren" Programmiersprache gebracht (zB. C).

-----------------------------------------

Wie ein Maschinenbefehl zum Prozessor gelangt wird durch verschiedene Faktoren beeinflusst: Die Prozessorarchitektur und der Chipsatz des Mainboards zB., somit ist die Aussage, Android muss die Pinbelegung nicht wissen dennoch richtig. Das geschieht alles auf Hardwareebene.

2

Die befehle werden NICHT über einzelne Pins übertragen. Die Befehle werden über den Steuerbus geschickt und die haben immer gleich viele Pins.

Dazu muss man mal etwas der Reihe nachgehen:

Wenn ein Programmierer meinetwegen a = b + c; schreibt dann würde das in Assembler ungefähr so aussehen:

MOV AX, [AdresseA]
MOV BX, [AdresseB]
ADD AX, BX
MOV [AdresseC], AX

Diese Bezeichnungen nennt man Mnemonik.

Hinter dem MOV steht ein bestimmter Steuerbefehl.

Auch ADD AX, BX ist ein eigenständiger Steuerbefehl. Dieser hat einen bestimmten Wert. Man nennt das Operationskode: kurz OP-Kode.

Und das ist das was unten am Prozessor ankommt.

Wenn dieser Steuerbefehl im Steuerwerk der CPU anliegt, dann nimmt er die beiden Operanden aus den Registern AX und BX und schickt sie durch das das Addiotionswerk im Rechenwerk.

Und der OPcode für x86 Prozessoren steht fest und ist immer gleich. Egal ob AMD oder Intel.

Die Liste dieser OPcodes mit den Steuerfehlen nennt man Instruction Set.

Die kannst du auch überall nachlesen:

http://www.felixcloutier.com/x86/

Handys basieren nicht auf x86-Technologie, sondern auf ARM-Technik. Die haben auch ein anderes Instruction Set. Und das muss der Compiler wissen. Daher funktionieren auf ARM rechnern auch keine x86-kompelierte Programme.

Deine Frage ist sehr speziell und für "Laien" schwierig zu beantworten. Wichtig ist nur zu wissen, dass die ganzen befehle aus dem Instruction Set nicht über jeweils eine Leitung laufen, sondern immer alle über die gleiche LeitungEN. WSichtig ist nur welcher Steuerbefehl an die CPU gesendet wird.

Ich hoffe ich konnte es dir einiger maßen verständlich erklären.

Gruß
Omni

Antwort bewerten Vielen Dank für Deine Bewertung

Hard- und Software sind eigentlich inkompatiben wie Mann und Frau. Damit die beiden wirklich heiraten können gibt es den Ehevermittler Betriebssystem.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?