09. Feb 2013 06:02
Keine Kommentare

Wie funktioniert ein Computer?

Computer Mainboard bzw. Hauptplatine
Computer Mainboard bzw. Hauptplatine
In diesem Artikel möchte ich mich einmal mit den absoluten Computer-Grundlagen beschäftigen, wie überhaupt ein moderner Computer funktioniert. Dabei möchte ich nicht primär den klassischen stationären PC betrachten, der immer mehr aus unserem Leben verschwindet, sondern primär Smartphones, Tablets und Ultrabooks betrachten. Erstaunlicherweise ist deren funktionsweise garnicht so weit entfernt vom klassischen Computer. Bei so einem Artikel über Grundlagen, wie der Computer funktioniert ist es immer schwer den richtigen Ansatzpunkt zu finden.

Es gibt allein zwei Sendungen mit der Maus zum Thema "Wie funktioniert ein Computer". Mit teilweise unsortierten Vorgangsweisen. Womit soll man auch beginnen: dem Binärsystem, dem Aufbau von PCs oder überhaupt erstmal mit elektrotechnischen Grundlagen? Sowas wird dann entweder sehr unnahbar, detailreich oder verliert sich in Einzelheiten. Meine Artikel sollen sich jedoch durch einfaches Verständniss und Realitätsnähe des Computers auszeichnen. Sie sollen der Allgemeinheit ein besseres Verständnis geben. Deshalb habe ich mich entschieden chronologisch, also in zeitlicher Abfolge nacheinander, vorzugehen und zu erklären wie ein Computer funktioniert.

Es beginnt mit dem Einschalten des Stroms

Bei stationören PCs vorne am Gehause zu finden, bei Notebook-Computern oberhalb der Tastatur und bei Tablets und Smartphones meist seitlich am Gehäuse befindet sich der sog. "Power"-Button oder zu Deutsch "Stromschalter". Ist das Gerät vollständig abgeschaltet und nicht nur im Standby, so aktiviert der Stromschalter im Netzteil des Computers, dass dieses den Computer nun mit Strom versorgt und wahlweise auch noch Lüfter einschaltet. Letztere finden in Tablets, Smartphones und Ultrabooks aufgrund von Passivkühlung keine Anwendung mehr.

Computer BIOS POST
Computer BIOS POST

Bei PCs und Ultrabooks (für Smartphones und ARM-basierte Tablets trifft das nicht zu!) kommt nun das sog. BIOS (Basic Input/Output System zu dt. "einfaches Ein- und Ausgabesystem") zum Einsatz, da dies bei aktivierter Stromversorgung zuerst anspringt. Es stellt grundlegende Funktionen für die Kommunikation zwischen den einzelnen Komponenten des Computer bereit.

29,00 €
Jetzt bestellen »
Computerhardware für Anfänger: PC, Notebook, Tablet, Smartphone. Die Hardware kennenlernen - Warnzeichen erkennen - Fehler und Reparaturen vermeiden
Gewöhnlich versandfertig in 24 Stunden

Das BIOS fängt nun an mit dem sog. POST bzw. "Power-On Self-Test" (zu dt. "Strom-An, Selbsttest") das gesamte Computersystem zu untersuchen und zu überprüfen ob...

  1. der Prozessor korrekt in der Hauptplatine steckt und auf Kommunikation reagiert. Ist der Prozessor tot, wird zwar kurz der Strom und eventuell auch Lüfter angehen, danach wird die Hauptplatine sich jedoch wieder abschalten, da sie ohne Hauptprozessor (CPU) nicht funktionsfähig ist.
     
  2. Hauptspeicher in der Hauptplatine installiert wurde, damit der Prozessor Arbeitsspeicher hat - dieser ist zwingend erforderlich und wenn nicht vorhanden, wird das BIOS mit dem sog. PC Speaker ein Warnsignal erzeugen
     
  3. Als nächstes überprüft das BIOS, ob eine Grafikkarte installiert wurde und eine Grafikausgabe auf dem Bildschirm bzw. Monitor möglich ist. Ist kein Monitor angeschlossen, so kann der Computer dennoch funktionieren. Sog. Server, die nur über die Netzwerkschnittstelle bedient werden, zeichnen sich häufig dadurch aus, dass sie über keine grafische Oberfläche und Bedienbarkeit verfügen und deshalb auch keinen Monitor angeschlossen haben.
     
  4. Festplatte installiert und angeschlossen sind, damit der Prozessor dauerhaften Speicher hat, mit welchem er arbeiten kann. Festplatten sind für einfache Dinge wie Konfiguration des BIOS nicht erforderlich. Es gibt zur Festplatte ebenfalls Alternativen wie z.B. das Netzwerk oder eine CD-ROM.
Computer BIOS Boot Konfiguration
Computer BIOS Boot Konfiguration
Wenn das BIOS festgestellt hat, dass alle - gemäß BIOS Konfiguration - notwendigen Geräte installiert sind und eine Funktionsfähigkeit aufweisen, so wird es nun an den Schnittstellen nach sog. bootfähigen Geräten suchen. Dies funktioniert so, dass das BIOS alle angeschlossenen und vom BIOS für das sog. Booten unterstütze Speichermedien überprüft, ob diese einen sog. Bootsektor aufweisen. Hierbei handelt es sich um Daten auf dem Speichermedium wie z.B. einer Festplatte oder CD, welche die ersten Prozessorbefehle für das Laden des Betriebssystem beinhalten. Diese Daten bzw. das darin enthaltene Programm beschreibt man als sog. Bootloader. Das Programm, welches nach dem BIOS zuerst startet und das Betriebssystem lädt. Hier sei nochmals erwähnt, dass die meisten Smartphones und Tablets sog. ARM-basierte SoCs ("System On Chip" - das gesamte System befindet sich auf einem Chip integriert - CPU, Mainboard, Hauptspeicher alles in einem) sind und damit kein mit dem PC vergleichbares BIOS besitzen. Sehr wohl verfügen sie jedoch über einen Bootloader.

Starten des Betriebssystems durch den Bootloader

Android Bootloader
Android Bootloader
Der sog. Bootloader existiert in verschiedenen Variationen in allen Computergattungen (Tablets, PCs, Ultrabooks, Smartphones etc.). Er zeichnet sich durch  eine gewisse Unbeliebtheit aus, da seine Arbeit zwar notwendig, jedoch zeitraubend und wenig interaktiv ist. Für die meisten Menschen "lädt" der Computer einfach nur oder "fährt hoch". Tatsächlich ist er nun damit beschäftigt unendlich scheinende Mengen an Daten und Programmcode für die Verwendung durch das Betriebssystem in den Hauptspeicher zu laden und Peripherie wie Netzwerk-, Grafik- und Soundkomponenten vorzubereiten. Zu den Informationen gehören z.B. Dinge wie "Welche Daten muss der Prozessor über das BIOS an die Grafikkarte senden, damit diese die Bildschirmauflösung so einstellt, wie der Prozessor über das BIOS aus der Konfiguration auf der Festplatte ausgelesen hat". 
 
Zusätzlich führt auch der Bootloader Überprüfungen durch. z.B. ob die Daten auf der Festplatte noch korrekt sind, alle notwendigen Geräte im Betriebssystem vollständig konfiguriert sind und startet den sog. Betriebssystemkern, welchen er vorher von der Festplatte geladen hat. Die Übergang von Bootloader zu Betriebssystemkern vollzieht sich bei den meisten Systemen nahtlos und ist für den Benutzer nicht ersichtlich - ausgenommen vollständige Bootinformationsausgabe unter Linux oder Android (ähnl. Debug Modus unter Windows).

Erscheinen des Betriebssystems

Computer Linux Boot
Computer Linux Boot

Nach dem Bootloader erscheint das Betriebssystem. Die bekanntesten Systeme sind Windows, Mac OSX, Linux, Android und iOS (iPhone und iPad). Sie vereinfachen das Arbeiten mit den unterschiedlichen Anschlüssen und Peripheriegeräten bzw. den Kommunikationseinheiten, da sie eine grafische Benutzeroberfläche bereitstellen.

Während bis Mitte der 2000er es noch erforderlich war mit einer Computermaus und einer Tastatur umgehen zu können, so bieten heutige Geräte wie Tablets und Smartphones die Bedienung direkt über den Bildschirm mit einem sog. Touchscreen an. Das Bedienkonzept wird dadurch zwar einmal komplett auf den Kopf gestellt und muss neu entwickelt werden, rein technisch ändert sich aber für das Betriebssystem nicht viel. Vorher hat es die Position auf dem Bildschirm mit Hilfe eines Mauszeigers berechnet und nun liefert der Touchscreen an einer Schnittstelle die Information an welcher Position eine Berührung stattgefunden hat.

Android Homescreen
Android Homescreen

Im Grunde genommen überwacht das Betriebssystem die Eingabeschnittstellen wie Touchscreen, Tastatur und Maus. Zusätzlich bietet es Programmen einfacheren Zugriff auf die Komponenten des Computers. Möchte zum Beispiel ein Programm eine SMS versenden, so muss es nicht noch einmal alle Mobilfunkgrundlagen wie Zellverwaltung und SIM Identifikation beherrschen. Dies hat bereits das Betriebssystem übernommen und bietet dem Programm jetzt einen einfachen Befehl zum Versenden einer SMS. Mehr dazu im Abschnitt "Programmbibliotheken". 

Betriebssystem in Warteposition

Wie kurz erwähnt befindet sich er Computer gemeinsam mit dem Betriebssystem nun in sog. Warteposition und überwacht in einer Dauerschleife alle Eingabegeräte sowie die Uhr. Berührt der Benutzer die Eingabegeräte nicht, so führt das Betriebssystem auch keine Aktionen aus. Es sei denn diese sind zeitgesteuert wie z.B. der Bildschirmschoner, Energiesparmodus oder regelmäßiger Virenscan.

Funktionsbeispiel: Wie funktioniert ein E-Mail Programm?

Nehmen wir nun jedoch einmal an, der Benutzer berührt mit dem Finger auf dem Touchscreen das Symbol des E-Mail Programms oder klickt darauf. Der Code des Betriebssystems beinhaltet nun Befehle, die dazu führen, dass das Betriebssystem nun das Programm auf der Festplatte öffnet, wie eine normale Datei - also z.B. die Datei "Outlook.exe" unter Windows, in der sich der Programmcode für das E-Mail Programm Outlook von Microsoft befindet.

Outlook E-Mail Programm bzw. Client

In dieser EXE-Datei beinhaltet dabei den Programmcode, welchen der Prozessor ausführen kann. Da das direkte Lesen von der Festplatte zu langsam ist, lädt der Prozessor die Daten aus der EXE Datei und eventuell davon abhängigen weiteren Dateien in den RAM (auch als Hauptspeicher bekannt). Der RAM ist bedeutend schneller als eine Festplatte. Bei Android haben im Übrigen ausführbare Programme keine bestimmte Dateiendung. Die Symbole auf der Oberfläche weisen jedoch, genau wie bei anderen Systemen auch, direkt zu der Datei mit dem entsprechenden Programmcode. Aus dem RAM lädt der Prozessor den Programmcode dann stückchecnweise in den L1 und L2 Cache, welcher ebenfalls wiederum schneller als der RAM ist.

Der im RAM befindliche Programmcode kann wiederum neuen Programmcode hineinladen oder über Speicherbereiche des BIOS mit anderen Peripheriegeräten kommunizieren - z.B. mit  der Netzwerkkarte oder der Festplatte. Das ist im Allgemeinen sehr aufwändig und es wäre ja durchaus auch nicht empfehlenswert das bei jedem Programm, welches eine E-Mail Funtionalität oder einfache Netzwerkkommunikation braucht neu zu programmieren. Dafür gibt es sog. Programmbibliotheken.

Was ist eine Programmbibliothek und wie funktioniert sie?

Einige kennen vielleicht die sog. DLL Dateien (Abgekürzt für "Dynamic Linking Library" - dynamisch verknüpfte Bibliothek) unter Windows. Hierbei handelt es sich um sog. Programmbibliotheken, die bereits fertige Funktionen für Tonausgabe, Netzwerkkommunikation, Festplattenzugriff, Drucken uvm. zur Verfügung stellen.

Es gibt auch unterschiedliche Arten von Bibliotheken je nach Programmiersprache, Umgebung und Betriebssystem, aber darauf möchte ich jetzt nicht im Detail eingehen. Das würde den Rahmen sprengen. 

Computerprogramme und Bibliotheken als Windows DLL

Im Ordner "C:WindowsSystem32" und System befindet sich unter Windows der Großteil der Bibliotheken. Unter Linux befindet diese sich z.B. im Ordner "/var/lib" oder "/usr/lib" und haben anstelle der Endung .dll die Endung .so (steht für "Shared Object", geteiltes bzw. gemeinsam genutztes Objekt).

19,99 €
Jetzt bestellen »
Windows 8 für Dummies
Versandfertig in 1 - 2 Werktagen

Um uns mal mit ein paar Beispielen für Programmbibliotheken zu befassen, so bietet z.B. die DLL winhttp.dll Zugriff auf das Netzerkprotokoll HTTP, welches z.B. vom  Browser für das Laden von Websites verwendet wird. Browser und andere Programme, die dies benötigen, können die winhttp.dll verwenden. Benötigt man Informationen wie IP Adresse oder über andere Rechner im Netzwerk, so kann z.B. die Bibliothek winethc.dll helfen. Sie ist eine Hilfsbibliothek für komplexere Netzwerkoperationen. Die "winmm.dll" ist eine Bibliothek, die das Abspielen von Videos, Mp3s und anderen Multimedia-Inhalten für Programme schnell und einfach zur Verfügung stellt.

Warum bietet das Betriebssystem nicht alle Funktionen?

Jetzt ist es ja so gut wie immer der Fall, dass man noch neue Programme kauft. z.B. Büroprogramme wie Excel und WordSteuererklärungssoftware für Linux, Anti-Virus-Software, Musikabspielprogramme, Foto oder Videobearbeitungssoftware uvm. Aufgrund der Erweiterbarkeit und Programmierbarkeit von Computern und Betriebssystemen, muss der Hersteller des Betriebssystems abwägen, welche Produkte er selbst anbieten möchte bzw. mit dem Betriebssystem liefert und welche er separat verkaufen oder gar nicht selbst anbieten möchte.

Das ist selten eine technische als mehr eine wirtschaftliche Frage. Es hat Vor- und Nachteile. Liefert der Hersteller möglichst viele Anwendung selbst (wie z.B. Apple), dann sind die Programme alle "aus einem Guß" und lassen sich ähnlich bedienen.

Die Auswahl an Computer-Software kann aber durchaus eingeschränkt sein und der Hersteller kann im Betriebssystem Schranken einbauen, die sein Produkt bevorzugen (wie z.B. beim Internet Explorer und Windows Media Player unter Windows).

Ist die Auwahl groß und es gibt keine Präferenz für ein bestimmtes Programm durch den Betriebssystemhersteller bzw. -entwickler wie z.B. unter Unix, Linux und Android, dann kann das den Benutzer schnell überfordern und zu gewissem Kuddelmuddel führen. Bei Android wird z.B. häufig als Negativpunkt angeführt, dass es für mehrere Funktionen gleich mehrere Programme gibt z.B. GMail und E-Mail sind gleich zwei Standardprogramme für E-Mail. Weitere E-Mail Programme lassen sich nachinstallieren. Apple ist da restriktiver, bietet dann aber auch weniger vielfältige Funktionen.

Wenn das Programm beendet wird, wird der Speicher geleert

Kommen wir zu den Schwachstellen moderner Computer: ist ein Programm beendet, muss es aus dem RAM entfernt werden und mit ihm seine Daten. Hiermit haben alle modernen Betriebssysteme gewisse Probleme, was dazu führt, dass nach längerer Verwendung immer weniger Hauptspeicher zur Vefügung stehen kann. Insbesondere Windows hat hiermit größere Schwierigkeiten. Unix-basierte Systeme wie OSX, Linux und Android sind hier nicht ganz so belastet. Lediglich die grafische Oberfläche von OSX weist ähnliche Nachteile auf.

Wieso das Herunterfahren Zeit in Anspruch nimmt

Raspberry Pi Computer
Raspberry Pi Computer

Oftmals höre ich die Frage, wieso das Ausschalten bzw. Herunterfahren des Computers bzw. des Betriebssystems überhaupt Zeit in Anspruch nimmt und wieso man nicht einfach den Strom ausschalten kann. Der Hintergrund ist, dass eventuell noch laufende Programme des Betriebssystems selbst sicherstellen müssen, dass die Peripherie wie Festplatte, Netzwerkkarte oder Grafikkarte selbst ordnungsgemäß abgeschaltet wurden. Ist z.B. eine Festplatte nicht korrekt abgeschaltet worden, so kann sie dadurch Daten verlieren. Ebenso benötigen Netzwerkfunktionen ein wenig Aufräumarbeiten. Im Allgemeinen geht das Herunterfahren jedoch bedeutend schneller als das Hochfahren, da der RAM bzw. Hauptspeicher sog. flüchtiger Speicher ist und er beim Abschalten des Stroms ohnehin geleert wird. Ein Löschen ist daher nicht notwendig. 

Zu aller Letzt sendet dann der Prozessor einen Befehl an das BIOS, welches den Computer sofort abschaltet, indem die Stromzufuhr durch das Netzteil unterbrochen wird. Das BIOS kann das auch selbstständig tun, wenn z.B. der Stromschalter (Power-On Button) 8 Sekunden lang gedrückt wird oder aber die Systemtemparatur auf der Hauptplatine die konfigurierte Grenze überschreitet, der Computer zu überhitzen droht und der Not-Aus aktiviert ist.

Wie kann man mehr über Computer lernen?

Heutzutage sind Computer überall und in Jedermanns Hostentasche. Ihre Funktionsweise zu erlernen benötigt Zeit. Desto mehr Zeit man sich nimmt, desto besser kann man Sie erlernen. Am Besten erlernt man die Funktionsweise des Computers, indem man selbst programmiert. Mein Artikel Programmieren lernen, kann dafür eine Einstiegshilfe sein. Ebenso bietet mein Artikel Android App Programmieren eine komplette Einführung in die Programmierung von Android Apps, wenn man schon etwas Programmiererfahrung hat.

Bücher zum Thema „Computer“

Die nachfolgenden Bücher behandeln das Thema "Computer" und werden von Amazon empfohlen. Viele dieser Bücher habe ich selbst gelesen und teilweise auch zur Recherche für diesen Artikel genutzt.
24,90 €
Jetzt bestellen »
Computer-Netzwerke: Grundlagen, Funktionsweisen, Anwendung. Für Studium, Ausbildung und Beruf. Inkl. OpenWRT
Harald Zisler, Rheinwerk Computing
14,99 €
Jetzt bestellen »
Computer: Wie funktionieren Smartphone, Tablet & Co.? (Technik im Fokus)
Rolf Drechsler, Springer
16,99 €
Jetzt bestellen »
PCs für Dummies
Dan Gookin, Wiley-VCH Verlag GmbH & Co. KGaA
10,70 €
Jetzt bestellen »
Java-Programmierung für Anfänger: Programmieren lernen ohne Vorkenntnisse
Daniel Lorig, CreateSpace Independent Publishing Platform

Diese Artikel könnten Dich auch interessieren

Besucher, die diesen Beitrag gelesen haben, haben sich auch die unten aufgeführten Beiträge angesehen. Schau' doch einfach mal in die Artikel rein.
4 Besucher haben auch das gelesen

Kommentare zum Thema „Wie funktioniert ein Computer?“

Wenn Du möchtest, kannst Du hier Kommentare zum Thema hinterlassen und Dich mit anderen Nutzern austauschen. Damit Du kommentieren kannst, musst Du Dich nur anmelden und schon kann es losgehen.
Jetzt zum Kommentieren anmelden