Rechnerkomponenten nach von Neumann Hardwarestruktur Hauptspeicher Ein- und Ausgabe Steuerwerk Rechenwerk | | Befehlszähler Datenregister Taktgenerator - Befehlsregister Akkumulator Adressregister Zusatzregister | | Befehlsdekoder Addition Mikrobefehlsumsetzer Komplementierung Ablaufsteuerung Rechtsverschiebung Linksverschiebung Logik-Operationen Operationsprinzip nach von Neumann _____________________________________________ Rechenwerk manipuliert Daten | Steuerwerk koordiniert CPU und Bussystem | taktgesteuert binär kodiert feste Datenworte | sequentielle Datenverarbeitung SISD = SINGLE INSTRUCTION SINGLE DATA | Daten und Programme werden als Speicherinhalte über Adressen angesprochen | Programme und Daten befinden sich im Hauptspeicher
CPU Central Prozessing Unit mit Bussystem setzt sich zusammen aus: - ALU Arithmetic Logical Unit = Rechenwerk kann nur Addieren - CU Control Unit = Steuerwerk - Register Kleinspeicher(Daten) mit festen Datenworten - IO Unit Input-Output Unit = Ein- und Ausgabe Einheit - Datenbus = gemeinsame Leitungen für alle Speicherplätze im System, bidirektional (inkl. Hauptspeicher) - Adressbus = jede Adresse selektiert mit einem Adresscoder über eine Auswahlleitung (Selectsignal), unidirektional einen Speicherplatz - Steuerbus = sammelt alle Steuerleitungen - Schreibleitung - Leseleitung - Taktleitung (133MHz) - Interuptleitungen - Holdleitungen variodirektionalDie CPU ist ein Volladdierer ALU = Arithmetical logical unit
_______ ___x___XOR___| |_____ Ergebnis ___y_|_XO|R__| VA | | || | | __| |_____|___ Übertrag_out || | || |_______| | m Übertrag_in_||_|_|| | |c3 i c0 _______||_|_|___| |&| c c1 _______||_|_| | r c2 _______||_|_| |____ o ||=|=====|&|_____|&|_____|OR| c ||=|=====|OR|____|&|_____| | o ||=======|=|_____|&|_____| | d | | |_____Ergebnis e c4,c5,c6========| |__|Schaltbild und Struktur eines Pentium Prozessors Aufbau einer CPU
interner Datenbus __________________________________________________________I/O-Unit | | | | Befehls- x y Daten register=CR | | bus(bi) (Code- |-------- | register) MCR= | ALU | | Micro | EU BIU Adress IC code | bus(uni) Instruction- ROM |-------- | counter | | | | | STATE Steuer | Takt |CU Micro- | bus(vario) | generator____-Zähler---------- | -Decoder code | | | Nanocode Register |__Adress- ________ | decoder AH | AL | Multi- BH | BL | tasking CH | CL | ALU DH | DL | |_____IC Instruction counter
Steuerung prozessinterner Abläufe, d.h. Organisation von Datentransporten innerhalb des Rechenwerks zwischen Registern, ALU und Datenbus sowie die Auslösung und Auswertung von Operationen der ALU wesentliche Bestandteile des Steuerwerks sind der IC (Instructioncounter), der die Adresse des nächsten auszuführenden Befehls bereitstellen kann.
Die ALU kann folgende Operationen ausführen:
Der Registersatz
Die Register dienen der direkten Datenablage, sie stellen Operanden bereit und nehmen Ergebnisse auf Die Anzahl binärer Stellen entspricht der Verabeitungsbreite der ALU und ist ein Maß für den Prozessor.
Das Bussystem
- Adressbus
Die Breite eines Adressbuses gibt die maximale Anzahl an
Speicherplätzen an, die ein Prozessor verwalten kann.
- Datenbus
- Steuerbus
Prefetchbuffer
Branchtracebuffer
Predictionbuffer
Pipelinning Prinzip fetch | decode | execute fetch | decode | execute fetch | decode |execute fetch | decode | execute fetch | decode | execute fetch | decode | execute fetch | decode | Die CPU ist ein Volladdierer _______ x __XOR___| |_____ Ergebnis y __XOR___| VA | ___| |_____ Übertrag | |_______| Übertrag_in____| Wahrheitstabelle: XOR OR AND(&) _y___x_|_E___Ü_ _y_x_|_E_Ü _y_x_|_E_Ü 0 0 | 0 0 0 | 0 0 0 | 0 0 1 | 1 0 1 | 1 0 1 | 0 1 0 | 1 1 0 | 1 1 0 | 0 1 1 | 0 1 1 1 | 1 1 1 | 1 Komplement: Addition dez hex 1 1 0 0 | 12 C - 1 0 1 0 | 10 A ___________________ = Lösung: ___________________ 0 1 0 1 | Komplement des 2. Ausdrucks + 0 0 0 1 | 2er Komplement ___________________ = 0 1 1 0 + 1 1 0 0 | der 1. Ausdruck ___________________ = 0 0 1 0 | Ergebnis, Übertrag 1 wird verworfen ======= Beispiel mit dezimalen Zahlen: 665 - 315 _____ Lösung: ______ 685 | Komplement des 2. Ausdrucks + 665 | 1. Ausdruck _____ = 350 | Ergebnis, der Übertrag wird verworfen XOR hat drei Funktionen: 1. Addieren 2. Schaltbar invertieren 3. VergleichenDie CPU ist ein Volladdierer Arithmetical logical unit
_______ ___x___XOR___| |_____ Ergebnis ___y_|_XO|R__| VA | | || | | __| |_____|___ Übertrag_out || | || |_______| | m Übertrag_in_||_|_|| | |c3 i c0 _______||_|_|___| |&| c c1 _______||_|_| | r c2 _______||_|_| |____ o ||=|=====|&|_____|&|_____|OR| c ||=|=====|OR|____|&|_____| | o ||=======|=|_____|&|_____| | d | | |_____Ergebnis e c4,c5,c6========| |__| Pentium mit MMX-Erweiterung ___________________________ ____________ |Befehlscache| ________ |16 KByte | Return | |____________| Stack | | ________| | Branch | ______________________ Prediction-----> |Befehls-Voreinhaltung | BTB | |Längen-Dekodierung | ______ ________| |Befehls- | Dekodirung | <----> |Mikro| |Adress- | Berechnung| |Code | |______________________| |_____| | | | | 2 dekodierte Befehle <---------------------------------------------------------------> | | | | | | | | _______________ |Integer| Floating Point | MMX | ________________ | | V-Pipe |U-Pipe Addition |U-Pipe |V-Pipe | | Multiplikation |ALU |ALU | ALU |ALU Division |_______________| |Barrel- |Multiplikation | |Shifter ________________| ________________ _______________ |Schiebe-Einheit| Integer Register Floating Point |_______________| (8x32 Bit) Register | MMX-Register | (8x80 Bit) | (8x64 Bit) | ________________ _______________ |_______________| | | | | | | | | | | | | |____|_________________|_____|__________________|________| |____________________________|__________________|________| | | | | ________________ _______________ Datencache | | | 16 KByte |-------------------------------|Bus-Interface | ________________| |_______________| | | | |64 |32 | Daten Adress Steuer bus bus Leitung
Der 8086 Prozessor ist wie bereits erwähnt der Vorgänger heutiger Prozessoren wie der 80486´er (kurz 486´er) Prozessor sowie des Pentium bzw. Pentium II Prozessors. Der 8086´er war der erste Prozessor, der 1 MB Speicher adressieren konnte, was damals noch recht viel war. Prinzipiell gibt es nur wenig Unterschiede zwischen einem 8086 und z.B. einem 80486´er. Der 486´er hat eine höhere Taktfrequenz (z.B 66 MHz statt 8 MHz) und benötigt pro Befehl weniger Takte. Auch verfügt er über grössere Register (32 statt 16 Bit), einen breiteren Daten und Adress-Bus und einen integrierten Coprozessor (zumindest der 486 DX
Intel®, der derzeitige führende Hersteller im Bereich der PC-Prozessoren, brachte 1978 den 16-Bit Mikroprozessor 'Intel 8086' und im darauffolgenden Jahr die Variante 8088 auf den Markt.Die Leistungsfähigkeit dieser Prozessoren lag um das Fünf- bis Zehnfache höher als die der 8-Bit Vorläufer 8080 (1974) und 8085 (1976). Wichtige neue Merkmale waren der größere Adreßraum, der es möglich machte 1 MByte statt nur 64 KByte zu adressieren, als auch die neuen 16-Bit breiten internen Datenwege, die erheblich zur Leistungsteigerung beitrugen. Die Überlegenheit des 8086 gegenüber dem 8088 liegt in dem 16-Bit breiten externen Datenbus. Intel hatte mit dem 8088 ein Bindeglied zwischen den bis dahin üblichen 8-Bit und den kommenden 16-Bit Chips geschaffen. Intern sollte der 8088 Mikroprozessor wie der 8086 Mikroprozessor eine 16-Bit Strukur aufweisen und nach außen möglichst umstandslos mit der 8-Bit Peripherie zusammenpassen. Somit war es dem 8088 nur möglich, mit einem Buszyklus 8-Bit an Arbeitsspeicher oder E/A Geräte zu übertragen, wobei der 8086 16-Bit schaffte. In nahezu jeder anderen Hinsicht sind die beiden Prozessoren jedoch identisch, d.h. Programme, die für ein 8086-gestütztes System geschrieben wurden, sind auch auf einem 8088-System lauffähig und umgekehrt.
Dem Wunsch nach höherer Leistung kam Intel schon im Jahr 1982 mit der Ankündigung drei neuer Mikroprozessoren engegen. Es handelte sich um dem 80186, 80188 und 80286. Der 80186 stellt einer höher integrierte Version des 8086er Prozessors dar und enthält auf dem Prozessorchip einige neue Funktionen, für die zuvor eigene Chips nötig waren. Der 80186 ist jedoch voll kompatibel zum 8086er Prozessor und verfügt über die gleiche Daten- und Adreßbustruktur wie der 8086 und kann somit ebefalls 1 MByte physischen Speicher adressieren. Sein Registersatz und Adreßmodi entsprechen voll dem 8086er. Er arbeitet mit dem gleichen Maschinenbefehlssatz, darüber hinaus verfügt er über einige zusätzliche erweiterte Befehle. Der 80188 dient wiederrum nur zur kompatiblität mit 8-Bit Peripherie und ist nahezu jeder Hinsicht mit dem 80188 identisch.
Der 80286 ist voll kompatibel zum 8086-Mikroprozessor, stellt gegenüber diesem jedoch einen größeren Entwicklungssprung als die 80186/80188 Prozessoren dar. Gekennzeichnet ist der 80286 vor allem dadurch, daß in seiner Architektur bereits Erfordernisse für Multiuser- und Multitasking Betriebssysteme berücksicht wurden. Durch seinen 24-Bit breiten Adreßbus bestand nun die Möglichkeit einen auf 16 MByte erweiterten physikalischen ansprechen zu können und Programme im Vergleich zum 8086 ca. sechsmal schneller abzuarbeiten.
1985 etablierten sich die ersten 386-CPUs auf dem Markt. Ein bis zwei Jahre später folgten die ersten PC's mit diesen Prozessoren und sorgten mit höheren Taktfrequenzen , erweiterten Busleitungen und neuen Funktionen für noch schnelleren Aufwind im PC Bereich. Der Adreßbus wurde nun auf 32-Bit erhöht, wodurch maximal adressierbare physische Speicher auf 4 GByte anwuchs. Die Datenbusleitungen wurden ebenfalls auf 32-Bit erhöht, also genau das doppelte der vorherigen Mikroprozessoren. Es besteht ebenfalls wieder kompatiblität zu den 8086 sowie 80186 und 80286 Prozessoren.
1989 folgten auf den 80386 die ersten 80486 DX CPU's. Vorteil dieses Prozessors ist, daß die für Fließkomma notwendige Floating-Point Unit (FPU) erstmals direkt in den Mikroprozessor integriert wurde. Somit bestand die Möglichkeit ebenfalls auf den integrierten Datencache zuzugreifen. Der 80386, sowie der der 80486 weisen eine Multitasking-Hardware und einen Schutzmechanismus, Protected Mode, über vier Ebenen auf, der den Zugriff eines Anwenderprogramms auf das Betriebssystem verhindert. Der neu eingeführte Virtual-8086 Mode erlaubt es mehrere 8086er in der ungeschützen Betriebsart zu simulieren, wobei jeder ausgeführte Prozeß einen 8086 mit einem Adreßraum von 1 MByte sieht. Die Anzahl der auszuführenden Prozesse hängt nun von der Menge an verfügbarem Arbeitsspeicher ab. Weiterhin wird eine vituelle Speicherverwaltung unterstützt, sodaß mehr als nur 1 MByte Speicher zur Verfügung steht. (Segmentierung im Protected Mode)
1993 brachte Intel den Pentium-Mikroprozessor auf den Markt. 3,1 Millionen Transistoren wurden auf dem Chip untergebracht. Eingeführt wurde er mit 60 MHz. Bei 66 MHz ist es möglich, Anwendungsprogramme bis zu fünfmal schneller als ein 486er auszuführen. Es besteht wieder Kompatiblitöt zu allen Vorgängermodellen. Die Datenbusleituntungen wurden auf 64-Bit erhöht und der Pentium beinhaltet ebenso eine verbesserte Floating-Point Unit. Die Verbessrungen lagen soweit darin, daß die drei Grundrechenarten Addition, Multiplikation und Division durch spezielle Hardwareeinheiten realisiert wurden. Dadurch konnte bei rechenintensiven Anwendungen eine bis zu fünfmal schnellere Abarbeitung erfolgen.
Die Prozessorarchitektur wurde überarbeitet und eine mit dem Begriff Superskalare Mikroarchitektur bezeichnete Bauweise ermöglicht es, Einheiten innerhalb des Prozessors so auszulegen, daß sie gleichzeitig arbeiten können. Die parallele Abarbeitung von Befehlen wurde ebenso verbessert, sofern zwischen ihnen keine Abhängigkeiten bestehen. Die Ausführung erfolgt in den U- V-Pipelines, wobei die Befehle bestimmte Bedingungen erfüllen müssen, daß Konflikte verhindert werden. Dadurch wird vermieden, daß ein Nachfolgender Befehl auf Informationen des vorigen Befehles zugreifen muss. Die U-Pipeline kann alle Befehle ausführen, V-Pipeline jedoch nur die Einfachen.
Buseinheit (BU): Diese Einheit ist für den Transfer zwischen den externen Einheiten und dem internen Cache zuständig und gibt die externen Anforderungssignale priorisiert an die inerne Steuereinheit weiter. Cacheeinheit (CU): Sie besteht aus einem Daten- und einem Befehlscache zu je 8 KByte, wobei der Datencache in den Hauptspeicher zurückschreiben kann, der Befehlscache jedoch nicht. Durch die 64-Bit Datenbusstruktur kann eine komplette Cacheline (2*64 Bit = 16 Byte) übertragen werden. Branch-Prediction (BP): oder auch "Verzweigungsvorhersage" besteht aus einem kleinen Cache, in dem die zuletzt aufgeführten Sprungbefehle mit ihren Adressen, sowie statistische Informationen (Häufigkeit der letzten Sprünge) gespeichert werden. Die BP vergleicht nun ständig mit den Befehlen im "Instruktionsdekoder". Wird letztendlich eine Übereinstimmung festgestellt und der erwartete Sprung soll ausgeführt werden, kann die BP die Sprungadresse sofort liefern. Die Taktzyklen für das Einholen der Adresse entfallen, was zur schnelleren Abarbeitung führt. Instruktionseinheit (IU): Diese Einheit sorgt für einen ständig gefüllten Cache und verhindert somit, daß dieser während Wartezeiten nicht untätig ist. Der "Instruktionsdekoder" entnimmt dieser Warteschlange einzelne Bytes und dekodiert diese. Ausführungseinheit: Die Ausführungseinheit führt den von der Instruktionseinheit kommenden Maschinencode aus. Sie steht darüber hinaus mit allen anderen Einheiten über den Steuerbus in direkter Verbindung. Adressierungseinheit: Sie berechnet gemäß dem Segmentkonzept die effektive Adresse. Fließkommaeinheit: Die Fließkommaeinheit übernimmt die Berechnung von Fließkommabefehlen.
Programme für die 8086/8088 Prozessoren betrachten den maxmimal 1 MByte großen physikalischen Adreßraum als eine Gruppe logischer Segmente. Bei diesen Segmenten handelt es sich um logische Speicherblöcke, von 16 Bytes bis maximal 64 KBytes. Speicherstellen können von Programmen nur angesprochen werden, wenn sie innerhalb eines Segmentes liegen und zum Zeitpunkt des Zugriffs ein Segmentregister die Anfangsadresse des Segments enthält. Da die Segmentregister beim 8086/8088 nur 16 Bit breit sind kann ein Segment nicht an jeder beliebigen physikalischen 20-Bit-Adresse beginnen, da sonst auch die Anfangsadresse eines Segments eine 20-Bit Größe sein müßte.
es gelten für die Anfangadressen der Segmente folgende Regeln:
- Eine physikalische Segmentanfangsadresse muß ohne Rest durch 16 teilbar sein; dh., die vier niederwertigen Bits einer physikalischen Segmentanfangsadresse sind stets 0, worauf zurückgeführt wird, daß der kleinste Abstand zwischen zwei Segmentanfangsadressen 10h = 16 Bytes beträgt.
- Die 16 höherwertigen Bits der Segmentanfangsadresse werden als Paragraphennummer bezeichnet. Jedes Datensegmentregister enthält eine solche Paragraphennummer.
Die logische Adresse besteht aus der 16-Bit Paragraphennummer und einer 16-Bit Distanzadresse (Offset) innerhalb des Segments. Wennd die BIU (Busverbindungseinheit) einen Zugriff auf den Arbeitsspeicher ausführt, um z.B. Daten zu holen (READ-Zyklus), zu speichern (WRITE-Zyklus) oder einen Maschinenbefehl zu holen (FETCH-Zyklus) muß aus der logischen Adresse die physikalische 20-Bit Adresse berechnet werden. Dazu wird die Paragraphennummer in ein spezielles 20-Bit Register der BIU geholt, 4-Bit nach links geshiftet und das Offset addiert.
Für Programme und deren Programmier ist es sinvoller mit solchen logischen Adressen zu arbeiten, da keine Rücksicht genommen werden muß, in welchen physikalischen Speicherstellen Programm und Daten landen.
Quellen: 80x86/Pentium Assembler (Bertram Wohak / Reinhold Maurus) Intel Architecture ' Software Developers Manual Vol. 1 (Basic Architecture) ' Intel Architekture ' Software Developers Manual Vol. 3 (System Programming Guide) '
Glen Masgai email: masgai@cs.uni-magdeburg.de Chipsatz ________ Northbridge und Southbridge ___________________________ Prozessor | | Grafikkarte-PCI-Northbridge--Speicherbus--Speicher | | PCI-Express | | Festplatte-Serial-Southbridge---USB | |---Local-I/O mobile -\ | GBit-Ehternet-Switch_____| Steckkarten-/
Die heutigen Mainboards haben entweder einen Haupt-Controll-Chip für das Bussystem, oder lassen die Aufgaben von zwei Chips erledigen. Die letztere Variante kommt sehr häufig vor und damit die beiden Chips klar zu unterscheiden sind, wurden sie North- und Southbridge genannt. Die Aufgaben: Northbridge ist für den High-Speed Bereich von CPU, Arbeitsspeicher und Grafikkarte verantwortlich. Hier laufen die meisten und schnellsten Daten hin und her.-
Southbridge regelt den Rest des Datenverkehrs: Laufwerke, Floppy, Parallel, Seriell, Mouse, Keyboard, Modem, Audio, USB, UMDMA/ATA(Festplatte), sämtliche Schnittstellen sowie Steckplätze für die Erweiterungskarten.
Bussysteme (ISA und PCI)Der ISA-Busslot Systembus Der ISA-Bus ist das direkte Abbild des Prozessors mit zusätzlichen DMA-Anforderung und Interruptsignalen mit Handshake. PCI-Busslot (echtzeitfähig) - eigener PCI-SystemController - multiplex-Prinzip Leitungen werden für Daten udn Adressen gemeinsam benutzt - message-Prinnzip datenaustausch zwischen den an den PCI-Bus angeschlossenen Interface-Karten ( abstimmung der Priorität, z.Bsp. für Echtzeitbearbeitung oder andere Priorisierungen ) - burst-modus Übertragungssteuerungssignal nutzt beide Signalflanke _ _ |_| |_| bei blockweiser Speicherdatenübertragung für das DMA Anwendung - Arbitrierung Zuordnugn und Priorisierung bie Mehrfachprozessorsystemen ( für Serversysteme im Netzwerk ) - Integrierte Interuptfunktionen der Interruptcontroler ist im PCI-System enthaltern ( Southbridge ) - Integrierte DMA-Funktionen der DMA-Controller im PCI-System enthalten Interruptsystem _______________ _______ NMI ____________ | |<----------| Interrupt- | Interrupt | CPU | INT | Controller |<------ | |<----------| im PCI | | |<- Datenbus|____________| | |<- Adressbus NMI - None Maskable Interrupt nicht maskierbarer Interrupt höchste Priorität
Es gibt zwei Systeme zur peripheren Geräteverwaltung durch das Betriebssystem
1. PollingSystem
________________die peripheren Geräte werden regelmäßig nacheinander abgefragt, ( das statusregister wird abgefragt, ob eine neue Information vorliegt ) wird nicht bei IBM-PC's verwendet.
2. Interrupt-System
____________________Bei neuer Information gibt das entsprechende periphere Gerät ein Unterbrechungsanforderungssignal (Interrupt request signal = IRQ ) an den Interrupt-Controller. Dieses Signal wird an die CPU weitergeleitet und zwar an den INT - Eingang. Die CPU unterbricht das laufende Programm und erfragt die Interruptnummer (Priorität) und liest in der Interruptvektortabelle die zuständige ISR-Adresse ( Interrupt Service Routine ) Interrupt request nummer führt über einen Faktor direkt zur Vektoradresse, wobei die ISR-Adresse programmiert wird.
Ablauf eines Interrupt ( Exception ) ( Ausnahme )
IRQ-Signal wird ausgelöst CPU ermittelt ISR-Adresse, gibt diese in den Befehlszähler; Programm springt in die ISR-Adresse ALU Registerinhalte werden in den Stack geladen (die Registerinhalte werden gerettet!) ISR ( Treiberprogramm ) wird ausgeführt ALU-Registerinhalte werden aus dem Stack zurückgeladen.- Rücksprung aus der ISR in das Hauptprogramm
* Treiberprogramm - Interrupt Service Routine CPU | Frontsidebus ( Hostbus ) | Grafik <-> Northbridge <-> Hauptspeicher | | | Massen- <-> Southbridge <-> Bios speicher | WAN PCI LPT COM USB Eingabe _____________________________________________________________________________ Der DMA-Controller ( Direct Memory Access ) direkter Speicherzugriff Adress- und Datenbus CPU |------------------------------------| |--RD-------------------------------|| |--WR---------|---------------------||periphere Controller ---- DMA Puffer Hauptspeicher ^-------Controller Hold leitung Anfangsadresse D Quelle A T Anfangsadresse E Ziel N R Adressvolumen E ------------- G. Mode-Register I Controll-Register S State-Register T E R Jeder Controller hat vier Register: Controll- Mode- State Datenregister
Ablauf:
CPU fordert DMA an: 1. Quelle-, Ziel-, Volumendefinition 2. Controllbefehl - DMA-Controller hält die CPU mit dem Holdsignal an. Die Holdleitung wird gesetzt. - CPU bestätigt die Busfreigabe und startet den DMA-Controller - HLDA-Signal an den DMA-Controller ( Hold Acknowledge ) - DMA bedient den Steuer-, Adress- und Datenbus für direkten Datentransfer ohne CPU-Register! - DMA: Am Ende wird Hold-Signal zurückgenommen - CPU bestätigt mit Rücknahme des HLDA-Signals die Übernahme des Busses.
Grundzüge der Informatik Wozu brauchen wir Informatik? Informatik ist die Lehre von der Information. Wir beschäftigen uns aber nur mit einem Teilbereich, nämlich der Datenverarbeitung. Daten sind etwas was auf verschiedenen Medien gespeichert werden kann. Information braucht den Menschen. Der muß nämlich entscheiden, was aus den vorhandenen Daten als Information angesehen werden kann. Beispiel: Mein Bruder heiratet ist für mich eine Information. Für den Standesbeamten sind es nur Daten die er verwalten muß.
Wir beschäftigen uns hier mit der digitalen Form der Verwaltung von Daten und Informationen.
Duales System --> digitalisieren von Daten. Der Unterschied zwischen einem bit (etwas, was einen von zwei definierten Zuständen aufnehmen kann) und einem byte = (256 mögliche Zustände). Ein Byte enthält also 8 bit.
Hier folgt eine Tabelle anhand derer wir anschaulich sehen können, wie das zu verstehen ist. Binäres, Dezimales- und Hexadezimales Zahlensystem.
1 Byte bits dezimal hexdezimal 0000 0000 2^0 * 0 = 0 0 0000 0001 2^0 * 1 = 1 1 0000 0010 2^0 * 0 + 2^1 * 1 = 2 2 0000 0011 2^0 * 1 + 2^1 * 1 = 3 3 0000 0100 2^0 * 0 + 2^1 * 0 + 2^2 * 1 = 4 4 0000 0101 2^0 * 1 + 2^1 * 0 + 2^2 * 1 = 5 5 0000 0110 2^0 * 0 + 2^1 * 1 + 2^2 * 1 = 6 6 0000 0111 2^0 * 1 + 2^1 * 1 + 2^2 * 1 = 7 7 0000 1000 2^0 * 0 + 2^1 * 0 + 2^2 * 0 + 2^3 * 1 = 8 8 0000 1001 2^0 * 1 + 2^1 * 0 + 2^2 * 0 + 2^3 * 1 = 9 9 0000 1010 2^0 * 0 + 2^1 * 1 + 2^2 * 0 + 2^3 * 1 = 10 A 0000 1011 2^0 * 1 + 2^1 * 1 + 2^2 * 0 + 2^3 * 1 = 11 B 0000 1100 2^0 * 0 + 2^1 * 0 + 2^2 * 1 + 2^3 * 1 = 12 C 0000 1101 2^0 * 1 + 2^1 * 0 + 2^2 * 1 + 2^3 * 1 = 13 D 0000 1110 2^0 * 0 + 2^1 * 1 + 2^2 * 1 + 2^3 * 1 = 14 E 0000 1111 2^0 * 1 + 2^1 * 1 + 2^2 * 1 + 2^3 * 1 = 15 F
Bei der oben gezeigten Tabelle ist es dann auch möglich, Rechenaufgaben mit Dezimalzahlen in ganz anderer Weise darzustellen, nämlich als Folge von 0 und 1. Dabei sind aber die Aufnahmefähigkeit des Rechners bezüglich der Stellen begrenzt.
Stichworte: Intervallschachtelungsprinzip, numerische Auslöschung, Endliche Zahlenmenge, Addition und Subtraktion sind problematisch.
an dieser Stelle taucht dann die Frage auf, wie Daten verwaltet werden können.
1 2 3 , 4 3 dezimal = Umrechnung: 2^-7 = 0,0078125 2^-6 = 0,015625 2^-5 = 0,03125 2^-3 = 0,125 2^-2 = 0,25 2^0 = 1 2^1 = 2 2^3 = 8 2^4 = 16 2^5 = 32 2^6 = 64 1 1 1 1 0 1 1 , 0 1 1 0 1 1 1
Dezimalsystem: 1 2 3 , 4 5 1*10² 2*10^1 3*10° 4*10^-1 5*10-² Wert = 100 + 20 + 3 + 0,4 + 0,05 Hexadezimalsystem: 1 2 3 , 4 5 1*16² + 2*16^1 + 3*16^0 + 4*16^-1 + 5*16^-2 256 + 32 + 3 + 0,0625 + 0,01953125 Wert = ??? Oktalsystem: 1 2 3 , 4 5 1*8² + 2*8^1 + 3*8^0 + 4*8^-1 + 5*8-² 64 + 16 + 3 + 0,5 + 0,078125 Wert = 83,578125 Dualsystem: 1 2 3 , dezimal = 1 1 1 1 0 1 1 binär 2^6 2^5 2^4 2^3 2^2 2^1 2^0 = 64 32 16 8 0 2 1 Umwandlung von dezimal in dual: Rest 123 / 2 = 61 | 1 * 2° = 1 rechts 61 / 2 = 30 | 1 * 2^1 = 1 | 30 / 2 = 15 | 0 * 2² = 0 | 15 / 2 = 7 | 1 * 2³ = 1 | 7 / 2 = 3 | 1 * 2^4 = 1 | 3 / 2 = 1 | 1 * 2^5 = 1 | 1 | 1 * 2^6 = 1 links Umwandlung von dezimal in oktal: 123 / 8 = 15 | 3 * 8° = 3 15 / 8 = 2 | 1 * 8^1 = 8 2 / 8 = , | 4 * 8^-1 = ,5
ASCII-Tabelle
In einer Tabelle wird festgelegt, welcher der 256 Werten welchem Zeichen entspricht. Das ist international gültig, da wir ansonsten Probleme hätten andere Systeme zu verstehen und in unseres zu übertragen.
Software 1945 Maschinensprache 1955 Problemorientiert Sprachen: Fortran, Cobol, Algol, LISP(1959) Komplexe Systemsoftware 1970 Prolog, Pascal 1980 ADA Mantis, Natural Software Definition unter sw werden die auf einem Medium (Lochkarten, Disk, Papier) gespeichtern Informationen (Anweisungen) - bestehend aus Zeichen - verstanden, die dem Computer sagen, was er zu tun hat.Seite 17 Was ist ein Programm?
Idee -> Programm - | Hardware übersetzen (Compiler) ^ | / | Programm Programm ^ verstehen | | <-------
*.exe 559
*.com 21
*.bat 6
*.dll 3136
*.class 23
1945 Maschinensprache zur Lösung komplexer mathematisch-naturwissenschaftlicher Probleme 1955 Rechner in Wirtschaft und Verwaltung Leistung steigt sprunghaft Lösung komplexer Probleme wurde möglich Höhere Programmiersprachen FORTRAN, COBOL, ALGOL Komplexe Systemsoftware, Compiler, Betriebssysteme Problem -> Softwarekrise Einführung in die Informatik als wissenschaftliches Lehrgebiet 1970 Methoden zur Softwareentwicklung Werkzeuge zur SW PROLOG, PASCAL 1980 ADA (stark ausgeprägtes Typkonzept -> hohe Sicherheitsrelevanz) neue Sprachkonzepte (objektorientiert) MANTIS, NATURAL Intergrierte SW-Entwicklungsumgebungen (Borland) 1990 PERL, Objektorientierte Programmiersprachen (C++, Java, ...) "haben sich durchgesetzt" -HTML, XTML, J++ 2000 Internet-Multi-Media-Kampagnen globalisierter Monopole mit zweifelhaftem betriebswirtschaftlichem Erfolg
Eigenschaften von Software abstrakt besteht aus einer Reihe umfangreicher Texte extrem komplex besteht aus einem einheitlichen Baustoff Einsatzcharacter als Werkzeug ist nicht klar definiert ist weich oder flexibel ist immer fehlerhaftet
Abgrenzung bzw. Thesen
- Die Herstellung "großer" Software unterscheidet sich qualitativ von der Herstellung "kleiner" Software.
- Zentraler Punkt der Programmierung auf allen Ebenen ist die Bewältigung der Komplexität.
- Die Herstellung großer Programme ist keine schwarze Kunst sondern weist Ähnlichkeiten mit der Produktion
anderer technischer Produkte auf
Verteilung der Kosten während der Lebenszeit einer Anwendungssoftware
Programmentwurf 35%
Programmierung,
Einzeltest, 20%
Integrationstest
Implementierung 45%
Wartungskosten 200% - 400%
Betriebssystem
Rechnerkomponenten nach von Neumann Hardwarestruktur ---------------- Hauptspeicher Ein- und Ausgabe _____________ ________________ Steuerwerk Rechenwerk | | Befehlszähler Datenregister Taktgenerator - Befehlsregister Akkumulator Adressregister Zusatzregister | | Befehlsdekoder Addition Mikrobefehlsumsetzer Komplementierung Ablaufsteuerung Rechtsverschiebung Linksverschiebung Logik-Operationen Operationsprinzip nach von Neumann _____________________________________________ Rechenwerk manipuliert Daten | Steuerwerk koordiniert CPU und Bussystem | taktgesteuert binär kodiert feste Datenworte | sequentielle Datenverarbeitung SISD = SINGLE INSTRUCTION SINGLE DATA | Daten und Programme werden als Speicherinhalte über Adressen angesprochen | Programme und Daten befinden sich im Hauptspeicher ___________________________________________________________________________________________________21.10.2004
Computerhardware BUS | - Motherboard CPU 80386 Pentium Grafikchip: 80815 RAM 256 > MByte CTC Quarz Controler BUS | - Grafikkarte RAM BUS | - I/O Karte PIO (Parallel-IO) SIO (Serielle-IO) | | | Bildschirm Tastatur Drucker ---------------------------------------------------------- PC: Apple: CISC RISC Transputer | | | PC - 2 GHz 68040 - 1 GHz mehrere CPU's 1/2 GByte RAM 256 MByte RAM variable Länge konstante Länge der Befehle der Befehle komplexe Befehle einfache/wenige Befehle ----------------------------------------------------------- Multiprozessor SMP leistungfähiger premtives CPU CPU CPU CPU CPU AMP
Seite 26 Script Single User Betriebssysteme
DOS
Seite 29
Threads
PVM -> parallele virtuelle Maschinen
Real-Time OS z.Bsp in der chemische Industrie oder militärische Anwendungen
Embedded Systems
QNX
Aufbau und Wirkungsweise
Terminal: Monitor und Tastatur
Standalone PC
Pair to Pair Netze FileServer/PrintServer (LAN >> Local Area Network) ClientServer25.10.04
Multi user Systems
viel Benutzer Systeme
Alles ist stream - C Unix wird in C programmiert Thompsen und Rietchie wollten gemeinsam an einem Rechner spielen und wollten ein Betriebssystem schreiben das das ermöglicht. Multiuserfähig: Peer to Peer Ja_________________|_________________Nein________Remote______ Server/Client: AIX X Ultrix X Irix X Linux X Unix(BCD) X MS-DOS X X WB.I/3.II X X W 95 X X W 98/SE/ME X X NT 3.5/4 X X NT Server X W 2000client X W 2000server X W XP X
3.3 File Systems -> Datei-System
3.3.1 Universalmaschine Computer
- Digital -> Bit/Byte
- Bussystem
- Betriebssystem (Software) 1. Variabilität
Rechener einschalten -> feste Adresse anspringen FFFF00....
(Programm
- Basic Input/Output System)
ROM
Systemcheck Tastatur, Maus, MOnitor, Diskettenlaufwerk, CD-ROM, Festplatte u.a
Urloader sucht nach dem Bootsektor
Loader (LiLo) lädt das
OS/Betriebssystem
Konfigurationen
Programm starten ...
3.3.2 Seite 33 und Screenshot.doc1 Diskettenlaufwerk A:\ 1 Festplatte 20 GByte C:\D:\E:\ 2°10 = KByte 1.024 256 KByte 2°20 = MByte 1.048.576 C: 1.7 1.02 frei D: 2°30 = GByte 1.073.741.824sind 261.616 == 256 MByte? -->> 1024 * 256 = 262.144
FAT File Allocation Table
NTFS New Technologie File Systems
1. Alle z.Zt. installierten exe-Dateien 937 *.exe Dateien
2. Verzeichnis/Ordner/Directory - System
Hilfe Windows LinuxShell hilfe info C:\>dir c:\*.exe /s > dir.txt D:\>tree d:\ /A > tree.txt Linux auf Diskette: http://home.t-online.de/home/hubertus.sandmann/l_mini.htm http://www.toms.net/rb/ linke Maustaste Doppelclick C:\>regedit HKEY_CLASSES_ROOT FC oder comp vergleicht Dateien C:\>dir /b /s ntldr boot.ini ntoskrnl.exe hal.dll 11.11.2004 Klausur Script: Seite 6: Daten / Informationen Script: Seite 9 - 12: Zahlen aus der Mathematik gelten im PC nicht mehr! Numerische Auslöschung Script: Seite 13: Eigenschaften v9n Software / Kosten von Software / bundesagentur, Script: Seite 15: Filesysteme, ... Prozeßsystem Script: Seite 17:_ Praktische Aufgaben Script: Seite 19: Klassifikation von Rechnern , v. Neumann Script: Seite 22-23: ASCII siehe Seite 8 und HTML-Version unicode.org Script: Seite 26 - 29: Betriebssysteme und Oberflächen Tabelle multiuser/-prozessing/-tasking Script: Seite 32:: booten versteckte dateien anzeigen lassen arbeitsplatz/doppelklick/extras/ordneroptionen Script: Seite 37 - 41 nicht wegwerfen!!! für später aufheben. 3.4 Prozess-System Programm oder Shell _______________________ |Betriebssystemkern | | ____________________ | | | | | | | | BIOS | RAM | | | | ________|_______ | | | | Hardware | | | |___________________| | | | Gerätetreiber | | | |___________________| | |_______________________| Programm Beschreibung Extra-Prozess Prozess *.c -> C-Quelltext -> Compilieren -> Direkt an CPU *.h -> C-Headerdatei *.pas -> Pascal Quelltext -> Compilieren -> Direkt *.pl -> Perl-Quelldatei -> -> Interpreter *.java -> Java-Quellt. -> Compilieren -> Interpreter *.bat -> Stapeldatei -> Shell-Kommandos *.vb* -> Visual-Basic -> Compilieren -> Ausführen *.bas -> BASIC -> -> Interpreter *.exe -> ausführbare Datei -> Programm *.com -> ausführbare Datei -> Programm *.dll -> ausführbare Datei -> Programm *.html -> HTML-Datei -> Interpreter Seite 43 ff. im Script ps xal | ps las print system -> INF.13 _____ /____/ Print- Print- prozess server Drucker _____ _____ _____ /____/| Dokument /____/| print /____/| | ||---------------> | ||-----------> | || | ||<--------------- | || - beendet? -| || |____|/ erfolgreich- |____|/<--löschen---|____|/ Warte- ______ schlange /_____/ Auftrag---------------->| - beenden des Auftrags <--löschen-- Rechnerauswahl Festlegung der Wertigkeit zum Erwerb eines Betriebssystems - Vorgänger - Unternehmensaufgaben - Bestehende Betriebssysteme im Unternehmen und Verteilung der Aufgaben/Arbeit - Kosten - Hardware Voraussetzungen . . . Seite 48 Entscheidungsgrundlage zum Erwerb eines Betriebssystems . - Seite 47 ***** DTP: Grafik, Design und Text ****** Seite 49 Etwaige Kosten beim Erwerb ... Linux Microsoft/Windows NT OS 100,- @ 200,- @ Grafische Gnome, KDE, ... Oberfläche Office office.org 246,- @ Word, Exel Internet ... IE, OutlookExpress FTP ... FTP Webdesign ... Front-Page 150,- @ Textsatz KLyx, TeX, Latech 1000,- Emulatoren WINE, DOSemu VMWare 183,- VMWare 183,- Bildbearbeitung Gimp, xv PhotoShop, 269,- @ Terminplaner ... Outlook enthalten Software- C, C++, Java, TP Borland C, C++ 446,- entwicklung Fortran, u.a. VisualBasic Qt 1000,- 1000,- Datenbank MySQL MySQL Adabas, Progress MS-Access 150,- @ Source-Code enthalten unbezahlbar Handbuch > 500 Seiten dt. 20 Seiten in 20 Sprachen 50,- @ Serverversion enthalten 1100,- @ + Clients! _________________________________________________________________________ 100,- n.def,- ******************************************************************* *** Programmiererhinweis: *** Das o wird gerne mit der 0 verwechselt. wegen dem Ringfinger o0 ******************************************************************* Seite 41.1 - .12 mal Hausaufgabe Seite 41.12 Datum 25.11.2004 Seite 41/9 GNU "Gnu is not Unix" Absolute Pfadangabe ------------------- Linux/Unix/"X"nix Windows(FAT&NTFS) root-Directory / C:\ Systemverzeichnis /linux C:\WINDOWS C:\WINNT\SYSTEM C:\WINNT\SYSTEM32 Gerätetreiber /dev C:\WINNT\SYSTEM\Drivers etc(einloggen) /etc C:\ETC /etc/passwd User /home/lara C:\Dokumente und Einstellungen\benutzername mount /mnt/floppy /mnt/cdrom echo aaaa > aa.txt echo aaaa > aa.txt :=aaaa :=aaaa\r\n EOF 4 byte 7 byte cd wechselt ins gibt den aktuellen Pfad zurück home-Verzeichniss Donnerstag der 9. Dezember C:\>attrib /? file systems MS-DOS/-Windows FAT file allocation table MS-Windows NT/2000/XP -> MFT master file table Unix, linux u.a. -> Superblock, inode attrib zeigt mir auch ob ein Archivbit (A) gesetzt ist.- wichtig bei einem BACKUP - da könnte ich dann beim backup löschen z.Bsp Quelle Ziel xcopy C:\ *.* /M /S /E D:\ attrib A Archivieren attrib R ReadOnly attrib S System attrib H hidden(versteckt) Kommandoname Option Argumente attrib /? *.* attrib +H hallo.txt chmod - * Benutzer gibt es in Windows erst ab NT mit NTFS-Filesystem Tabelle Seite 41/16 06.01.2005 Seite 41/20 Kanäle Ausgabe -> stdout Bildschirm Umleitung mit > in eine Datei echo donnerstag > link Eingabe -> stdin Tastatur < file.txt Umleitung der Tastatureingabe in eine Datei Fehlerkanal -> stderr Bildschirm oder Datei Aufgabe seite 42/20 Datei erzeugen mit echo donnerstag > link mit der rechten Maustaste Verknüpfung erstellen (Softlink - filesystem übergreifend!) Umbenennen in wochentag Datei link überschreiben echo samstag > link Datei wochentag öffnen und nachschauen was drin steht <- samstag von wo liest more und wo schreibt es hin? more liest von stdin und schreibt nach stdout meinprogramm.exe [ eingabedatei [ ausgabedatei]] | optionen Aufgabe: more link > echo.txt erzeugt die Datei echo.txt die Daten werden aus Datei link geholt. more [ eingabedatei [ ausgabedatei]] dir c:\ /S | more date gibt das Datum aus und erwartet eine Eingabe date > datei.txt < nul unterdrückt die Eingabe Klausurvorbereitungen: Zahlen bis Seite 8-11 fettgedrucktes!! Betriebssystem was kriegen und wieder loswerden Seite 17 Seite 22 ASCII type edit u.a. more Seite warum ist es möglichj oder nicht partitionieren Seite 33 Script kann benutzt werden. fileSysteme wie gucke ich in eine Datei wir kriegen eine Diskette Umleitung | pipe links
analoge und digitale Übertragung von Daten(Signalen) Ein analoges Signal wird als Amplitude übertragen, z.Bsp. Telefongespräche Analoges Signal | __ | __ / \ | ___ / \ / \ | / \ / \ / \__/ | / \ / \__/ | / \__/ |/___________________________________> t
Um Daten in digitale Werte zu verwandeln muß ich die Amplitude vermessen. Shannon'schen Gesetz: Um ein Signal zu digitalisieren muß man mindestens mit der doppelten Frequenz abtasten, die als höchste Frequenz im Signal ist.
7_| 6_| ___ / 5_| __ / |\ /| 4_| ___ / |\ /| | \ / | 3_| / | \ / | \ / | | \__/ | 2_| / | \ /| | \__/ | | | | | 1_| /| | |\__/ | | | | | | | | | 0_|/_|__|__|__|__|__|__|__|__|__|__|__|__|________> t | | | | | | | | | | | | | | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 t ist der Zeitstrahl 1 >> 2 2 >> 4 3 >> 2 4 >> 1 5 >> 3 6 >> 5 7 >> 2 8 >> 2 9 >> 5 10 >> 6 11 >> 3 12 >> 3 13 >> 6
diese Verfahren ist Zeitdiskret und Wertediskret. Ungenauikeit tritt dadurch auf, daß die Werte gerundet werden. Die Abtastung eines Signals erfolgt bei 264 mBit 24 * 1024 pro sekunde Aus unseren Zahlen werden binäre Zahlen und deswegen werden digitale Werte werden binär übertragen.
dann stellt sich 1101 fogendermaßen dar: synchrone Übertragung benötigt zusätzlich eine Taktleitung (Daten, Takt, Masse)
0 = 5 V 1 = 10 V V | 10|________ ____ | | | | | | 5 | |____| | |_____________________ t 1 1 0 1
wegen der unscharfen Übergänge werden wir ein Abtastfenster benutzen, um unsere Werte zu übernehmen. asynchrone Übertragung kommt ohne Taktleitung aus: (Daten, Masse)
__ __ | = 1 | = 0 |__ __| V | 10|__ __ ____ | | | | | | | |__| |____| |__ 5 | | |______________________ t 1 1 0 1
Der Vorteil ist, daß ein digitales Signal auf nach Abschwächung wieder refresht und auf beliebige Entfernungen übertragen werden kann.
2.2.7 Digitale und analoge Signale
Auf dieser Seite werden die Unterschiede zwischen analogen und digitalen Signalen erklärt.
Rundfunk, Fernsehen und Telefon wurden noch bis vor kurzem drahtlos und über Kabel mithilfe elektromagnetischer Wellen übertragen. Diese Wellen werden analog genannt, da sie die gleiche Form haben wie die von den Sendern erzeugten Licht- und Tonwellen. Wenn sich Größe und Form der Licht- und Tonwellen ändern, ändert sich entsprechend auch das elektrische Signal der Übertragung. Das heißt, die elektromagnetischen Wellen sind den Licht- und Tonwellen analog.
Die Beanspruchung des elektromagnetischen Spektrums durch die verschiedenen Signale ist ein Maß für die analoge Bandbreite. Die Maßeinheit der analogen Bandbreite ist Hertz (Hz) oder Perioden pro Sekunde. Normalerweise wird die analoge Bandbreite ebenso wie die digitale Bandbreite in einem Mehrfachen dieser Maßeinheit angegeben. Häufig verwendete Maßeinheiten sind Kilohertz (kHz), Megahertz (MHz) und Gigahertz (GHz). Mit diesen Einheiten wird die Frequenz von Schnurlostelefonen angegeben, die üblicherweise mit 900 MHz oder 2,4 GHz arbeiten. Diese Einheiten dienen auch zur Angabe der Frequenz von drahtlosen 802.11a- und 802.11b-Netzen, die mit 5 MHz bzw. 2,4 GHz arbeiten.
Während analoge Signale verschiedenste Informationen übertragen können, haben sie gegenüber digitalen Signalen einige bedeutende Nachteile. Das analoge Videosignal, dessen Übertragung einen breiten Frequenzbereich verlangt, kann nicht in ein schmaleres Band gepresst werden. Wenn die erforderliche analoge Bandbreite nicht verfügbar ist, kann das Signal somit nicht gesendet werden.
Bei Digitalsignalen werden sämtliche Informationen als Bits gesendet, unabhängig von der Art der Informationen. Sprache, Video und Daten werden zu Bitströmen, wenn sie zur Übertragung über digitale Medien aufbereitet werden. Aufgrund dieser Art der Übertragung hat die digitale Bandbreite einen wichtigen Vorteil gegenüber der analogen Bandbreite. Über einen digitalen Kanal sehr geringer Bandbreite können unbegrenzte Mengen an Informationen gesendet werden. Unabhängig davon, wie lange es dauert, bis die digitalen Informationen am Ziel eintreffen und erneut zusammengesetzt sind, können sie in der ursprünglichen Form angezeigt, gehört, gelesen oder verarbeitet werden.
Es ist wichtig, die Unterschiede und Gemeinsamkeiten zwischen der digitalen und der analogen Bandbreite zu verstehen. Beide Arten der Bandbreite werden im Bereich der Informationstechnologie häufig eingesetzt. Da sich dieser Kurs jedoch hauptsächlich mit digitalen Netzen befasst, bezieht sich der Begriff Bandbreite hier auf die digitale Bandbreite.
TCP/IP ______ Beispiel: Postversand Brief --> Briefkasten --> Postverteiler --> LKW --> Flugzeug --> Flughafen --> Zug --> Adresse <-- Hausbriefkasten <-- Briefträger <-- Postverteiler <-- LKW <-- Bahnhof Paketweise Übertragung der Daten: 4 Schichtenmodel | ISO/OSI Model _______________________________________ / Applikationschicht Applikationschicht - Darstellungsschicht \ Sitzungsschicht _______________________________________ Transportschicht -> Transportschicht Portnummern _______________________________________ Internet -> Vermittlungsschicht IP-Adressen _______________________________________ / Sicherungschicht Ethernetrahmen mit Netzwerk MAC-Adressen. \ Bitübertragungsschicht unterste Schicht _____________________________________________________________________________ Kabeltypen Koaxialkabel: --------------------------------------------------------- Yellowcable 10 Base 5 500 meter reichweite, max. 5 Segmente hintereinander } } half duplex Cheapernet } 10 Base 2 } 185 meter Reichweite max. 5 Segmente hintereinander } (jomox, Windows95) --------------------------------------------------------- 8-adriges Telefonkabel --------------------------------------------------------- 10 Base T Twisted Pair 1:2:3:6 | es werden nur die vier Adern gebraucht. 100 meter Reichweite, max 5 Segmente hitereinander --------------------------------------------------------- * 10 = 10 Mbit, 5 = 500 meter Busförmige Reihenschaltung mit Anfangs- und Endwiderstand wg. der elektrischen Signale. Eine Störung wird an jedem Port sichtbar. _________________________________________ | | | ||___-_____-______-____-________|| | | - - - - | | | | | | | | | | | | | _______-_____-______-____-_______________ Hub | | | | | | | | PC PC PC PC Hub (passiver, weil ohne eigene Stromversorgung und daher ohne Verstärker) _____________________________________________________________________________ _________________________________________ | |____220 ~ Volt | ||___-_____-______-____-________|| | | - - - - | | | | | | | | | | | | | _______-_____-______-____-_______________ Hub | | | | | | | | PC PC PC Hub _________________________|_______________ | |___220 ~ Volt | ||___-_____-______-____-________|| | | - - - - | | | | | | | | | | | | | _______-_____-______-____-_______________ Hub | | | | | | | | PC PC PC Hub | _________________________|_______________ | |___220 ~ Volt | ||___-_____-______-____-________|| | | - - - - | | | | | | | | | | | | | _______-_____-______-____-_______________ Hub | | | | | | | | PC PC PC Hub Hub mit Verstärker (aktiver Hub). Sternförmige Struktur aber logisch Busstruktur _____________________________________________________________________________ PC mit 2 Ports und Software ist eine Bridge _________________________________________ | | | ||___-_____-______-____-________|| | | - - - - | | | | | | | | | | | | | _______-_____-______-____-_______________ Hub | | | | | | | | PC PC PC Bridge _________________________|_______________ | | | ||___-_____-______-____-________|| | | - - - - | | | | | | | | | | | | | _______-_____-______-____-_______________ Hub | | | | | | | | PC PC PC Switch _________________________|________________ | | | ||___-_____-______-____-________|| | | - - - - | | | | | | | | | | | | | _______-_____-______-____-_______________ Hub | | | | | | | | PC PC PC PC
Eine Bridge in Hardware ist ein Switch
Im Switch sitzt ein Rückwandbus oder ein Kreuzschinenverteiler, um hohe Übertragungsgeschwindigkeiten zu gewährleisten. Stackable Switch bietet die Möglichkeit, mehrere Switches übereinander zu stapeln, um so hohe Übertragungsgeschwindigkeiten zu erhalten, weil man sonst mehrere Leitungen (parallel) opfern müsste.
____________________________________________________________________________________________________________________________
Ethernet
09.11.2004 nwt
Media access controll
MAC-Adressen:
http://standards.ieee.org Registration OUI windows: cmd ipconfig /all unsichtbar ->| Prüfsumme ab hier gerechnet 8 byte | 6 byte 6 byte 2 byte 46 < 1500 byte 4 byte 1010101 ... 1011| MAC-DEST. | MAC-SRC länge Daten crc|Prüfsumme oder kennung polynom division polynom 2³²
Netzwerkkarte löscht den ersten Teil
SwitchMAC-Dest.
- MAC-SRC
Ethernetframe
IEEE -> Institute Electrical Electronic Engineers http://Standards.iee.org Ethernet II oder IEEE 802.3 | 7 bytes 0101010101010101010101010101 | 1 byte 10 ... 11 Header wird nicht mitgezählt | 6 byte MAC DST 00:02:01:CF:E3:12 Herst. | Fortlaufende Nr. Kennung OUI -> Organisation Unique Identifier 00:00:00 -> Xerox 00:00:0C -> Cisco
http://standards.ieee.org Registration OUI Ethernet II C:/>ipconfig / all | 6 byte MAC-Destination | 6 byte MAC SRC an wen und von wem | 2 byte = Kennung z.B. IEEE 0800 <- IP-Paket, oder Länge (2048) | 46 < byte > 1500 - Nutzdaten | 4 byte CRC Prüfsumme über die Nutzdaten cylic redunanz ...crc|Prüfsumme +|_____ polynom division polynom 2³² 18 byte09.11.2004 nwt
MAC - Media Access Controll
MAC-Adressen:
http://standards.ieee.org Registration OUI windows: cmd ipconfig /all unsichtbar ->| Prüfsumme ab hier gerechnet 8 byte | 6 byte 6 byte 2 byte 46 < * <1500 4 byte 1010101 ..... 1011 Mac destination mac src länge/kennung Daten crc|Prüfsumme polynom division polynom 2³² Netzwerkkarte löscht den ersten Teil Switch MAC-Dest - MAC-SRC _______________________ | Switch | Tabelle | | MAC Port | | xSRC 1 | | xSRC 4 |_|1|_|2|_|3|_|4|_|5|___| . | . MAC-DEST . | MAC-SRC | Kennug oder Länge | Daten | Prüfsumme
Solange ist erst mal nur ein Port bekannt und die Daten werden auf alle anderen Ports verteilt. Wenn z.B. Port 4 sich meldet trägt er dort die SRC ein und hat dann schon zwei Einträge in seiner Tabelle. Da an jedem Port ein weiterer Port hängen kann muß die Tabelle schon für jeden Port mehrere Einträge ermöglichen.-
Wenn ein Rechner eingeschaltet wird: AUTOSENSING ___________ Der Switch testet welche Geschwindigkeit er sprechen kann: 10 Mbit, 100 Mbit oder 1 Gigabit. HALFDUPLEX | DUPLEX ___________________ Der Switch testet ob er gleichzeitig senden und empfangen kann oder nur halfduplex vorliegt. Ethernetframe erkennen ______________________ BROADCAST FF:FF:FF:FF:FF:FF (-1) ________________________________ sendet er zuerst einen Broadcast, um sich am System anzumelden. Dabei wird das komplette Paket gesendet und der Switch kann die MAC-SRC der Netzwerkkarte indentifizieren. UNICAST 00:01:02:01:00:00 MULTICAST 01:80:C2:00:00:01 -> Gruppe aller Switche Cut through ___________ Sobald der Switch die MAC-Dest. erkannt hat, kann er durchschalten Store forward _____________ Die handelsüblichen Switche für 20,- Euro arbeiten aber nach dem Store forward - Verfahren, d.h. der Switch schaltet erst nach überprüfen von CRC Checksum (Prüfsumme) durch. Sniffer _______ Dazu muß ich dem Switch mitteilen, das ich die MAC-Adressen habe, die er gerade sendet, d.h., ich muß die Tabelle lesen können, die der Switch erstellt hat. AUßerdem muß ich meine Netzwerkkarte im promiscous Mode -> fahren. D.h Netzwerkkarte akzeptiert auch frames für andere Netzwerkkarten (MAC-Adressen) Funknetzkarten können dies normalerweise nicht. Kollosion _________ Bei 10 MBit/sek. wie lang ist ein Bit? Kupferkabel senden mit 2/3 Lichtgeschwindigkeit == 200.000 km/sek. 10 MBit -> 10 KB/µsek. -> 1 Bit/100 nanosek. 200.000 km/sek. -> 200.000 m/µsek. -> 200 m/nanosek. 20m/100 nanosek. 1 bit bei 10 MBit/sek. 100 nanosek. -> 20 meter weit d.h. es werden mindesten 5 bit/100 meter gesendet. Ich kann Kollisionen aber nur erkennen, wenn gleichzeitig beim Senden ein anderes Signal empfangen wird. Darum gibt es die Längenbegrenzung der Netze. 10base5 oder 10base2 PC PC PC | | | |_______|_______| ________________________ |Station ist sendebereit | |________________________| | | /\ / \ / \ / \ /horchen \____________<_______ /\ /\ ^ / \ / \ | / \ / \ | / \ / \ | / \/ \ | \ / | \ falls / | \ Leitung / | \ frei / | \ / | \ / | \ / | \ / | \ / | \/ | | | | | ________|________ | | Daten senden | | |_______________| | | Leitung | ____^_____ | abhören | |Zufalls- | |_______________| |zeit ab- | |__warten__| | ^ /\ K ____|_____ / \ O |JAM-Signal| / \ L |__________| / \ L ____^_____ /Leitung \_____NEIN_I____|Abbrechen | \ frei / S |__________| \______/ I \ Ja / O \ / N \/ | ________|_______ | | | Fertig | |_______________| Algorithmus heißt: CSMA/CD Carrier sense media access/collision detect Vorläufer von ALLOHA |______PC/A_____PC______PC______PC______| | * | | | | ___<___*____<__|____<__|___<___|___<___ | | | ^ __|__ __|__ | |Bridge Bridge| | |_____| |_____| | | | ^ |___>_______>______>_______>________>___| | | | | PC PC PC PC |_______|_______|_______|_______|_______| In solch einem Netz kann es zu Loops kommen. D.h. Ein Paket läuft im Kreis von einer Bridge zu nächsten und die Tabelle der Bridges hat auf beiden Ports Rechner A. Um dies zu vermeiden wird ein Protokoll verwendet, das Spanning Tree genannt wird. Ein Protokoll, welches Netzwerkschleifen verhindert.- Jede Bridge ID ist zufällig erstellt. Die Bridge mit der kleinsten ID wird Root. Die Root wird über Rundruf (multicast) ermittelt. \/ \/ \// \/ \__\_/_\__/ \ / \/ | * root Danach werden Wegekosten berechnet und der kürzeste Weg bzw. die höchste Geschwindigkeit bevorzugt. Die anderen Ports werden abgeschaltet. *____* /\ /\ / \ / \ *____*___* \ / \ / \/ \/ *___* Jede Bridge ist erreichbar über einen Port alle andern werden gesperrt. Alternativ könnte auch ein Loopfreeswitch eingesetzt werden, der Loops erkennt und verwirft. 23.11.04 Router ## C:\>route print ## unter Windows muß der Dienst RAS gestartet werden (man kann auch einen Rechner mit 2 Netzwerkkarten einsetzen und sich die Software aus dem Internet beziehen, z.Bsp. Linux-router) Verbindet Netze mit unterschiedlichen Topologien: Hub Schicht 1 Bitübertragungsschicht - Kollisionen sind überall sichtbar Switch/Bridge Schicht 2 Ethernetrahmen mit MAC-Adressen - Kollisions Domäne Router Schicht 3 IP-Adressen - Broadcast Domäne Der Router kann unterschiedliche Schicht 3 Protokolle. Z.Bsp. Ethernet, ATM, DSL Wireless u.a. Schicht 3 Protokolle sind IP, IPX, ATM ... - unterschiedliche Zugriffsarten sind möglich - Wegewahl in vermaschte Netze - benutzt Schicht 3 Adressen zur Wegewahl. Muß nicht IP sein! - verstärkt Signale, refreshed. - Zugriffsteuerung über Accessliste - Broadcastdomain:: broadcast und multicast werden nicht weitergeleitet nur unicast - Netztrennung von Segmenten unterschiedlicher Sicherheitsniveaus - Router arbeitet auf Schicht 3 Adressen um Gruppierungen bilden zu können www.netzmaffia.de/scripte/Datenverkehr 1.2.10 IP-Adressen und Netzmasken Auf dieser Seite wird die Beziehung zwischen IP-Adressen und Netzmasken erläutert. Wenn Computern IP-Adressen zugeordnet werden, stellen einige der Bits auf der linken Seite der 32-Bit-IP-Zahl ein Netz dar. Die Anzahl der bezeichneten Bits hängt von der Adressklasse ab. Die übrigen Bits der 32-Bit-IP-Adresse kennzeichnen einen bestimmten Computer im Netz. Ein Computer wird als Host bezeichnet. Die IP-Adresse eines Computers besteht aus einem Netz- und einem Hostabschnitt. Mit einer zweiten 32-Bit-Nummer, einer so genannten Subnetzmaske, wird einem Computer mitgeteilt, wie die 32-Bit-IP-Adresse aufgeteilt wurde. Diese Maske bestimmt, wie die IP-Adresse zu interpretieren ist. Sie gibt an, wie viele Bits zur Kennzeichnung des Netzes des Computers verwendet werden. Die Subnetzmaske wird dazu von links der Reihe nach mit Einsen gefüllt. Eine Subnetzmaske umfasst immer ausschließlich Einsen, bis die Netzadresse bestimmt ist. Danach folgen bis zum Ende der Maske ausschließlich Nullen. Die Bits in der Subnetzmaske, die den Wert 0 haben, bestimmen den Computer oder Host. Es folgen einige Beispiele für Subnetzmasken: 11111111000000000000000000000000 lautet in dezimaler Punktnotation 255.0.0.0 11111111111111110000000000000000 lautet in dezimaler Punktnotation 255.255.0.0 Im ersten Beispiel stellen die ersten acht Bits von links den Netzabschnitt der Adresse dar, während die letzten 24 Bit den Hostabschnitt der Adresse darstellen. Im zweiten Beispiel stellen die ersten 16 Bits den Netzabschnitt der Adresse dar, während die letzten 16 Bits den Hostabschnitt der Adresse darstellen. Die IP-Adresse 10.34.23.134 lautet in binärer Schreibweise: 00001010.00100010.00010111.10000110 Durch ein Boolesches UND der IP-Adresse 10.34.23.134 und der Subnetzmaske 255.0.0.0 wird die Netzadresse dieses Hosts bestimmt: 00001010.00100010.00010111.10000110 11111111.00000000.00000000.00000000 00001010.00000000.00000000.00000000 Umgerechnet in die dezimale Punktnotation lautet der Wert 10.0.0.0. Dies ist der Netzabschnitt der IP-Adresse, wenn die Subnetzmaske 255.0.0.0 verwendet wird. Durch ein Boolesches UND der IP-Adresse 10.34.23.134 und der Subnetzmaske 255.255.0.0 wird die Netzadresse dieses Hosts bestimmt: 00001010.00100010.00010111.10000110 11111111.11111111.00000000.00000000 00001010.00100010.00000000.00000000 Umgerechnet in die dezimale Punktnotation lautet der Wert 10.34.0.0. Dies ist der Netzabschnitt der IP-Adresse, wenn die Subnetzmaske 255.255.0.0 verwendet wird. Dies ist eine kurze Darstellung der Wirkung, die eine Netzmaske auf eine IP-Adresse hat. Die Bedeutung von Masken wird noch wesentlich klarer, je mehr mit IP-Adressen gearbeitet wird. Jetzt kommt es nur darauf an, den Begriff der Maske zu verstehen. IP-Adressen ___________ hierarchischer Netzraum Netzklasse __________ 1 Byte Netzadress, 3 Byte Rechneradresse Class A 01000000 - 01111111 < 127.0.0.0 2^6 = 64 2^0 = 1 2^1 = 2 2^2 = 4 2^3 = 8 2^4 = 16 2^5 = 32 _________ + 63 _________ = 127 255.0.0.0 Netzmaske 2 Byte Netzadresse, 2 Byte Rechneradresse Class B 10000000 - 10111111 128. - 191.0.0.0 2^7 = 128. + 63 _________ = 191 255.255.0.0 Netzmaske z.Bsp. 160.20.10.100 >> 160.20.0.0 = Netzmaske 0.0.10.100 = HostID 3 Byte Netzadresse,1 Byte Rechneradresse Class C 11000000 - 11011111 192. - 223.0.0.0 2^7 = 128 + 2^6 = 64 _________ = 192 + 2^4 = 16 + 2^3 = 8 + 2^2 = 4 + 2^1 = 2 + 2^0 = 1 _________ = 223 225.255.255.0 Netzmaske z.Bsp. 192.168.0.15 >> 192.168.0.0 = Netzmaske 0.0.0.15 = HostID Multicastadressen: D 11100000 - 11101111 224. - 239.0.0.0 experimentelles Netz: E 11110000 - 11110111 240. - 247.0.0.0 www.iana.com IP-Adress-Service www.denic.de RFC 791 Request for coments kostenlos zu erhalten Internet Header Format Total Length - Headerlength (32bit!) mindestens 576 byte time to live Zähler beginnt bei 256 und wird immer -1 gezählt. Das hat die Bedeutung, das kein Paket unendlich lange im Netz bleiben kann. Wenn der Zähler auf Null ist, dann wird eine Nachricht an den Absender geschickt und das Paket verworfen. Für ein Program wie z.Bsp. tracert (traceroute) wird die time to live auf 1 gesetzt und dann immer eins hoch gezählt. Dadurch erhalte ich zuerst den host nach meinem danach den nächsten und so fort, bis ich den gewünschten host erreicht habe. Meistens komme ich bis 10 und dann bin ich am Zielhost. C:\>tracert www.heise.de Private Adressen: RFC 1918 A 10.x.x.x B 172.16.x.x - 172.31.x.x 127.0.0.1 ist der eigene Rechner - loopback-Adresse C 192.168.x.x LABORÜBUNG: ___________ Netzwerkumgebung \ rechte Maustaste \ Eigenschaften on Board LAN 192.168.1.2 extern LAN 192.168.2.1 ipconfig zeigt mir meine Netzwerkkarten ping kann ich überprüfen ob ich meine Nachbarnetze/hosts erreiche. route print zeigt mir die Konfiguration ipconfig /all Systemsteuerung\Leistung und Wartung\Verwaltung\Dienste\->Routing und RAS gestartet Starttyp - manuell - OK - starten - Übernehmen. -> Server starten route add 192.168.3.0 mask 255.255.255.0 192.168.2.1 route add 192.168.4.0 mask 255.255.255.0 192.168.2.1 route add 192.168.5.0 mask 255.255.255.0 192.168.2.1 route add 192.168.6.0 mask 255.255.255.0 192.168.2.1 route add 192.168.7.0 mask 255.255.255.0 192.168.2.1 ethereal Sniffer starten C:\Dokumente und Einstellungen\lara>arp Ändert und zeigt die Übersetzungstabellen für IP-Adressen/physikalische Adressen an, die von ARP (Address Resolution Protocol) verwendet werden. ARP -s IP_Adr Eth_Adr [Schnittst] ARP -d IP_Adr [Schnittst] ARP -a [IP_Adr] [-N Schnittst] -a Zeigt aktuelle ARP-Einträge durch Abfrage der Protokoll- daten an. Falls IP_Adr angegeben wurde, werden die IP- und physikalische Adresse für den angegebenen Computer ange- zeigt. Wenn mehr als eine Netzwerkschnittstelle ARP verwendet, werden die Einträge für jede ARP-Tabelle angezeigt. -g Gleiche Funktion wie -a. IP_Adr Gibt eine Internet-Adresse an. -N Schnittst Zeigt die ARP-Einträge für die angegebene Netzwerk- schnittstelle an. -d Löscht den durch IP_Adr angegebenen Hosteintrag. Die IP-Adr kann mit dem '*'-Platzhalter versehen werden, um alle Hosts zu löschen. -s Fügt einen Hosteintrag hinzu und ordnet die Internetadresse der physikalischen Adresse zu. Die physikalische Adresse wird durch 6 hexadezimale, durch Bindestrich getrennte Bytes angegeben. Der Eintrag ist permanent. Eth_Adr Gibt eine physikalische Adresse (Ethernetadresse) an. Schnittst Gibt, falls vorhanden, die Internetadresse der Schnittstelle an, deren Übersetzungstabelle geändert werden soll. Sonst wird die erste geeignete Schnittstelle verwendet. Beispiel: > arp -s 157.55.85.212 00-aa-00-62-c6-09 ... Fügt statischen Eintrag hinzu. > arp -a ... Zeigt die ARP-Tabelle an. C:\Dokumente und Einstellungen\lara