Home | Computer | Hardware | Site Map |
Wer heute einen Computer kauft muss sich nur noch wenig mit technischen Einzelheiten beschäftigen. Doch immer wieder hört man dann doch Begriffe wie "Interrupts", "Cache" und so weiter. Dieser Artikel soll eine einfache Erklärung der häufigsten Begriffe rund um den PC geben. Wenn Sie als Experte auf diese Seite gestoßen sind, so mailen sie mir bitte nicht, das dieses oder jenes noch ausführlicher erklärt sein sollte. Ich habe mich bewusst auf eine einfache Einführung beschränkt. Wenn Sie aber noch einen Begriff kennen, der hier vertreten sein sollte so mailen Sie mir.
Im allgemeinen kann man Speicher in zwei Typen unterscheiden: Speicher dessen Inhalt nach Abschalten der Spannungsversorgung verloren geht (RAM oder Random Access Memory) und ROM (Read only Memory). Beide Begriffe stammen aus der Frühzeit des Computers und sind heute eher verwirrend, denn viele ROM Bausteine kann man auch beschreiben, und nicht nur auf RAM kann man wahlfrei zugreifen.
Bei ROM unterscheidet man mehrere Technologien. Bei der einen wird bei der Herstellung schon das Bitmuster festgelegt oder man kann es nur einmal einbrennen. Solche Roms finden sie in Computern kaum noch, weil die Innovationszyklen der Industrie es heute nötig machen das man sogar das ROM im BIOS ändern kann. Dagegen findet man so etwas häufig in Mikrocontrollern, wo man höhere Stückzahlen hat ohne je das Programm zu ändern. Bei der zweiten Art von Roms handelt es sich um Bausteine, die man neu beschreiben kann. Heute am verbreitetsten sind Flash-Speicher, die viel einfacher als bisherige Festwertspeicher beschrieben werden können. Sie finden diese Roms sowohl in ihrem Computer wie auch als mobiler Datenspeicher in Memorysticks für Digitalkameras oder MP3 Playern.
RAMs gibt es auch in verschiedenen Technologien. Ihr Hauptspeicher besteht im wesentlichen aus DRAMs. D steht für Dynamisch und charakterisiert das diese wie ein Kondensator Ladung speichern, dafür diese Ladung aber innerhalb eines Sekundenbruchteils auch wieder verlieren so das sie immer wieder aufgefrischt werden muss. Als Caches kommen dagegen SRAM oder statische RAMs zum Einsatz. Hier wird zum Speichern eines Bits eine Schaltung benutzt. Im Vergleich zum DRAM kann man die Daten schneller abrufen, dafür benötigt man die 4 fache Chipfläche und SRAM ist dadurch erheblich teurer als DRAM.
Heute wird viel mehr Flash-Speicher produziert als RAM und ROM. Flash-Speicher ist eine Weiterentwicklung des EPROMS, das Anfang der Siebziger Jahre durch Zufall entwickelt wurde. Einige der ersten DRAM- Speicher von Intel, hatten ein Fertigungsproblem. Sie konnten das Bit nicht dauerhaft speichern. Man entdeckte unter dem Mikroskop das sich ein Teil des Transistor, das Gate abgelöst hatte, genannt "Floating Gate". Bei Untersuchungen stellte sich heraus, das dieses Floating Gate eine Ladung auch speicherte wenn die Spannung wegfiel, sogar noch nach dem Ausschalten. Das führte zu einem neuen Produkt dem EPROM das dieses Floating Gate nutzte um permanent Daten zu Speichen. Dafür wurde zum, Speichern eine sehr hohe Spannung von 12 bis 24 V benötigt, die das Programmieren nur mit einem speziellen Gert, einem Eprommer oder Epromprogrammiergerät möglich machte, da die Computer nur maximal 5 V Anschlüsse hatten. Zum Löschen musste man das EPROM aus dem Sockel nehmen und unter eine UV-Lampe (oder mehrere Stunden unter die sonne halten). Die UV-Strahlen lieferten den Elektronen genug Energie das sie vom Gate wieder entweichen konnten. Das EPROM erlaubte es zwar erstmals das jeder ein ROM herstellen konnte ohne eine Firma für die Herstellung eines malsenprogrammierten ROMs zu beauftragen, aber es war auch umständlich in der Anwendung. Dies änderte sich mit dem EEPROM, dem elektrisch programmierbaren EPROM. Bei dieser Fortentwicklung benötigt man keine höhere Spannung mehr zum Programmieren mehr und man kann durch Strom das EPROM auch wieder löschen.
Flash-ROM oder Flash-Speicher sind die letzte Weiterentwicklung. Bei ihnen ist der Hauptunterschied das man nicht den ganzen Baustein löschen muss, sondern nur einzelne Blöcke. Diese haben bei aktuellen Bausteinen etwa 512 KByte Größe. Das bedeutet: Wird nur ein Bit verändert, so müssen 512 KByte ausgelesen, das Bit verändert und wieder zurückgeschrieben werden. Daher sind die Schreibraten von Flash-ROM sehr viel langsamer als die Leseraten. Dafür sind sie sehr preiswert. Flash-Speicher haben pro Chip mehrere Ebenen, getrennt durch Isolationsmateral, in denen sie Bits speichern können (2017: bis zu sieben Lagen). Zusätzlich können moderne Typen mehrere Bits (bis zu 3) pro Speicherzelle speichern. Dann entspricht eine Vollladung z.B. dem Wert 7, eine halbe Ladung dem Wert 3 und eine geringe Ladung dem Wert 1. Der Chip muss also nicht nur erkennen ob Ladung vorhanden ist sondern auch wie viele.
Der Lohn ist, das ein einzelner Flash-Chip viel mehr Bits als ein DRAM-Baustein gleicher Größe speichern kann. Flash Speicher ist so viel preiswerter als RAM geworden. Zusätzlich werden mehrere Flash Chips zu einem größeren Flash-Baustein kombiniert der dann als eine Einheit angesprochen wird. 2017 ist es so möglich 256 GBit auf einem Flash-Baustein unterzubringen während ein RAM-Chip nur 1 GBit fasst.
Was ein Mikroprozessor ist, weiß heute dank Intels Werbung fast jeder. Alleine ist ein Mikroprozessor jedoch absolut nutzlos. Für ein Minimales System benötigt man mindestens drei weitere Komponenten:
packt man dies mit auf den Prozessor und ergänzt dies um einige Timer (programmierbare Zeitgeber) und Interrupt Controller (bewirken, das der Mikroprozessor auf Signale von außen mit einer Unterbrechung seines Programms reagiert) so bekommt man einen Mikrocontroller. Ein Mikrocontroller ist also mehr als ein Mikroprozessor. Man findet hier allerdings nicht unbedingt die schnellsten und neuesten Prozessoren. Denn Aufgabe ist vor allem das Überwachen von Funktionen. In einem Auto kann man heute 30-40 derartiger Controller finden.
Sie werden immer komplexer. Wer selbst mit einem Mikrocontroller experimentieren will kann dies relativ einfach mit der Arduino-Plattform tun, für die es zahlreiche Erweiterungen gibt die man einfach aufstecken kann ohne zu löten. Auch hier sieht man den Trend zu komplexeren Mikrocontrollern. Gestartet war das Projekt mit 8 Bit Mikro Kontrollern der MegaAVR von ATMEL, inzwischen sind dei neueren Geräte mit einem 32 Bit Cortex M3 Prozessor von ARM bestückt.
Etwas weiter ist das SOC. Ein System on a Chip. Man versteht dabei ein ganzes Computersystem auf einem Chip. So gibt es z.B. eine Version des 486 Prozessors der zugleich ROM als Festplattenersatz, RAM, Schnittstellen und VGA Grafik integriert hat. Die Technik von 2002 erlaubte es somit ein System mit Windows 3.1 auf einem Chip unterzubringen. Das reicht z.B. für einen Westentaschenrechner für mobile Datenerfassung und Übertragung (mit Videokamera und Mikrofon) aus. Reporter mit solchen Systemen gibt es bereits, und eine etwas größere Version will die US-Army einsetzen um Soldaten damit auszurüsten.
Da ein Microcontroller alle Funktionen auf einem Chip hat, hat er jenseits der Steuerung von Aktoren oder der Verarbeitung von Sensoren Daten in Steuerungen für Roboter, Elektrogeräte, Autos etc. auch eine zweite Karriere gestartet. Mikrocontroller auf Platinen mit genormten Anschlüssen werden heute für Hardware-Hacks genutzt z.b. bei der Arduino Plattform. Wer damit nicht zufrieden ist kann heute auch ohne Elektronikkenntnisse Hardware zum Laufen bekommen. Am einfachsten geht das mit FPGA (Field Programmable Gate-Arrays. Das sind Arrays aus einzelnen Logikzellen, deren Verbindung durch ein Programm festgelegt wird. Selbst nicht ganz taufrische FPGA können einen Rechner von der Klasse eines Amiga oder Atari ST nachbilden indem man die Logikzellen so verdrahtet dass man die Wirkung der Prozessoren und Periperhierbausteine nachbildet. Anders als ein Emulator wird die Hardware aber durch andere Hardware nachgebildet und nicht durch Software. So ist schon ein FPGA mit 25000 Zellen in der Lage einen MC 68000 mit 200 MHz zu emulieren - also weitaus schneller als der originale Chip. Das ist ein anspruchsvolles Beispiel, doch natürlich kann man ein FPGA auch so programmieren dass es einfachere Aufgaben wie Meßwerterfassung und Verarbeitung durchführt.
Die Mutter aller Platinen oder Leiterplatten ist das Motherboard. Auf dem Motherboard befindet sicher der Prozessor, der Speicher und die gesamte Elektronik um andere Steckplätze aber auch Massenspeicher und Periphiergeräte anzusprechen. Es ist die Platine die in ihrem PC auf dem Boden montiert ist. Früher enthielt das Motherboard etliche Chips, bis über Hundert, heute meist nur noch zwei, die man Southbridge und Northbridge getauft hat. Das ermöglichte die Erfindung des Chipsatzes in den späten achtziger Jahre. Man hat die Funktionen zahlreicher kleiner Bausteine die Signalleitungen aufspalteten, Signale verstärkten oder Stecker anbanden, in einen hochintegrierten Baustein integriert.
Das Motherboard wird maschinell bestückt, das bedeuten Roboter drücken die Chips in ihre Sockel, bzw. nicht nur Chips, sondern auch Transistoren, Widerstände und Kondensatoren. Diese Technik machte anfangs Probleme, so war der Apple III berüchtigt, weil durch eine enge Bestückung die Roboter die Chips nicht genügend stark in die Fassungen drückten und diese sich lösen konnten. Heute gibt es diese Probleme nicht mehr obwohl die Anforderungen viel größer geworden sind: Prozessoren haben über 1000 Pins auf wenigen Quadratzentimetern Fläche, Smartphones und andere Mobilgeräte haben eine extrem hohe Packungsdichte.
Früher konnten die Motherboards trotz ihrer vielen Bausteine dagegen viel weniger. Funktionen die man heute integriert vorfindet, waren damals auf eigenen Steckkarten untergebracht. Als der IBM PC erschien brauchte ein funktionsfähiges System einige Steckkarten:
Damit waren vier der fünf Slots belegt. USB Stecker hatte der Rechner genauso wenig wie eine Ethernet-Schnittstelle oder Buchsen für Lautsprecher, dafür einen integrierten Lautsprecher der zu mehr als der Erzeugung reiner Sinustöne nicht fähig war. (der ist immer noch vorhanden und piepst bei entsprechender Einstellung beim Start des Rechners). Die einzigen Anschlüsse waren die für die Tastatur und einen Kasetttenrekorder. (Bild oben)
Im Laufe der Zeit wurden dann Schnittstellen zusammengefasst. So gab es in den achtziger Jahren schon Kombikarten mit Grafikkarte, Textdarstellung, Drucker und seriellen Schnittstellen, es folgten Controller die Festplatten und Diskettenlaufwerke ansprechen konnten. Danach wurden die Funktionen nach und nach auf dem Motherboard integriert. Zuerst die Schnittstellen wie für Drucker und Modem, dann in den frühen Neunzigern der Disketten und Festplattenkontroller, es folgte die Soundkarte und zuletzt die Grafik. Heute hat ein neu gekaufter Rechner für den Büroeinsatz überhaupt keinen Slot mehr belegt. Wer mit ihm spielen will, braucht aber in der Regel dann doch eine Karte - die eingebaute (Onboard) Grafik ist zu langsam. Mit dem Einzug von APU (Accelerated Processing Unit), beschleunigten Grafikeinheiten in den Chipsatz könnte sich das langfristig auch ändern, derzeit ist aber diese beschleunigte Chipsatzgrafik noch nicht für die neuesten (und grafisch anspruchsvollsten) Spiele geeignet.
Lösungen auf das Motherboard zu verzichten, und sie wie jede andere Karte, auf eine Platine auszulagern (mit dem Vorteil, dass man sie gegen eine leistungsfähigere austauschen kann) haben sich nicht durchgesetzt. Dabei arbeitete der aller erste PC, der Altair 8800, nach genau diesem Schema.
Die Ausfallwahrscheinlichkeit hat dagegen weniger mit der Integrationsdichte zu tun. Der Autor hat 30 Jahre alte Computer die trotz ihrer vielen Bausteine noch funktionieren. Seit Anfang des neuen Jahrtausends hatten Motherboards trotz nur weniger Chips einen schlechten Ruf, sie fielen meist als erste Komponenten des PC aus. Schuld daran sind Elektrolytkondensatoren. Sie altern, vor allem aber können die in der Nähe des Prozessors, die dann auch der Hitze ausgesetzt sind, platzen und bei Elektrolytverlust arbeitet dann das Board nicht mehr. Vieles spricht dafür dass die Hersteller dies wussten und als geplante Obsoleszenz nutzten. Es störte auch die wenigsten PC Benutzer zu einer Zeit als die Rechenleistung sich alle 3 Jahre vervierfachte und die meisten PC nach drei Jahren ausgemustert wurden, das die Boards nach 4-5 Jahren ausfielen. Seit die Betriebsdauer eines PC durch weniger Fortschritte anstieg stellten die Hersteller um und heute hat jeder Boardhersteller Motherbaords mit "All sold Caps" im Angebot, also mit den teureren Festkörperkondensatoren.
Die grundlegende Informationseinheit bei Computern ist ein Bit. Computer waren ja zuerst nur zum Rechnen da, und anfangs waren die Möglichkeiten beschränkt. Da traf es sich gut, das man auch in einem System rechnen konnte das nicht auf der Basis 10 sondern auf der Basis 2 Basiert. Und so wurde das Bit als Grundeinheit definiert. Ein Bit kann genau zwei Zustände speichern und entspricht in heutigen Rechnern einer Ladung oder keiner Ladung. Natürlich braucht man für einigermaßen große Zahlen schon mehr Bits und so gab es im Laufe der Geschichte Gruppen von Bits als eigene Zahlensysteme. Als man noch 6 Bits für ein Byte nahm unterteilte man diese in 2 mal 3 Bit (Oktalsystem). Man findet dieses noch in uralten Programmiersprachen wie C. Später als das Byte 8 Bits umfasste setzte man es aus 2 Nibbles mit je 4 Bit zusammen und drückte diese im Hexadezimalsystem (Es umfasst die Zahlen 0 bis 9 und die Buchstaben A bis F für die Werte von 10..15).
Die meisten Programmiersprachen kennen keinen Datentyp "Bit" auch wenn es einen Datentyp für Wahr/falsch gibt (der genau zwei Werte hat - wahr oder falsch). Er wird aber mindestens in einem Byte gespeichert. Auch viele Mikroprozessoren haben keine Befehle um einzelne Bits zu manipulieren, wenn dann macht man das mit Masken (wenn man den Inhalt eines Bytes mit der Maske 11101111 ver-UND-et, so kann man das fünfte Bit von rechts auf 0 setzen). Lediglich bei Speicherbausteinen gibt eine bitorientierte Organisation. Zur besseren Performance dominieren aber auch da Typen die jeweils 4, 8 oder 16 Bits auf einmal speichern oder lesen.
Leiterplatten, auch als Platinen bezeichnet, sind ein zentrales Element in jedem Computer. Sie dienen als Träger für elektronische Bauteile wie Prozessoren, Arbeitsspeicher, Chips und Anschlüsse. Ihre Hauptaufgabe ist es, diese Komponenten miteinander zu verbinden und den Datenfluss zwischen ihnen zu ermöglichen.
Sie bestehen aus einem elektrisch nicht leitenden Material als Träger wie Kunststoff. Auf der Platine sind Leitungsbahnen aus Kupfer aufgebracht, die wie ein Netzwerk die Signale von einem Bauteil zum anderen transportieren. Leiterplatten findet man an verschiedenen Stellen im Computer: Die Hauptplatine, das sogenannte Motherboard, beherbergt den Prozessor und die Hauptspeicherbausteine. Daneben gibt es auch kleinere Platinen, etwa auf Grafikkarten oder Netzwerkkarten, die spezialisierte Aufgaben übernehmen. Leiterplatten sind somit das Rückgrat eines jeden Computersystems, da sie alle wesentlichen Bauteile miteinander verknüpfen und die elektronische Kommunikation zwischen ihnen sicherstellen. Leiterplatten sind heutzutage in nahezu allen – auch sehr kleinen – technischen Geräten zu finden. Bei der Fertigung von Leiterplatten sind SMD-Schablonen (Surface Mount Device-Schablonen) heutzutage ein unverzichtbares Hilfsmittel. Leiterplatten werden immer winziger und können dadurch bei der Bestückung nicht mehr manuell gelötet werden. Daher werden SMD-Schablonen verwendet, um Lötpaste präzise auf die Kontaktstellen der Leiterplatte aufzutragen, bevor die winzigen SMD-Bauteile darauf montiert werden. Die Schablone sorgt dafür, dass genau die richtige Menge Lötpaste aufgetragen wird und auch nur an den Stellen, wo später die Bauteile verlötet werden sollen. Ohne diese Schablonen wäre eine gleichmäßige und fehlerfreie Platzierung der Lötpaste schwierig, was zu Verbindungsfehlern und einer unzuverlässigen Funktion der Leiterplatte führen könnte.
In der Serienfertigung werden SMD-Bausteine heute nicht mehr Gelötet, sondern direkt in die Platine gesteckt, was aber sehr genau arbeitende Bestückungsautomaten und speziell dafür vorbereitete Platinen erfordert. Bei Kleinserien ist das Einlöten immer noch gebräuchlich.
Privatpersonen können heute Platinen selbst layouten, dafür gibt es auch ostenlose Programme und dann von einem Auftragsfertiger herstellen lassen. Das Auftragen der Leiterbahnen kann nicht selbst erfolgen, aber das Verlöten, sofern die Bausteine nicht zu kleine Pin-Abstände haben wie Bausteine der 8 oder 16 Bit Ära mit typisch 1/10 Zoll (2,5 mm) Abstand zwischen Pin und Pin und typisch 12 bis 64 Pins. Bei bis zu über 2000 Pins eines Prozessors der im Jahre 2024 aktuell ist ist dies nicht mehr möglich.
Durch diei Integration vieler Funktionen auf einem Chip benötigen Platinen immer weniger Chips, ein Mainboard hat heute (2024) weniger als ein Dutzend Chips, vor 40 Jahren waren es noch über 100. Dabei stecken die meisten Funktionen - auch die für die früher eigenen Karten nötig waren wie Grafik oder Schnittstellen in drei bis vier Bausteinen.
Als Computer dann zum Verarbeiten und Speichern von Texten eingesetzt wurden, war es nötig eine größere Speichereinheit einzuführen. Zuerst um Platz zu sparen verwendete man 6 Bit für ein Byte. Damit konnte man 64 verschiedene Zeichen kodieren, das reichte für die Zahlen, Großbuchstaben und Satzzeichen, jedoch nicht für Kleinbuchstaben, Umlaute und Steuerzeichen wie man sie für den Ausdruck brauchte. Trotzdem war in den sechziger Jahren aus Speicherplatzgründen ein Byte 6 Bits lang und es gab so Rechner auf dieser Basis wie die PDP-8 (12 Bit = 2 Byte) und CDC 6600 (18 Bit = 3 Bytes) Adressbreite. (Alte Computersprachen wie FORTRAN oder COBOL ließen aus demselben Grunde in ihren Programmen nur Großbuchstaben zu).
Später hat man ein Byte aus 8 Bits gebildet, das reicht für den gesamten Zeichensatz englischsprachiger Länder, der in den ersten 7 Bit untergebracht ist und als ASCII Code genormt ist. Leider gibt es noch Länder mit Umlauten wie Frankreich, Deutschland und Skandinavische Länder. Diese sind in den oberen Bit kodiert und nicht standardisierst. So war lange Zeit der 7 Bit Zeichensatz der gemeinsame Nenner und man musste zwischen den Zeichensätzen konvertieren. Erst in den neunziger Jahren hat man den 16 Bit Unicode Zeichensatz eingeführt. Dieser erlaubt mit 65536 Zeichen nun auch die Kodierung der zahlreichen arabischen und chinesischen Zeichen.
In der Netzwerktechnik, wo es schon frühzeitig um das Setzen von Standards für den Datenaustausch geht, hat man daher in den entsprechenden "Normen" den Begriff Byte nicht verwendet, sondern redet von Oktetts, also Gruppen von 8 Bit. Auch in Frankreich wurde dieser Begriff übernommen, als man in den achtziger Jahren begann englische Computerbegriffe durch "französische" zu ersetzen.
Alles bei Computern basiert auf einem Zahlensystem mit der Basis 2. So war es auch nur natürlich, das man für die Speichergröße nicht 1000 also Kilo sondern 210 = 1024 nimmt. Als nächste Größe findet man das Megabyte (220 = 1024 × 1204 = 1048576), das Gigabyte (230 = 1024 × 1024 × 1024 = 1.073.741.824) und das Terabyte (240 = 1024 × 1024 × 1024 × 1024 = 1.099511628 × 1012 Bytes). Das gilt auch so bei RAM Speicher, nicht jedoch bei Datenübertragungsraten (hier ist Kilo = 1000) und leider auch nicht bei Festplattengrößen und der Größe von CCD Chips. Hier haben die Hersteller das Klassische "Giga" mit 1 Mrd. verwendet. Warum? Nun damit ist die Festplatte nominell größer. Eine 20 Gigabyte Platte (Gigabyte = 1.073.741.824) lässt sich als 21.4 Gigabyte Platte mit Giga = 1000.000.000 verkaufen.
Auch bei CCD Chips wie man sie in Digitalkameras findet, gibt es diesen Trick. In der "3 Megapixel Klasse" ist z.B. die übliche Auflösung 2048 x 1536 Pixel also 3 Megapixel. Verkauft wird diese Auflösung aber als 3.2 Megapixel. Genau sind es 3.145.728 Pixel also nicht einmal 3.2 Millionen geschweige 3.2 Megapixel (dies wären 3.355.443 Pixel). Mehr noch: Auf dem Chip liegt eine sogeannte Bayes Maske, das ist eine Maske die einen Farbfilter über jedem Pixel hat. Sie besteht aus vielfachen eines Basiselementes das üblicherweise so aussieht:
grün | rot |
blau | grün |
Die Helligkeitsinformationen, wesentlich für den Kontrast, stammt von jedem einzelnen Pixel. Die Farbinformation dagegen aus einem solchen 2x2 Element wobei die Software die Randelemente berücksichtigt, damit nicht vier Pixel dieselbe Farbe haben. Trotzdem ist dies ein Informationsverlust und die Angabe 3 Megapixel ist dadurch eigentlich irreführend. Früher gab es Camcorder mit drei Chips, einen pro Grundfarbe, man benötigte also dreimal so viele Pixel für die Farbe als wie für die Helligkeitsinformationen. Bei Spiegelreflexkameras, die auch die Möglichkeit haben das Rohbild (WAR-Format) aufzuzeichnen sieht man dies auch. Meine Canon EOS300D hat offiziell 6,3 MPixel, real sind die 3072 x 2048 Pixel natürlich nur 6 MPixel. Im Raw Format schrumpft die Pixelzahl dann aber auf 2048 x 1360, das sind 2,7 MPixel oder 125% weniger Elemente. dafür wurde die Farbinformation nicht aus den umgebenden Pixeln errechnet.
Vielleicht sollte man diesen Trick mal dem Finanzminister mitteilen, dann wären die Schulden gleich um 7.3 % kleiner....
Früher, in der Computersteinzeit (d.h. bis Anfang der achtziger Jahre) waren an einen leistungsfähigen Großrechner viele Terminals angeschlossen. ein Terminal ist ein sehr einfacher Computer. Es kann nicht rechnen sondern nur Daten von einer Tastatur entgegennehmen und besitzt einen kleinen Speicher um den Bildschirminhalt eines Textmonitors wiederzugeben. Es hat keinen Massenspeicher und keine Anschlüsse bis auf eine Leitung zum Großrechner. Dieser führte alle Befehle auf und schickte nur die Ergebnisse zum Terminal.
Das war eine Client-Server Architektur. Der Client ist in diesem Fall das Terminal. Es fordert vom Server (dem Großrechner) einen Dienst an. In diesem Fall Abarbeitung des Programms. Als die PCs aufkamen machte man mehr auf ihnen und der Großrechner wurde unwichtiger. Als dann allerdings Netzwerke einzogen und man zusammen an einem Projekt arbeiten wollte stellte man fest, dass PCs dazu nicht gut geeignet sind. Heute gibt es wieder Großrechner als Server, aber auch etwas bessere PCs als Server. Der Übergang ist fließend und hängt primär von den Anforderungen ab: ein Server kann nur die Aufgabe haben Druckjobs mehrerer Rechner auf einen Drucker zu bündeln (Druckserver) oder aber die gesamte Bestellung von Amazon abwickeln und gleichzeitig mehrere Tausend User betreuen.
Die Dienste, also die Leistung, die ein Server erbringt sind ebenso vielfältig. Ein Webserver bietet statische oder dynamische Webseiten an. Ein Fileserver gestattet den Zugriff auf verschiedene Dateien von verschiedenen Usern. Ein Application Server verteilt eine Anwendung an viele Klienten, so dass man bei einem Update nicht mit der CD von Rechner zu Rechner laufen muss. Datenbankserver erlauben den Zugriff auf eine Datenbank. Die Anforderungen sind durchaus unterschiedlich. Ein Fileserver braucht z.B. nicht so viel Rechenleistung, aber schnelle Festplatten. Bei Webservern erzeugen statische Webseiten kaum Rechenlast (das sind einfache HTML-Seiten) dagegen dynamische Seiten die Skripte enthalten die auf dem Server ausgeführt werden (PHP oder Java) eine sehr hohe Rechenlast.
Heute kann man Server modular aufbauen, d.h. in einem Rack können je nach Bedarf unterschiedlich viele Einschübe untergebracht werden, die auch noch mit unterschiedlich vielen CPU-Modulen ausgestattet werden Das gleiche gilt auch für Festplatten.
Die Architektur von Client und Server findet man auch im kleinen. So kann z.B. der Internet Explorer als Client ein ActiveX als Server nutzen. Das ActixeX stellt eine Dienstleistung zur Verfügung wie z.B. ein dynamisches Börsenchart.
Zugegeben, diese Begriffe tauchen heute seltener aus, meistens nur ihre Werte wie "64 Bit" oder "32 Bit". Das einfachere von beiden ist der Adressbus. Jeder Computer hat einen bestimmten Bereich, den er adressieren kann, d.h. jede Speicherzelle hat eine Adresse und der Prozessor kann über die Adresse Daten einer bestimmten Speicherzelle abrufen. Wie groß dieser Bereich ist das hängt von der Breite des Adressbus ab. Bei den 8 Bittern war er 16 Bit breit, man konnte also maximal 64 Kilobyte adressieren (216 Adressen, also von 0 bis 65.535). Es gab zwar Tricks dies zu umgehen, aber der Bereich der auf einmal ansprechbar war betrug immer 64 Kilobyte. Bei den 16 Bit Prozessoren stieg bei den meisten der Adressbereich auf 24 Bit = 16 Megabyte an. Eine Ausnahme war der Intel 8086. Er konnte nur 1 MB ansprechen (20 Bit) und nur in 64 Kilobyte Stücken (16 Bit). Bei 32 Bit Prozessoren stieg der Adressbus auf 32 Bit = 4 Gigabyte. 64 Bit Prozessoren nutzen meist nicht mal ihren ganzen Adressbereich sondern nur 40 - 48 Bit, das sind trotzdem 1-256 TByte. Je größer der Adressbus ist, desto mehr RAM kann also der Prozessor nutzen. (Hinweis: Oftmals reserviert das Betriebssystem sich Speicherbereiche. So kann man unter Windows z.B. max. 2 der 4 GB für Anwendungen nutzen).
Der Datenbus gibt dagegen an wie viele Bits auf einmal der Prozessor verarbeitet. Danach wird der Prozessor in Klassen eingeordnet. Heute gibt es auf dem Markt 8, 16, 32 und 64 Bit Prozessoren. Im Prinzip gilt: Je mehr desto besser, allerdings nützen mehr Bits nur wenn auch die Daten Stimmen. Ein 32 Bit Prozessor der Zeichenketten bearbeitet - ein Zeichen nimmt je 8 Bits ein, kann die 32 Bit seiner Register nicht voll nutzen.
Das ist eine Diskussion die es nur unter Windows gibt. Seit dem Erscheinen des 80386 Prozessors 1986 ist die Intel x86 Serie auf 32 Bit Datenbusbreite angewachsen. Natürlich verarbeiten alle Prozessoren auch die alten 16 Bit Befehle. Mit Windows 95 kündigte Microsoft an, das nun ein neues Betriebssystem erscheinen werde, ein "32 Bit Betriebssystem", schneller, besserer, absturzsicherer.
Das ganze hat nun aber nichts mit der Verarbeitung von 32 Bit Länge zu tun. Entsprechende Befehle konnte man schon unter DOS nutzen. Das ganze hat vielmehr mit zwei Betriebsmodi der x86 Prozessoren zu tun die im Laufe der Geschichte entstanden. Der 8086 beherrsche nur das Adressieren von 64 Kilobyte in 3 Bereichen die man im gesamten Adressbereich von 1 MB verschieben konnte. Da 64 K 16 Bit entsprechend ist dies der 16 Bit oder Real Modus. Er limitierte auch für einzelne Datenobjekte die Größe auf 64 Kilobyte. (Derartige Einschränkungen finden sich auch heute noch in Windows, so kann der Editor Notepad max. 64 K Bearbeiten.). Der 80286 Prozessor führte dann einen neuen Modus ein, den Protected Modus, bei dem man 16 Megabyte adressieren konnte. Leider konnte man von diesem Modus nicht mehr in den Real Modus zurückwechseln. So benutzt DOS bis heute einen Trick um den Speicher mehr als 1 MB anzusprechen, es verschiebt eines der Fenster an die oberste Grenze des Speichers und kann dort schon über 1 MB einen Treiber (Himem.sys) ablegen, der dann zum Ansprechen des Speichers über 1 MB dient. Der DOS Speicher bleibt durch feste Adressen für BIOS und VGA Karte immer auf 640 K beschränkt. Beim 386 wurde der Protected Mode erweitert. Er bietet nun für einzelne Programme Schutz vor anderen und den virtuellen Real Modus, bei dem mehrere Programme jeweils maximal 1 MB Speicher haben können. In diesem Modus läuft z.B. die DOS Box. Leider aber auch viele alte Treiber, die eben nicht von den Schutzmechanismen in Protected Mode profitieren. Dadurch ist Windows fehleranfällig gegen schlecht programmierte Software. Der Schutz einzelner Anwendungen voneinander geht nur wenn diese den erweiterten 32 Bit Modus nutzen.
Seit Ende 2003 gibt es von AMD auch einen 64 Bit Prozessor der kompatibel zum 32 Bit Athlon ist. Für ihn wird es bis Mitte 2005 nur Linux als Betriebssystem geben, das seine 64 Bit Fähigkeiten unterstützt. Dann soll es eine 64 Bit Windows Version und auch entsprechende Chips von Intel geben, die ebenfalls 64-Bittig sind. Der Vorteil der 64 Bitter ist nicht dass man nun mehr Daten verarbeiten kann, denn für bestimmte Operationen können schon Pentium 4 Prozessoren mit 128 Bit Daten durchführen, sondern, dass er mehr als 4 Gigabyte Hauptspeicher unterstützt. Das ist die Grenze der 32 Bit Adressierung. In Zeiten wo ein PC auch Video in Echtzeit bearbeiten soll kann es da schon klemmen.
Zu der Einstufung und was dies in der Praxis heißt gibt es auch von mir einen eigenen Artikel.
Ein Interrupt tut genau das was sein Name sagt: Er unterbricht den Prozessor. Wozu nun das? Nun es gibt viele Prozesse im PC die nur langsam Daten liefern. Bestes Beispiel sind serielle und parallele Schnittstelle. Ein Modem liefert ca. 7000 Bytes pro Sekunde, die schnellsten Druckerschnittstellen 1 Megabyte pro Sekunde. Das ist gegenüber den Speicherchips mit >200 Megabytes sehr wenig, und selbst die sind für den Prozessor zu langsam, sonst hätte er keine Caches. Um nun diese langsamen Daten zu verarbeiten gibt es 3 Systeme:
So verfügte schon der erste PC über 7 Interrupts. Die erwiesen sich bald als zu wenig, spätestens als man Festplatte integrierte. Beim 286 wurden vor 18 Jahren dann die Zahl auf 15 erhöht und leider ist es seitdem dabei geblieben. Nun klingen 15 nach viel. Aber bei einem PC mit Drucker- und Serieller Schnittstelle sind schon folgende belegt:
0-4-6,8-9,13-15. Frei sind nur noch 7 (zweiter Druckeranschluss), 10-12. Die VGA Karte, PS/2 und USB Schnittstellen belegen in der Regel ebenfalls einen Interrupt. So das im Normalfall sich in einem PC mehrere Geräte einen Interrupt teilen müssen - die Probleme sind so vorprogrammiert.
Deswegen propagiert man seit einigen Jahren die Abkehr von so genannten "Legalicies Geräten" - PC Altlasten. USB z.B. erlaubt den Anschluss von mehreren Druckern, Modems und Mäusen und belegt dabei nur einen Interrupt. Damit sollen die Probleme die z.B. auftreten wenn man einen Flachbettscanner und einen Drucker an einem Interrupt betreibt beseitigt werden. Eine bessere Lösung wäre es sicher gewesen mehr Interrupts zur Verfügung zu stellen. So verfügte der IBM PC ursprünglich nur über einen Interruptcontroller (der Chip an dem man die Hardware anschließt). Beim IBM AT erweiterte man dies auf zwei und damit von 8 auf 15 Interrupts. Jeder Interruptcontroller belegt einen Interrupt des ersten Controllers und bringt 8 neue hinzu, so das man mit diesem System max. 9 Controller anschließen kann die dann 64 Interrupts zur Verfügung stellen. Doch diese Erweiterung unterblieb.
Als die ersten Mikroprozessoren erfunden wurden waren RAMs schneller als diese. Das galt auch noch als man von den schnellen, aber teuren statischen RAMs Mitte der siebziger Jahre auf die preiswerteren langsamen DRAMs überging. Doch schon in den achtziger Jahren änderte sich dies. Die Taktfrequenzen der Mikroprozessoren stiegen schneller als die Zugriffszeit der RAM Bausteine. Bei dem IBM AT konnte man dies noch so kompensieren indem man den Zugriff auf verschiedene RAMs verteilte, man die RAMs in einzelne Bänke unterteilte. Bei dem 386 der zuerst mit 16 MHz erschien reicht das nicht aus. Die schnellsten RAMs hatten 100 ns Zugriffszeit, ausreichend für 10 MHz, das billigere Groß sogar noch 150 ns, ausreichend für 7 MHz Takt.
Man schob zwischen den eigentlichen Speicher und dem Prozessor daher einen Zwischenspeicher den Cache. Er hat folgende Aufgabe: Wenn der Prozessor Daten benötigt holt er diese - und gleich die nachfolgenden - in den Cache und übergibt sie dem Prozessor. Wenn der Prozessor nun die nächsten Bytes benötigt oder innerhalb einer Schleife dasselbe Codestück immer wieder durchläuft kommen die Daten aus dem Cache und nicht aus dem langsamen Hauptspeicher. Im Laufe der Zeit wurden Caches immer wichtiger, denn die Zugriffszeit von RAMs stieg weiterhin gegenüber den Taktfrequenzen langsam an. Bei PC 100 Speichern liegt sie bei 7 ns, allerdings nur für aufeinander folgende Daten, das erste benötigt 3-4 mal so lange also 20-28 ns. Ein 2000 MHz Prozessor benötigt die Daten aber im 0.5 ns Abstand!
Heute haben daher Prozessor einen Cache schon im Prozessor integriert, und einen zweiten nahe des Prozessors auf der Platine der mit einer Drittel oder der Hälfte der Taktfrequenz des Prozessors betrieben wird. Manchmal gibt es noch einen dritten auf dem Motherboard. Diese werden sukzessive größer. Der Sinn: findet der Prozessor im kleinen (32 Kilobyte) L1 Cache die Daten nicht, so sucht er im 3 mal langsameren L2 Cache mit 256 Kilobyte danach, erst danach wird der 10-20 mal langsamere Hauptspeicher bemüht. Was solche Caches für die Geschwindigkeit bedeuten können Sie selbst ausprobieren. In jedem BIOS gibt es eine Möglichkeit die Caches abzuschalten - der Rechner wird dadurch rapide langsamer.
Zum Thema Caches gibt es auch von mir einen eigenen Artikel.
Nein, die Erdölindustrie hat noch nicht Mikroprozessoren erfunden. Es handelt sich hier um eine weitere Möglichkeit die Geschwindigkeit zu steigern. Bei jedem Befehl den ein Prozessor ausführt muss er folgende Dinge tun:
Für jeden Befehl wären also mindestens 4 Takte nötig, bei komplexeren Befehlen können es noch mehr Takte sein. Beim der Pipeline geschieht nun folgendes: Der Befehl kommt zuerst in eine Warteschlange die bei jedem Takt einen weiteren Befehl holt, den zweiten decodiert, den dritten ausführt und beim vierten die Daten zurück schreibt. Bei diesem Beispiel einer vierstufigen Pipeline wird also in jedem Takt ein Befehl ausgeführt und es befinden sich gleichzeitig 4 in Bearbeitung.
Bei Pipelines gilt nun aber nun nicht wie sonst bei den Computern "Mehr ist besser", jede Pipelinestufe erhöht den Verwaltungsaufwand, der auch Zeit kostet. Weiterhin gibt es Sprünge im Programm. Dabei ist der ganze bisherige Inhalt der Pipeline nutzlos. Sie muss praktisch neu angeworfen werden und das dauert um so länger je größer sie ist. Meist wird der Wert 6 als Optimum für die Anzahl der Pipelinestufen genannt. Prozessoren wie der Pentium 4 mit 20 Pipelinestufen haben daher viel Logik auf dem Chip, um Sprünge spekulativ vorherzusagen.
Mit allen bisher vorgestellten Konzepten kommt man aber nicht über 1 Befehl/Takt heraus. Will man mehr so muss man praktisch mehrere Befehle gleichzeitig bearbeiten. Das Konzept ist wie das der Pipelines und Caches schon in den sechziger Jahren bei dem Bau der ersten Supercomputern von Seymour Cray in den sechziger und siebziger Jahren erarbeitet. Der grundsätzliche Gedanke ist einfach mehrere Rechenwerke gleichzeitig zu nehmen. Heute haben Prozessoren wie Athlon und Pentium III schon mehrere Integer und Fließkommarechenwerke. Das einzige Problem ist dabei das der Code mitspielen muss, d.h. die Befehle müssen unabhängig voneinander sein folgendes Beispiel zeigt wie dies geht:
a:=b+c;
d:=e+f;
hier werden zwei Rechenoperationen hintereinander gemacht die eigentlich nichts miteinander zu tun haben, also auch parallel abgearbeitet werden können. Dann steigt die Rechengeschwindigkeit auf das doppelte. Bei dem folgenden Beispiel geht das nicht :
a:=b+c;
e:=a+d;
Hier benötigt man für die zweite Rechnung das Ergebnis von a, welches aber in der ersten Rechnung erst ermittelt wird. Die beiden Rechnungen können nur nacheinander ausgeführt werden. Man hat es hier also mehr mit einem Softwareproblem zu tun. Trotzdem versuchen die Prozessorhersteller mit trickreichen Mechanismen den Code vor der Ausführung um zu sortieren und zu ermitteln, was wovon abhängt.
Gordon Moore, einer der Mitbegründer von Intel stellte 1969 folgende Regel auf "Die Transistormenge auf einem Chip verdoppelt sich alle 18 Monate". Im, gleichen Maße sollte auch die Leistung steigen. Diese Regel nennt man seit damals "Moorsches Gesetz". Allerdings ist er etwas optimistisch gewesen. Vergleicht man die Entwicklung der Intel Prozessoren über die letzten 28 Jahre so verdoppelte sich die Transistormenge bis zum Pentium Pro alle 26-27 Monate. Seitdem ist es etwas schwierig geworden, weil der Cache nun extern ist und man ihn nun dazurechnen kann oder nicht. Der Geschwindigkeitsgewinn geht übrigens vor allem auf immer höhere Taktfrequenzen zurück. Diese liegen heute 4000 mal höher als beim ersten Chip von Intel dem 4004, der mit 0.74 MHz getaktet war.
Sicher, jeder weiß heute was der Y2K für Auswirkungen hat, aber was genau ist der Y2K Bug? Nun, wie Sie sicher noch in Erinnerung haben, hat der Y2K Bug damit zu tun, das ein neues Jahrtausend anfing und damit Programme auf die Schnauze fallen die einfach das Jahr nach der Regel "19"+Jahr bilden. Damit sollte das ganze eigentlich erklärt sein oder?
Nein natürlich nicht. Wenn man die interne Speicherung von Zahlen betrachtet, so gibt es heute folgende Möglichkeiten:
Damit gäbe es eigentlich kein Problem bei den Jahreszahlen. Denn wenn man vom Jahr 1900 ausgeht, müsste man so bei einem Byte erst beim Jahr 2155 Probleme haben. Doch man hat die Zahlen anders gespeichert. Betroffen sind fast nur Programme die in einer Programmiersprache geschrieben sind: COBOL. Diese Sprache dient dem Erstellen von Kaufmännischen Anwendungen. Als man COBOL konzipierte stand im Vordergrund, das sie normiert sein sollte und auf jedem Rechner laufen sollte, wichtig war für Anwender auch, das Dateien nach einem Systemwechsel lesbar sein mussten. Da gibt es nun Probleme, denn intern speichern verschiedene Rechner Zahlen unterschiedlich ab. So legen heute noch Intel Prozessoren die Bits von Zahlen anders an als Prozessoren von Motorola, Sun oder HP. Bis Anfang der achtziger Jahre gab es auf jedem Rechner eine andere Art Fliesskommazahlen darzustellen. COBOL verwendete in den fünfziger Jahren daher BCD als Methode Zahlen zu speichern.
BCD steht für Binary Coded Decimals. Was man machte ist folgendes. Anstatt den Wert eines Bytes als Zahl zu nehmen speicherte man in ihm eine Ziffer also 0 bis 9. Das heißt von den 256 Werten möglichen, nutzt man nur 10. Später gab es noch gepackte Bads, die in jeweils 4 Bit eine Ziffer speicherten und damit in einem Byte zwei Ziffern also Zahlen von 0 bis 99 speichern konnten.
Der Vorteil dieses Verfahrens ist, das es absolut unabhängig vom Computer ist. Für die kaufmännischen Anwendungen war auch wichtig, das es so keine Rundungsfehler gab. Das Verfahren eine 20 Stellen lange BCD Ziffer zu addieren ist genau das gleiche wie einer 2 Stellen lange. Dagegen ist man bei dem nativen Format eines Computers ohne Spezialroutinen auf seine Wortbreite festgelegt. Bei 32 Bit und Pfennigen als Einheit z.B. kann man max. 42 Millionen als Betrag nehmen, bei Fliesskommazahlen ist man freier, da Fliesskommazahlen jedoch nur eine endliche Ungenauigkeit haben, addieren sich Fehler die dadurch entstehen, dass man eine Zahl als Fliesskommazahl nicht genau abbilden kann.
Der Nachteil von Bads ist das die Rechnerei mit ihnen langsam ist und sie wesentlich mehr Speicherplatz als die binäre Darstellung brauchen. Gerade letzteres war natürlich früher knapp, auch auf dem Massenspeicher. Die Programmierer "tricksten" daher nicht, sondern machten notwendige Optimierungen. Schließlich entwickelte sich schon damals die Computer rasant weiter. Sie ließen das Jahrhundert unter den Tisch fallen und ergänzten es mit "19". Dadurch sparten sie 2 Bytes pro Datum das gespeichert werden musste.
Es ist heute leicht dies als leichtsinnig zu bezeichnen. Doch wer selbst programmiert sollte sich mal selbst an die Nase greifen. Wir reden hier von Programmen die in den sechziger und siebziger Jahren entstanden. Also 20-30 Jahre vor dem Beginn des Jahrtausends. In 20 Jahren hat sich der IBM PC von einer 4.77 MHz Maschine mit 64 Kilobyte Speicher und zwei Diskettenlaufwerken à 180 KByte zu einem 2400 MHz Rechner mit 512 MByte RAM und 60 GByte Festplatte entwickelt, denn es für ein Fünftel des Preises zu kaufen gibt. In dieser Zeit entwickelt sich Hardware so rapide weiter, das sicher niemand daran gedacht hat das man ein Programm über 20 Jahre lang nutzen und erweitern würde. Das wäre so, als würde jemand heute erwarten, das er eine Apple II AppleDOS Disk in seinen Mac stecken könnte und dann VisiCalc starten könnte oder jemand einen Pentium 4 PC mit einer MS DOS 1.0 Disk starten könnte.
Im Normalfall sind auf dem PC Anwendungsprogramme kaum betroffen, eine Ausnahme macht das BIOS, das auch die Jahreszahlen als BCDs speicherte. Hier liegt es vor allem an der schnellen Fluktuation von Hard und Software, aber auch daran das man hier schon immer von den MS-DOS Funktionen Datum als Bytes und Words bekam.
Übrigens ist man auch bei binären Darstellungen vor Fehlern gehütet. So ist das UNIX Systemdatum eine 32 Bit Zahl mit Vorzeichen. Das heißt ihr Wert geht von -2.1 Mrd. bis +2.1 Mrd. Das reicht doch dicke oder? Nicht unbedingt. Die Zahl repräsentiert nämlich die Anzahl an Sekunden die seit dem 1.1.1970 vergangen sind. Jeden Tag wird die Zahl also um 86400 größer, jedes Jahr um 31536000. Es ist leicht zu errechnen, das nach 68 Jahren es hier ein Problem geben wird. Das heißt, wenn man bis zum Jahr 2038 nicht überall den Systemcode auf 64 oder mehr Bits umgestellt hat, wird es dann den Y38 Bug geben...
Dieser Ausdruck kommt von der Softwareentwicklung. Wird eine neue Software programmiert oder entwickelt, so kommt irgendwann der Zeitpunkt an dem alle benötigten oder erforderlichen Funktionen implementiert sind. Nun macht man ein "Feature Freeze". Das heißt nun wird nichts neues mehr dazu programmiert sondern die Fehler gesucht und die Software auf umständliche Bedienung etc. abgeklopft. Da Menschen Fehler machen, enthält auch Software Fehler. Diese müssen nun gefunden und beseitigt werden. Die erste Version nach dem Feature Freeze ist eine "Alpha" Version. Die Software ist in diesem Stadium noch voller Fehler, auch sehr kritische können darunter sein, wie Totalabstürze. Eine solche Software bleibt üblicherweise innerhalb des Softwarehauses. Man kann nicht mit ihr arbeiten, dazu ist sie zu instabil und fehlerhaft.
Sind die schlimmsten Fehler behoben, so geht es an das nächste Stadium. Die Beta Version. Nun hakt es zwar an der Software. Doch gravierende Fehler sollten behoben sein. Es ist üblich in der Open Source Gemeinde eine Beta Version zu veröffentlichen und so die Allgemeinheit zu Beta Testern zu machen. Viele potentielle Anwender können die Software begutachten und Fehler finden. Inzwischen macht dies auch Microsoft bei großen Softwarepaketen, so war das Service Pack 2 von Windows XP ein halbes Jahr vor der Veröffentlichung schon in verschiedenen Beta Versionen zu bekommen, die dann immer fehlerfreier und runder wurden.
Beta Versionen kann man eingeschränkt schon zur Arbeit nutzen. Geht es um wirklich wichtige Dinge oder hängt Geld daran, so sollte man sich dies aber zweimal überlegen (z.B. bei dem Betriebssystem oder Datenbankservern). Ziel von Beta Versionen ist es nicht nur die letzten Fehler zu finden, sondern auch eine Rückmeldung über die Software zu bekommen, z.B. ob sie einfach zu bedienen ist oder der Anwender Funktionen vermisst. Wie lange eine Software "Beta" ist, hängt von den Vorlieben der Programmierer ab. Insbesondere Linux Programmierer lassen Software Monate oder jahrelang im Beta Stadium. Das hat nichts mit der Qualität zu tun sondern eher mit dem Wissen der Programmierer, dass es eine fehlerfreie Software nicht geben kann, weil Menschen nun mal Fehler machen und man nicht alle Fälle testen kann.
Der Begriff Beta Tester für Anwender die eine Software testen hat einen schlechten Ruf bekommen, weil viele Firmen überhastet Software auf den Markt geworfen haben um der Konkurrenz zuvor zu kommen. Dann wurden die Fehler nach und nach mit Updates behoben. Normalerweise sind Beta Tester Personen die wissen dass sie eine Beta Version haben und oftmals diese sogar aktiv herunter geladen haben. Endanwender sollten keine Beta Tester sein, erst recht nicht, wenn sie Geld für eine fehlerbehaftete Beta Version bezahlt haben.
Ist eine Software dem Beta Stadium entwachsen, so trennen sich die Wege. Manche Firmen schieben nun eine Gamma Phase nach in der man nochmals alles prüft. Insbesondere die Veränderungen in der Beta Phase ob man dadurch nicht neue Fehler eingearbeitet hat. Andere präsentieren nun die Software als "Release Candidat (RC)". An einem RC wird nun noch etwas poliert. Es können sich Details in der Oberfläche ändern, oder die Dokumentation ist noch nicht ganz aktuell, ansonsten ist es aber die endgültige Version. Andere Firmen schließen nach der Beta Phase die Entwicklung ab. Nun wird die Software zur endgültigen Version die man kaufen kann.
Üblich ist es auch diese Phasen feiner zu unterteilen wie "Alpha 3" oder "Beta Build 1023" bzw. "RC4". Darüber hinaus sollte die Versionsnummer einer Software auch Informationen über die Entwicklung geben. Die Versionsnummer ist eine Nummer in der Form "X.XX". Das erste X vor dem Dezimalpunkt steht für ein "Major Release". Ändert sich diese um 1, so ist dies eine bedeutende Verbesserung der Software. Das "X" hinter dem Dezimalpunkt steht für ein "Minor Release": Das ist eine funktionelle Verbesserung, aber keine grundlegende Änderung. Das letzte X steht für kleinere Verbesserungen oder Anpassungen. Leider ist dieses System durch willkürliche Bezeichnungen "Windows ME, XP" oder Jahreszahlen "Windows 98,2000" abgelöst worden.
Man kann zumindest bei Windows die Versionsnummern aber noch abfragen. Hier ein Überblick über die letzten Versionen:
Die Versionsnummer ihres Windows erfahren Sie wenn sie im Menü "Ausführen" den Befehl "cmd" (Windows NT,2000,XP) oder "command.com" (Windows 1.0-3.11,Windows 95,98,ME) eintippen. In der obersten Zeile finden Sie neben der offiziellen Bezeichnung auch die Versionsnummer. Im Beispiel ist dies z.B. "5.1 Build 2600".
Man sieht sehr deutlich: es gibt Familien die über ein Jahrzehnt bestand haben. So die Familie Windows 4 , die neben einer neuen Shell vom 16 auf das 32 Bit Betriebssystem überleitete. Windows 5 war ein reines 32 Bit Betriebssystem das auch noch 16 Bit Programme ausführen konnte Die Windows 6 Familie war die erste die 64 Bit Programme ausführen konnte, dafür keine 16 Bit Programme (Windows 1-3) mehr. Die Benutzeroberfläche wurde verbessert, es wurde auch versucht das System sicherer zu machen, nachdem Windows bis Windows 2000 nie ein Betriebssystem für mehrere Nutzer war und die meisten Nutzer und viele Programme davon ausgingen alle Rechte zu haben, was natürlich Viren und Trojanern alle Türen öffnete.
In den letzten Jahrzehnten gab es einen Windows-Schweinezyklus: Auf eine Version die sehr gut ist folgte eine die an den Wünschen der Massen vorbeigeht oder nervt. So bei Windows 98 - Windows ME, Windows XP - Windows Vista und Windows 7 und Windows 8. (die jeweils letzte ist die meist auch kommerziell nicht so erfolgreiche Variante).
Zum Thema Computer ist auch von mir ein Buch erschienen. "Computergeschichte(n)" beinhaltet, das was der Titel aussagt: einzelne Episoden aus der Frühzeit des PC. Es sind Episoden aus den Lebensläufen von Ed Roberts, Bill Gates, Steve Jobs, Stephen Wozniak, Gary Kildall, Adam Osborne, Jack Tramiel und Chuck Peddle und wie sie den PC schufen.
Das Buch wird abgerundet durch eine kurze Erklärung der Computertechnik vor dem PC, sowie einer Zusammenfassung was danach geschah, als die Claims abgesteckt waren. Ich habe versucht ein Buch zu schreiben, dass sie dahingehend von anderen Büchern abhebt, dass es nicht nur Geschichte erzählt sondern auch erklärt warum bestimmte Produkte erfolgreich waren, also auf die Technik eingeht.
Die 2014 erschienene zweite Auflage wurde aktualisiert und leicht erweitert. Die umfangreichste Änderung ist ein 60 Seiten starkes Kapitel über Seymour Cray und die von ihm entworfenen Supercomputer. Bedingt durch Preissenkungen bei Neuauflagen ist es mit 19,90 Euro trotz gestiegenem Umfang um 5 Euro billiger als die erste Auflage. Es ist auch als e-Book für 10,99 Euro erschienen.
Mehr über das Buch auf dieser eigenen Seite.
Hier geht's zur Gesamtübersicht meiner Bücher mit direkten Links zum BOD-Buchshop. Die Bücher sind aber auch direkt im Buchhandel bestellbar (da ich über sehr spezielle Themen schreibe, wird man sie wohl kaum in der Auslage finden) und sie sind natürlich in den gängigen Online-Plattformen wie Amazon, Libri, Buecher.de erhältlich.
Sitemap | Kontakt | Impressum / Datenschutz | Neues | Hier werben / advertisment here | Buchshop | Bücher vom Autor |