Wissenstest freiberuflichkeit Informatik
Vorbereitung zum Wissenstest für die Anerkennung der freiberuflichen Tätigkeit.
Vorbereitung zum Wissenstest für die Anerkennung der freiberuflichen Tätigkeit.
-
- 1 / 77
-
Flashcards
Der Prozessor und seine Teilwerke
Der Prozessor ist der Kern jeder Rechenanlage. Im Prozessor findet die Abarbeitung der Befehle statt.
Er zerfallt logisch in zwei Teile :
• das Leitwerk
• das Rechenwerk
Das Leitwerk (controlunit) steuert die Arbeitsweise des Rechenwerkes und der übrigen Komponenten der Rechenanlage auf Basis der schrittweisen Interpretation von Maschinenbefehlen.
Das Rechenwerk (calculation oder execution unit) enthält eine oder mehrere universelle oder spezialisierte arithmetische und logische Einheiten (arithmetic logic unit) ALU, die die Verknüpfung von Daten ermöglichen. Ferner umfaßt das Rechenwerk Speicherzellen zur Aufnahme von Operanden und Ergebnissen in Form von Registern
Maschinenbefehlszyklus
Die gemeinsame Arbeitsweise von Leitwerk und Rechenwerk wird durch den Maschinenbefehlszyklus beschrieben. Dieser umfaßt die verschiedenen Stufen der Verarbeitung eines Maschinenbefehls:
Befehlsholphase (BH)
Decodierungsphase (DE) (startet die Interpretation des Maschinenbefahls)
Operandenholphase (OP) (spezifizierte Operanden zur Verarbeitung zugeführt werden)
Ausführungsphase (AU) (verknüpft Operanden mit Komponenten des Rechenwerkes)
Rückschreibphase (RS) (Ergebnisse werden zurückgeschrieben)
Rückschreibphase (RS) (schaltet den Befehlszähler weiter)
BUSSE
Der Prozessor als Kern eines Rechensystems interagiert mit den restlichen Teilwerken über spezialisierte oder universelle Datenpfade, die sogenannten Busse. So ist der Prozessor über Busse mit dem Hauptspeicher verbunden, aus dem er die zur Verarbeitung bestimmten Befehle und Daten holt.
Unterbrechungswerk (interrupt control unit)
Das Unterbrechungswerk (interrupt control unit) akzeptiert Bedienungswünsche in Form von Einzelbitsignalen, synchronisiert ihr Eintreffen mit dem Prozessortakt und führt in Abhängigkeit der Abarbeitungsstrategie und des Maschinenbefehlszyklus zur Unterbrechung des laufenden Programmes und zum Einsprung in ein spezielles Unterbrechungsbehandlungsprogramm, das auf die gewünschte Unterbrechung reagiert.
Ein-/Ausgabe-Steuenverke (I/O control unit)
Ein-/Ausgabe-Steuenverke (I/O control unit) verschiedenster Art und Funktionalität (serielle/parallele Verbindung, Einzelwart-/Blockzugriff usw.) steuern die Kommunikation von Peripheriegeräten mit dem Systemspeicher.
(memory management unit, MMU)
Das Leitwerk erfüllt zudem noch die Aufgabe der Hauptspeicheradressierung
Die MMU (memory management unit) muß dabei die Adreßumsetzung für Seiten- und/oder Segmentadressierung durch Bereitstellung entsprechender Tabellen unterstützen.
Zur Beschleunigung des Zugriffs auf diese Tabellen wird jeweils ein aktueller Ausschnitt aus ihnen in speziellen, assoziativ organisierten Pufferspeichern für die Adreßumsetzung in den MMUs gehalten
(translationlookaside buffers,TLB).
Caches
Zur Beschleunigung der Arbeitsweise sehen moderne Architekturen ein- oder mehrstufige Caches als schnelle Pufferspeicher zwischen Hauptspeicher und Prozessor vor.
Logisch werden diese oft zum Leitwerk des Prozessors gezählt. Caches können gemeinsam für Befehle und Daten oder aber getrennt vorhanden sein (split cache). Sie müssen wiederum durch Cache-Verwaltungen mit entsprechender Adressprüfung usw. ergänzt werden.
Im Zusammenhang mit Multiprozessorsystemen müssen Cache-Verwaltungen Cache-Konsistenzverfahren enthalten.
Mikroprozessor
Der Mikroprozessor enthält die logischen Funktionen eines Prozessors auf einem einzigen hochintegrierten Halbleiterbaustein (integrated circuit. IC)
Der Begriff "Mikroprozessor" ist eigentlich nicht korrekt, denn heutige Mikroprozessoren
enthalten neben dem eigentlichen Prozessor zusätzliche Komponenten wie Caches,
Bussteuerung und anderes. Die Halbleitertechnologie mit ihrer Möglichkeit, heute mehr
als 1 Milliarde Transistorfunktionen auf einem Baustein zu integrieren, ist eine der
wesentlichen Voraussetzungen für die weite Verbreitung des Mikroprozessors, der heute
die häufigste physikalische Inkarnation des Prozessors ist.
Befehlssätze
CISC-Architekturen
RISC-Architekturen
Programmiersprachen Kriterien
Praktische Benutzbarkeit: Die Sprache soll es Programmierern erlauben, die ihnen gewohnten Denk- und Ausdrucksweisen zu verwenden. Umständliche und fremdartige Ausdrucksweisen mit Rücksicht auf theoretische Rechenmodelle oder praktische Implementierungsanforderungen sind unerwünscht.
Andererseits soll die Sprache die Benutzung von Spezialfunktionen, die der Rechner, das Betriebssystem, das Datenbanksystem usw. bereitstellen, nicht unnötig erschweren.
• Verständlichkeit und Genauigkeit der Spezifikation: Die Programmiersprache ist durch eine verbindliche Spezifikation vorgegeben: die Sprachbeschreibung, bei den gängigen Programmiersprachen fast immer eine internationale Norm. Je einfacher diese Beschreibung ist, desto weniger Mißverständnisse und Fehler gibt es beim Schreiben und beim Lesen von Programmen.
Programmiersprachen
Algol60, Simula 67,Algol68, Snobol4, Pascal, Fortran 77, pearl , Smalltalk 80, Modula-2, COBOL, C , C++, Fortran 90, Fortran 95, SML, Eiffel, Acta, Java, C# und Fortran2003
Definition Programmieren
Programmieren im Sinne der Informatik heißt, ein Lösungsverfahren für eine Aufgabe so zu formulieren, daß es von einem Computer ausgeführt werden kann. Der Vorgang beginnt in der Regel mit der Entwicklung einer Lösungsidee (grobes Schema des zu entwickelnden Programms), die dann schrittweise durch Konkretisierung von Einzelheitenverfeinert wird, bis schließlich, wenn alle Details feststehen, das gesuchte Programm fertig ist.
Zur Unterstützung dieses Vorgangs gibt es verschiedene Programmierparadigmen, die man nach dem zugrundeliegenden Modell als imperativ, funktional oder logisch klassifiziert.
Definition: Algorithmus
Ein Algorithmus ist eine präzise. d.h. in einer festgelegten Sprache abgefaßte, endliche
Beschreibung eines schrittweisen Problemlösungsverfahrens zur Ermittlung gesuchter
Größen aus gegebenen Größen, in dem jeder Schritt aus einer Anzahl ausführbarer eindeutiger
Aktionen und einer Angabe über den nächsten Schritt besteht
Die einzelnen Algorithmen können als ,.schwarze Kästen" betrachtet werden. Dies ist das
Prinzip der prozeduralen Abstmktion. Ein Algorithmus wird dann auch Prozedur genannt.
Deflnition: Prozedur
Eine Prozedur ist eine Folge von Anweisungen (Aktionen), die einen in sich abgeschlossenen
Programmteil darstellt. der von einem anderen Programmteil aus aufgerufen, d.h. ausgeführt. werden kann.
Eine Prozedur hat eine Schnittstelle. die ihren Namen, die zulässigen Eingabeobjekte
(auch Argumente genannt) und das Resultat, d.h. die nach der Ausführung vorliegenden
Resultatobjekte, speziflziert.
Programmsystem, Programmstruktur
Die Entwicklung eines Programmsystems und seine Zerlegung in Prozeduren erfordert
eine systematische. methodisch abgestützte Vorgehensweise. Das Ziel dabei ist die Meisterung
der Komplexiüit des Entwurfs- und Implementierungsprozesses und eine qualitativ
akzeptable Programmstruktur.
Entwurfs- und Zerlegungstechniken
Zielgerichteter Entwurf. Die Grundidee dazu geht auf E.W. Dijkstra und N. Wirth zurück.
Programmentwicklung beginnt mit der Analyse der Aufgabe. Ausgehend davon wird die Aufgabe in Teilaufgaben zerlegt und dieser Vorgang wiederholt, bis die Teilaufgaben so einfach geworden sind, daß man einen Algorithmus für ihre Lösung formulieren kann, der sich nur noch aus elementaren Anweisungen zusammensetzt.
Kompositioneller Entwurf. Die Grundidee dabei ist, daß ausgehend von einer Menge vorgegebener elementarer Operationen, durch Kombination dieser Operationen sukzessiv; mächtigere Operationen (vorzugsweise in Form von Prozeduren) gebildet werden, bis man schließlich alle zur Lösung einer bestimmten Aufgabe benötigten Operationen realisiert hat.
Definition: Modul
Ein Modul ist eine Sammlung von Algorithmen und Datenstrukturen zur Bearbeitung einer in sich abgeschlossenen Aufgabe. Die Verwendung des Moduls (d.h. seine Integration in ein Programmsystem)
erfordert keine Kenntnis seines inneren Aufbaus und der k.onkreten Realisierung der
gekapselten Algorithmen und Datenstrukturen, und seine Korrektheit ist ohne Kenntnis seiner Einbettung in ein bestimmtes Programmsytem nachprüfbar.
objektorientierte Programmierung
Objekte
Ein Objekt ist wie ein Verbund aufgebaut. enthält aber zusätzlich zu Werten auch Methoden
Nachrichten
Der Mechanismus, der dazu dient, eine Methode eines Objekts aufzurufen, wird als Nachricht (message) bezeichnet
Klassen
Um In objektorientierten Programmen Gemeinsamkeit auszudrücken, faßt man gleichartige Objekte zu Klassen zusammen
Methoden
welche Methoden (Aktionen) die Objekte als Reaktion auf die Nachrichten ausführen sollen
objektorientierte Programmierung:
Ableitung von Klassen
Viele Klassen sind einander ähnlich und unterscheiden sich nur in Details. Vererbung (inheritance) gestattet die Bildung einerneuen Klasse, indem man von einer bestehenden Klassse ausgeht und beschreibt. worin sich die neue Klasse von der bestehenden unterscheidet.
Man spricht dann davon, von einer Basisklasse (base class) eine neue Klasse
(ahgeleitete Klasse, derived class) abzuleiten.
Datenbankverwaltungssysteme (database management systems, kurz DBMS)
Anforderungen und Eigenschaften
Datenbasis, Datenbank. Eine Datenbasis ist eine Menge von Daten, die aus Sicht der Systembetreiber in irgendeiner Weise als zu sammengehörig betrachtet werden
Dauerhaftigkeit - Daten solange aufbewahren, bis sie explizit gelöscht werden
Integrität - nur korrekte und widerspruchsfreie (,.konsistente'') Daten in die Datenbank gelangen zu lassen
Anwendungsunabhängigkeit -
Flexibilität und Bequemlichkeit -
Größe - darf lediglich durch die vorhandene (Hintergrund-) Speicherkapazität begrenzt sein
l\lehrfachbenutzbarkeit - muß in vielen Fällen zur gleichen Zeit von mehreren Anwendungen aus verwendet werden (database sharing)
Datenmodell
Damit die Metadaten auch maschinell gut verarbeitbar sind, wird ein formales Rahmenwerk für Datenbeschreibungen
benötigt, das sog. Datenmodell
Datendefinition
Die Festlegung konkreter Datenbeschreibungen (als Vorgang und als Ergebnis) heißt Datendefinition
DBMS - Zugriffsschutz
Die Zugriffskontrolle eines DBMS arbeitet gewöhnlich nach dem Prinzip des positven Schutzsystems: alles ist verboten, was nicht explizit erlaubt ist.
Zu diesem Zweck prüft das DBMS bei jeder Operation, ob sie im Rahmen der aktuell vorliegenden Autorisierungen zulässig ist oder nicht. Nur im Falle einer erfolgreichen Prüfung wird die Operation auch tatsächlich ausgeführt. andernfalls erfolgt eine Fehlermeldung
Datenbankentwurf
Das heute gängigste semantische Modell ist das Gegenstands- /Beziehungsmodel (entity/relationship model, ERM), das eine abstraktere Beschreibung der Umwelt als das Relationenmodell gestattet;
neuerdings gewinnen auch objektorientierte Modellierungsansätze wie vor allem
UML (unified modefing language) an Bedeutung
Normalformen
Ist der Entwurf (noch) nicht gut genug, muß normalisiert werden. Dies bedeutet eine Zerlegung von Relationen nach bestimmten Kriterien, so daß aber insgesamt der Informationsgehalt erhalten bleibt.
Normalformen und Normalisierung haben vor allem dann ihre Bedeutung, wenn nicht mit dem ERM gearbeitet wird
OSI-Modell ("Reference Model for Open System Interconnection")
Das Modell beschreibt lediglich, welche Aufgaben die Schichten erledigen sollen.
Das "Reference Model for Open System Interconnection" wurde von der Organisation ISO 1983 (Vorarbeiten seit 1977) zum internationalen Standard erklärt. Das Modell will durch Festlegungen auf den verschiedenen Ebenen eine allgemeine Kommunikationsstruktur definieren, damit heterogene Rechnerwelten miteinander in Verbindung treten können. Hier ist die grundlegende Einteilung, wie sie das Modell vorsieht:
OSI-Schicht I
OSI-Schicht I . die Bitübertmgungsschicht Ph, handhabt den Bitstrom zwischen physisch verbundenen Systeme n . Entsprechende Dienste legen die elektrische Darstellung der Bits ( Leitungscodierung) und Eigenschaften von Kabeln und Steckern fest .
OSI-Schicht 2
OSI-Schicht 2, die Sicherungsschicht D , bietet einen gesicherten Paketstrom zwischen physisch verbundenen Systeme n . Der Bitstrom wird in numerierte und quittierte Pakete (Rahmen ,.frames) zerlegt. Für lokale Netze . bei denen sich mehrere Knoten ein physisches Medium teilen hat sich eine Untergliederung in Schicht 2a (Zugangsprotokoll
zum Medium: media access control) und 2b (Fehlererkennung und Überlastkontrolle für Empfänger: logical link control) durchgesetzt.
OSI-Schicht 3
OSI-Schicht 3 , die Vermittlungs- oder Netzwerkschicht N, bietet durchgehenden Pakettransport
zwischen Endsystemen an. Dort werden Wege zwischen nicht physisch verbundenen Knoten
gefunden (Wegewahl) und Pakete weitergeleitet (Vermittlung)
OSI-Schicht 4
OSI-Schicht 4. die Transportschicht T, leistet die Übertragung von Datenpaketen zwischen
Betriebssystemprozessen und verbirgt dabei Topologie und Eigenschaften des Netzes.
Diese ,.Ende-zu-Ende"-Übertragung erfolgt häufig verbindungsorientiert
OSI-Schicht 5
OSI-Schicht 5. die Kommunikationssteuerungsschicht S, erlaubt die Strukturierung einer
oder mehrerer aufeinanderfolgender Transport-Verbindungen . Dazu kann das Recht
zum Aufruf bestimmter Dienstprimitiven zwischen Nutzern geregelt werden .
Die Datenübertragung kann in Abschnitte gegliedert werden, vor allem als Basis für
Rücksetz -Operationen .
OSI-Schicht 6
In OSI-Schicht 6 , der Darstellungsschicht P, wird die Datendarstellung für heterogene
Endsysteme harmonisiert. Über ein einheitliches Zwischenformat (Transfersyntax )
wird die Binärcodierung der Basisdatentypen zwischen Rechnerarchitekturen und Programmiersprachen
angepaßt . Definitionen komplexer Datenstrukturen können zwischen kommunizierenden
Prozessen ausgetauscht werden (abstrakte Syntax) .
Protokollmechanismen zur Systemleistungsanpassung
Flußsteuerung .
Dieser Mechanismus schützt die Empfangsinstanz und den empfangenden Nutzer vor Überlast
Stauvermeieidung .
In überlasteten Netzen kann der Durchsatz drastisch sinken . Explizite Stauvermeidung,
etwa durch eine feste Anzahl von umlaufenden Containern (die leeroder voll sein können) ,
ist selten; häufig begrenzt das Netz statt dessen die Anzahl angebotener Verbindungen
Ratenkontrolle . In der Kommunikation multimedialer Daten über geographisch große
Distanzen ist die Datenmenge , die ein Sender zwischenspeichern kann . schnell erschöpft .
Das Warten auf Quittungen führt dann zu Stop-and-Go-Betrieb. Statt eine Flußsteuerung
müssen sich Sende- und Empfangsinstanz an eine maximale Datenmenge pro Zeiteinheit (Rate) halten.
CSMA/CD.
CSMA/CD. Ein grundlegendes Verfahren dieser Netze ist CSMA/CD (carrier sense multiple
access collision detection ) : Bevor eine Datenübertragung beginnt, wird der Zustand
des Netzes von der sendewilligen Station geprüft . Überträgt keine andere Station Daten,
darf die sendewillige Station zu diesem Zeitpunkt versuchen zu senden
Ethernet
Ethernet ist ein CSMA/CD-Verfahren , das heutzutage fast alle anderen drahtgebundenen LANs verdrängt:
Es ist sehr günstig und flexibel einsetzbar. Das heute verfügbare Ethernet bietet eine Datenrate
von 10 Mbit/s (IEEE 802 .3a bis 802 .3j und 100 Mbit/s (Fast Ethernet, IEEE 802 .3u, 802 .3y ) .
Es existieren seit einiger Zeit auch Varianten des Ethernets mit I G Bit/s (Gigabit Ethernet, IEEE 802 .3z bis 802 .3ab) und I0 GBit/s . Ab I GBit/s werden die Netze für Backbones (schnelle Verbindungen zwischen LANs) verwendet.
Lokale Funknetze
Lokale Funknetze wurden erstmalig 1997 im Standard IEEE 802.11 definiert .
Man setzt sie im Bereich von 2 .4 GHz ( IEEE 802 . l l b und IEEE 802 . l l g) und 5 GHz (802 .l l .a)
für Übertragungsraten von 54 Mbit/s e i n . Der Zugri ff auf diese Frequenzen
wird dabei im allgemeinen durch CSMA/CA - eine Abwandlung von CSMA/CD
geregelt; außerdem können Datenpakete an nur einen Empfänger nach dem Empfang
bestätigt werden .