Wie funtioniert ein Computer?
lima-city → Forum → Heim-PC → Software
absoluten basics
abstraktion
arbeitsspeicher
benutzer
bestehen
betriebssystem
computer
daten
endeffekt
ergebnis
erklrung
gatter
grundlage
hardware
hilfe
informatik
prozess
prozessor
stellen
zustand
-
Ich hab mir gedacht, dass es eigentlich blöd ist, wenn ich Programme schreibe, ohne zu wissen, was dahinter abläuft. Könnt ihr mir eine gute Seite empfehlen, wo das Betriebssystem auf physikalische Ebene reduziert wird?
"Das ist Hardware: Bildschirm, Maus, ..." bringt nicht so viel
mfg niGOlaz -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
http://de.wikipedia.org/wiki/Computer
-
Danke, ist aber nicht sehr ausführlich, zB:
"Ein Digitalcomputer kann beispielsweise zwei Zahlen addieren, das Ergebnis mit einer dritten Zahl vergleichen und dann abhängig vom Ergebnis entweder an der einen oder der anderen Stelle des Programms fortfahren."
Aber wieso kann er das? -
Das ist nicht so einfach wie du dir das jetzt auf die Schnelle vorstellst, da ein Computer an sich ein hoch komplexes Zusammenspiel der Verschiedensten Komponenten ist.
Du wirst dir die Sachen wohl oder übel weitgehend einzeln zusammen suchen müssen.
nigolaz schrieb:
Danke, ist aber nicht sehr ausführlich, zB:
'... einen oder der anderen Stelle des Programms fortfahren.'
Aber wieso kann er das?
Das wissen selbst Studierte Informatiker meist nicht so genau. Die Programmierung und die Implementierung auf der Hardware sind Zwei verschiedene Welten.
Wenn du aber mit den Absoluten Basics anfangen willst, dann Such dir erstmal etwas das dir das Zusammenspiel der einzelkomponenten näher Bringt.
Dann ist es noch durchaus sinnvoll sich mit Boolscher Algebra zu beschäftigen (Grundlegend kann die Kiste nähmlich nur eins: Zwei verschiedene Zustände generieren und außwerten) Dann kannst du dich auch ein Bischen mit Assembler herumschlagen (Das ist dann so ziemlich die Hardwarenaheste Programmiervariante).
Auch soltest du dich mit Speichermanagement beschäftigen ...
Zusammengefasst, wenn du die Vorgänge wirklich verstehen willst, studierst du am besten Informatik und legst deinen Schwerpunkt in den Hardwarebereich. -
hallo,
Ansatzweise würde ich sagen das es bestimmte, einfache Vorgänge sind, die aber in einem sehr Komplexen Zusammenspiel mit einander arbeiten.
Wenn man den Prozessor sieht dann kann man diese Recht Zahlreichen Schichten von extrem kleinen Bauteilen erkennen.
Das ist ein bißchen wie dein Körper: im Endeffekt ist es auch nur eine kohlenstoffoxidation die deinen Hintern früh aus dem Bett schwingt;) -
Am besten suchst du mal nach Skripten zu den Fachhochschulkursen 'Grundlagen der Informatik'. Dort wird die Architektur und die grundlegende Funktionsweise des Rechners erklärt.
-
Also ich spreche jetzt mal für die Fachgebiete Angewandte und Theoretische Informatik: "Grundlagen der Informatik" beschäftigt sich eigentlich mehr mit theoretischen Modellen, u.a. Logik und so. Willst du wirklich wissen wie die Hardware ganz genau funktioniert, solltest du mal in die Elektrotechnik bzw. Nachrichtentechnik und in die Physik ziemlich tief reinschnuppern ^^
Die allgemeine Informatik wird dich da nicht so sehr weiterbringen, da der Informatiker stets von physikalisch funktionierenden Rechenmaschinen ausgeht und sich hardwaremäßig (wenn überhaupt) eigentlich nur mit dem Zusammenspiel der einzelnen Komponenten beschäftigt (also Übertragungsprotokolle usw.). Schließlich wollen wir keine Rechenmaschinen bauen sondern Daten verarbeiten bzw. Probleme lösen (Informatik ist lt. Definition die "Wissenschaft der Daten- und Informationsverarbeitung, insbesondere mit Hilfe automatischer Rechenmaschinen"). Dem Informatiker reicht es in der Regel, die logische Funktion eines Prozessors zu verstehen (Pipelining, Branch Prediction usw.) um mögliche Optimierungen vornehmen und Probleme verstehen zu können. Was da elektrisch im Einzelnen passiert, ist eher weniger wichtig ^^
Gebaut wurden die Computer ursprünglich von Elektrotechnikern bzw. Nachrichtentechnikern, die sollten deshalb auch besser wissen wie so eine Prozessorschaltung funktionieren könnte. Heute gibt's dafür das spezielle Fachgebiet der technischen Informatik, und darüber dürfte es dann auch wieder jede Menge Bücher in der Uni-Bibliothek deines Vertrauens geben :)
Ansonsten bleibt mir nur noch ein mehr oder weniger berühmtes Zitat von Dijkstra: "In der Informatik geht es genauso wenig um Computer wie in der Astronomie um Teleskope."
MfG,
thw -
Also, wie kann man sich ganz grob einen Computer vorstellen:
Hardwareebene:
Hier ist vor allen Dingen der Prozessor wichtig. Er verarbeitet alle einkommenden Daten und gibt sie bearbeitet zurück. Hier laufen die Prozeduren ab, die du im Endeffekt schreibst. Jedoch ist der Prozessor ohne aufgesetztes OS "doof". Dazu aber mehr später.
Arbeitsspeicher, hier sind alle Prozesse drin, mit denen grad gerechnet wird und diese werden nacheinander in den Prozessor geschoben (so zumindest die Theorie eines ganz einfachen Arbeitsspeichers: Stack).
Festplatte, hier befinden sich alle Daten. Wenn der Arbeitsspeicher voll ist, kann die Festplatte zum Auslagern der Daten benutzt werden.
Graka, Soundkarte, und CD-Laufwerke lasse ich außen vor. Die Graka ist zwar wichtig, bildet jedoch eine eigene Kategorie im Sinne von Peripherie.
Betriebssystem:
Hauptaufgaben: Booten, Zugriffsschutz, Dateischutz, Abstraktion, Vereinfachung, Prozessverwaltung
Booten: Hochfahren des Systems.
Zugriffsschutz: Loginprozess
Dateischutz: Schützt Dateien des Systems und die anderer Benutzer (Rechteverwaltung).
Abstraktion: Ist als Abstraktionsebene auf der Hardware aufgesetzt. Man kommuniziert über das OS mit der Hardware und nicht direkt.
Vereinfachung: Mit der Abstraktion zusammen hängend. Für den Benutzer wird vieles vereinfacht, da er nicht direkt auf der Hardware arbeitet.
Prozessverwaltung: Unterbrechen von Prozessen, Festlegung der Reihenfolge von Prozessen,...
Programmebene:
Hier werden alle programmierten Programme und prozeduren ausgeführt und aufgesetzt.
User Ebene:
Hier kommt erst der Benutzer. Für ihn ist der Zugriff auf Systemressourcen extrem vereinfacht. -
Danke für die vielen Antworten. Das das ganze ziemlich komplex ist, das ist schon klar, ich verlange auch nicht, dass ihr es erklärt.
Bis jetzt hab ich aber nur Erklärungen gefunden, die von einer Grundlage ausgehen, als ob man ein Klasse ableitet, ohne zu verstehen, was die Basisklasse macht. Sicher, das Ganze funktioniert, aber ihr wisst nicht wirklich wieso.
Ich werds wohl aufs erste darauf belassen, da das wohl nicht zur Allgemeinbildung gehört.
Und ob ich Informatik studiere? Mal sehn ... ;) -
Also wie thw schon gesagt hat, muss man ET studieren um da mal annähernd durchzublicken.
Aber sicherlich hilft dir wikipedia da auch schon weiter...
Du hast ja gemerkt, dass der Artikel über Computer noch recht oberflächlich ist. Allerdings findest du in dem Artikel weiterführende Links, die dich tiefer in die Materie hineintreiben und auf denen findest du wiederum welche, die noch tiefer hineingehen.
So besteht ein Rechner aus vielen Einzelteilen...
z.B.:
CPU http://de.wikipedia.org/wiki/Prozessor_%28Hardware%29
Arbeitsspeicher http://de.wikipedia.org/wiki/Computerspeicher
Diese Teile bestehen allerdings wiederum aus einzelnen Bauteilen...
Die Hauptkomponente des Rechnerwerks einer CPU ist z.B. ein Addierwerk http://de.wikipedia.org/wiki/Computerspeicher
Ein Addierwerk besteht wiederum aus Halb- und Volladdierern
http://de.wikipedia.org/wiki/Halbaddierer
http://de.wikipedia.org/wiki/Volladdierer
Diese bestehen dann wiederum z.B. aus Und- und Odergattern
http://de.wikipedia.org/wiki/Und-Gatter
http://de.wikipedia.org/wiki/Oder-Gatter
Und mit Hilfe dieser Gatter kann man aus zwei eingehenden Zuständen, nämlich "fließt Strom" und "fließt kein Strom" (gleichzusetzen mit "1" und "0") einen ausgehenden Zustand erreichen, was dem Addieren der beiden Zustände, also der Einsen und Nullen gleichkommt.
Mit Hilfe der verschiedenen Programmiersprachen kann man die verschiedenen Zustände steuern.
Das ist nur ein minimalistischer Anriss dessen, was im Rechner abläuft... Wenn du alles richtig verstehen willst, wünsche ich dir in den nächsten Jahren viel Spaß beim lesen! ;) -
Bis jetzt hab ich aber nur Erklärungen gefunden, die von einer Grundlage ausgehen, als ob man ein Klasse ableitet, ohne zu verstehen, was die Basisklasse macht. Sicher, das Ganze funktioniert, aber ihr wisst nicht wirklich wieso.
Das würde ich nicht so direkt behaupten, nur kann man 15-20 Jahre Erfahrung und Wissen nicht in einen Thread packen ... Da es sich wie du schon Richtig erkannt hast einfach um zu viel handelt.
Wenn du an die Absoluten Basics ran willst, beschäftige dich mit Transistoren und Logischen Gattern, denn daraus sind 90% der Arbeitenden Masse eines Computers gestrickt. Wenn du die Möglichkeit hast schau dir mal eine CPU genauer an, man kann so dinge wie Speicherfelder, Gatter etc. durchs Mikroskop gut erkennen, allerdings auch wieder nur wenn man schon weiss wie so etwas aussieht.
Sich mit Logikschaltungen zu beschäftigen hilft auch später beim Programmieren immer wieder mal weiter.
Die Nächste Ebene ist dann zu Verstehen wie Speicher, Prozessoren und andere Chipsätze zusammenspielen. Was hohle ich von meiner HDD, was kommt drauf, und wie?
Was schreibe ich in den RAM? Und wie kann ich es wieder Abrufen?
Was ist eine Speicheradresse? Wie nutze ich die verschiedenen Register?
Und zu was sind die überhaupt da?
Wie funktionieren die verschiedenen User Interfaces? Und was bewirken sie?
Was macht ein BIOS?...
Du wirst nie eine Pauschale antwort finden, und auch niemand der "alles" weiss, weil es einfach zu komplex ist, dass es ein einzelner Mensch komplett verstehen kann. Jeder kennt da schlussendlich sein Arbeitsfeld. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage