Skriptum Grundzuege der IT Zusammenfassung

Transcription

Skriptum Grundzuege der IT Zusammenfassung
© Florian Müller
Informationstechnologie
Kapitel 1: Einführung
(Inhalte und Bereiche der Informatik, Begriffsdefinition, Dualsystem, Binärcodierung)
bit: (binary digit) =Zustand 0 oder 1
byte: kleinste adressierbare Dateneinheit; → kilo → mega → giga → tera
wachsende Informatiosflut, wirtschaftliche Notwendigkeit → starke Treiber für die Entwicklung der
Informatik
Theoretische Informatik
fundamentale Erkenntnisse, Grundlagen
Technische Informatik
funktioneller Aufbau
Praktische Informatik
beschäftigt sich mit Software
Angewandte Informatik
Rechnereinsatz für verschiedene Anwendungsgebiete
Wirtschaftinformatik:
● Schnittstelle zwischen Wirtschaftswissenschaften und Informatik
● befasst sich mit Planung, Entwicklung, Implementierung
● zur Unterstützung der ablaufenden Geschäftsprozesse und zur strategischen
Entscheidungsfindung
● 2004 wurde ERCIS gegründet (European Research Center for Information Systems) →
internationales Forschungszentrum für winf
Wichtige Zahlensysteme
● Dualsystem 0,1
● Oktalsystem 0,1,2,3,4,5,6,7
● Hexadezimalsystem 0-7, A-F
Umrechnung zwischen Zahlensystemen
● Dezimal to Dual: Zahl immer durch 2 dividieren; wenn Rest=1, dann 1 wenn Rest=0, dann 0
(vgl. 23=10111)
● Dual to Dezimal: z.B.: 1001=9, weil 1*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 9
● Hexa- to Dezimal: 3C7=967, weil 3*16^2 + C (=12)*16^1 + 7*16^0 = 967
Binärcodierung
● Code: eindeutige Vorschrift zur Abbildung eines Zeichenvorrates in einem anderen
Zeichenvorrat
● ASCII-Code: (American Standard Code for Information Interchange); weit verbreitet, Zeichen
werden aus einer Folge von 8 Bit dargestellt → daraus ergeben sich 2^8=256 mögliche
Kombinationen
● UNI-Code: entstand 1990 weil der ASCII Code nicht für alle Sonderzeichen ausreichte → 16 Bit
Länge – 2^16=65536 mögliche Kombinationen
● EBCDI-Code: (Extended Binary Coded Decimals InterchangeCode), auch IBM-Code genannt,
wird meist in bei Großrechnern verwendet
Datei
●
= Strukturierter Bestand inhaltlich zusammengehöriger Daten
© Florian Müller
●
●
Textdatei: jedes Byte steht für einen Buchstaben
Pixelgrafik, Audiodatei: große Menge an Daten → meist komprimiert
Datenkompression
● = Verfahren zu Reduktion des Speicherbedarfs
● verschiedene Algorhythmen zur Codierung: LZW Codierung – in Teilketten zerlegt – in eine
Tabelle eingetragen und mit Indizes versehen – statt Teilkette werden nur noch Indexwerte
gespeichert
● bekannte Formate: jpg, gif, png, mp3, aac, vorbis, mpeg, wmv, divx, xvid...
Grundlegende Begriffe
1. Daten: unstrukturierte Gebilde aus Zeichen
2. Information: Kenntnis von Daten, Fakten und deren Zusammenhänge mit einer bestimmten
Bedeutung (erfüllen einen Zweck)
3. Wissen: kontextabhängiges Einsetzen von hoch strukturierten Informationen
● Wissensmanagement versucht Wissensfluss von Unternehmenserfolg zu steigern
● Zeichen + Syntax = Daten + Zweckbezug = Information + Interpretation = Wissen
Kapitel 2: Hardwarekomponenten und deren Funktionalität
(Rechnerarchitektur, Computersysteme, Speicher und Speicherleistung, Befehlszyklus und
Bussystem, IRQ, Bewertung der Rechenleistung, Aufbau einer Compis, Datenein-/ausgabe,
Speichermedien, Schnittstellen, Bluetooth)
Entwicklung des Computers
● Charles Babbage: “difference engine” und “analytical engine” - mechanische
Rechenmaschinen, die als Vorläufer des modernen Computers gelten
● Jhon von Neuman: “Von-Neuman-Architektur” (Daten und Programm im selben Speicher)
● Konrad Zuse: 30er Jahre: erstes programmgesteuertes Rechengerät; konnte auch
Gleitkommazahlen verarbeiten
● Steve Jobs: & Steve Wozniak → Apple (revolutionäre grafische Oberfläche)
● Bill Gates: & Paul Allen → Auftrag ein OS für IBM zu entwickeln – Höhenflug für Microsoft!
Computersysteme
● Personal Computer (PC): ursprünglich für einfache Aufgaben – heute Multimedia
● Workstations: ursprünglich hohe Rechen und Grafikleistung für Forschung und Wissenschaft,
Multitasking- Multiuser, UNIX → heute der Leistung von PCs ähnlich
● Mainframes: Großrechner, meist für wissenschaftlice-technische Berechnungen;
Mehrprozessorsysteme
Rechnerarchitektur
(siehe Grafik Seite 15!)
8 Prinzipien der von Neuman-Architektur
1. Rechner räumlich und logisch in Rechenwerk, Hauptspeicher, Steuerwerk und
Ein-/Ausgabewerk eingeteilt
2. Speicherprogrammierung; Ein Programm wird im Speicher abgelegt
3. Gleichheit von Programmen und Daten: werde beide in einheitlichem Speicher abgelegt
4. Adressspeicherung: jeder Speicherplatz erhält eine numerische Adresse, über die Daten
abrufbar sind
5. Sequentielle Programmspeicherung: aufeinanderfolgende Programmbefehle werden in
aufeinanderfolgenden Speicherplätzen abgelegt
6. Verfügbarkeit von Adresssprüngen: nach einem Befehl einer bestimmten Adresse kann ein
anderer Befehl einer anderen Adresse ausgeführt werden
7. Verfügbarkeit bedingter Sprungbefehle: wenn a= 1 dann b, wenn Bedingung p=wahr, dann was
© Florian Müller
anderes
8. Verwendung des dualen Zahlensystems
Speicher
● Register: kleinste Einheit von Speicherzellen im Prozessor; als Instruktions/Befehlzählregister
● Cache Memory: Speicherchip mit besonders schnellem Zugriff; Puffer zwischen
Arbeitsspeicher und CPU
● Hauptspeicher
○ RAM (Random Access Memory) – hält Programme für CPU bereit
○ ROM (Read Only Memory)
■ EPROM (erasable programmable ROM)
■ EEPROM (electrically erasable ROM)
● Virtueller Speicher: Peripheriespeicher zur künstlichen Erhöhung des Hauptspeichers
verwendet (Festplatte aber viel langsamer als RAM)
● Peripheriespeicher
Befehlszyklus (von Neumann)
1. Befehl aus den Hauptspeicher holen
2. Befehl decodieren, Operanden-Adresse errechnen
3. Operanden holen
4. Befehl ausführen
5. Befehlszähler erhöhen
→ Punkt 4 wird vom Rechenwerk erledigt, den Rest macht das Steuerwerk (während Rechenwerk
Befehl bearbeitet, wird vom Steuerwerk bereits nächster Befehl vorbereite → “Pipeline-Prinzip”)
● Taktgeber (Quarzkristall) gibt Taktzeit vor → Kehrwert der Takzeit ist Taktrate (Mhz, Ghz)
Das Bussystem
● Bus = Leitung zwischen Computerbestandteilen (Adressbus, Datenbus, Steuerbus)
● interner Bus = Verbindungen innerhalb der CPU
● externer Bus = zwischen CPU und anderen Geräten (Drucker, Tastatur...)
● Busbbreite = Anzahl der gleichzeitig übertragenen Bits
● einige Busarten
○ ISA (Industry Standard Architecture) (IBM)
○ EISA (Exetended ISA)
○ VESA (Video Electronics Standards Association)
○ PCI (Peripheral Component Interconnect) (Intel)
IRQ
●
●
●
●
= um Kommunikation und Koordination zwischen Hardwareteilen zu steuern
jedes Gerät = ein bestimmtes Interrupt-Signal
Interrupt-Controller: kann bis zu 15 verschiedene Signale unterscheiden (z.B.: Tastatur = IRQ1
usw.)
Interrupt-Konflikt: 2 Bausteine verwenden die gleiche Leitung – unbrauchbare Daten
PCMCIA (Personal Computer Memory Card International Association)
● = Schnittstellenstandard für Zusatzgeräte in Notebooks
● PCMCIA Karten gibt es in drei verschiedenen Typen, die sich lediglich in der Bauhöhe
unterscheiden (3,3 – 5 und 10,5mm), ansonsten 68polig und 85,6 mal 54mm groß
Dateneingabe
● Semidirekte Dateneingabe (z.B.: Urbelege, Plastikkarten)
○ Daten werden mit Lesegeräten (z.B.: Strichcodeleser) in die Computeranlage eingegeben
● Automatische Direkteingabe (z.B.: Brandmelder)
○ Daten werden von Sensoren an Messgeräten erfasst und weitergeleitet
● Manuelle Direkteingabe (z.B.: Tastatur, Maus, Touch Screens...)
● Akustische Direkteingabe
○ über Mikrofon – die Computeranlage muss speziell ausgerüstet sein um die Sprache in
Daten umzuwandeln
© Florian Müller
Speichermedien
● Charakteristika für Speichermedien:
➢ Speicherkapazität
➢ Zurgiffszeit
➢ Preis
➢ Lebensdauer
➢ Art der Adressierung und des Zugriffs (wahlfrei oder sequentiell)
➢ Änderbarkeit des Speicherinhalts (lesen, schreiben, ...)
➢ Energieverbrauch
●
Es gibt sequentielle Speicher (Magnetspulen, Magnetbandkassetten) und Direktzugriffspeicher
(magnetische-, optische- und Halbleiterspeicher)
Aufbau magnetischer Speicher
● Daten werden auf einer magnetisierbaren Schicht auf einer Scheibe aus Aluminium gespeichert
● Einteilung in Spuren und Sektoren (Sektor = kleinste adressierbare Einheit; wird als ganzer in
den Arbeitsspeicher geladen)
● Zylinder (bei HDD): alle Spuren, die dieselbe Spurnummer tragen, sich aber auf
unterschiedlichen Platten befinden
Optische Speicherplatten
● Vorteile gegenüber magnetischen Speichermedien: Mobilität, niedrige Kosten, Eignung als
Archivmedium
● Speicherung der Information durch “Pits” und “Lands”, die sich entlang einer einzigen Spirale
aufreihen – Abtastung mittels Laserstrahl
Datenausgabe
● Indirekte Datenausgabe: Daten werden nur in maschinell lesbarer Form für spätere
Weiterverarbeitung ausgegeben (z.B.: wenn Computer miteinander kommunizieren)
● Direkte Datenausgabe: Visuelle oder akustische Datenausgabe (Sprachwiedergabe,
Sprachsynthese)
○ Druckausgabe - Impact Drucker: (Nadeldrucker, Band-Drucker, Daisy-Wheel) = Anschlag
über Farbband, wie Schreibmaschine
Drucktechniken
● Non-Impact Drucker
○ Tintenstrahldrucker: Tintentröpfchen werden durch Düsen gezielt auf das Papier
geschossen
○ Laserdrucker: Laserstrahl auf lichtempfindliche Schicht (Trommel) – auf den belichteten
Stellen wird Toner aufgetragen und auf das Papier übertragen – durch Wärme und Druck
fixiert)
○ Thermodrucker: sichtbares Bild auf Papier Hitzeentwicklung von Elektroden
○ Plotter: Vektor- oder Rasterplotter
● Zeichendruck/Seitendruck: Laser- und Tintenstrahldrucker drucken technisch bedingt immer
eine ganze Seite (auch wenn diese nur ein Zeichen enthält)
Schnittstelle – Interface
● Seriell: geht nur in eine Richtung (A zu B od. B zu A) ind Zeiteinheit t, ist langsam, aber stabil
● Parallel: gleichzeitig von A zu B und B zu A, dadurch schneller, aber störungsanfälliger
● USB: Standard von Intel, verdrängt seriell und parallel
Bluetooth
● 1998: IBM, Ericsson, Intel, Nokia und Toshiba gründen die “Bluetooth Special Interest Group” heute bereits 1420 Firmen dabei
● Bluetooth arbeitet zwischen 2,402 und 2,480 Ghz (=ISM-Band), welches weltweit frei und
unlizensiert ist. Reichweite liegt momentan zwischen 10 und 100 Meter.
© Florian Müller
Kapitel 3: Software Engineering
(Systemsoftware, Betriebsarten, Progrmmiersprachen, Prozedurale und objektorientierte
Programmirung, Algorithmen, Dateitypen und Datenstrukturen)
Systemsoftware
● = Bindeglied zwischen Hardware und Anwendungssoftware; steuert die Hardware so, dass sich
Anwendungssoftware ausführen lässt
● Hardware + Systemsoftware = Basissystem eines Informationssystems
● Hauptaufgaben der Systemsoftware
○ Steuerung rechnerinterner Abläufe
○ Überwachung und Protokollierung der Systemaktivitäten
○ Steuerung der Ein- und Ausgabegeräte
○ Steuerung der rechnerischen Abläufe
○ Koordination der abzuarbeitenden Programme
Bestandteile der Systemsoftware
● Betriebssystem (OS): Steuerung des Computers
○ Dienstprogramme: kleine Programme die Leistungsumfang und Handhabung des OS
verbessern
● Systemnahe Software: Programme die komplexe Aufgaben unterstützen (Debugger,...)
● Übersetzungsprogramme: um eine höhere Programmiersprache in Maschinensprache zu
übersetzen
Betriebsarten (= Art und Weise, wie Aufgaben abgewickelt werden)
● Viele Möglichkeiten des Kategorisierung: Anzahl, der Programme, Anzahl der Prozessoren,
Zeitliche Abwicklung, Anzahl der Benutzer, On/Offlinebetrieb
○ Mehrprozessorbetrieb erfordert aufwendigeres Betriebssystem und macht wegen dem
erhöhten Kommunikationsaufwand nur bis 8 Prozessoren Sinn
○ Stapelbetrieb: alle Anweisungen werden in eine Datei geschrieben (=Job). Erst wenn die
Aufgabe vollständig definiert ist, wird mit der Abarbeitung begonnen – während der
Abarbeitung kann der Auftrag nicht mehr modifiziert werden
■ der Auftrag wird zu einem bestimmten Zeitpunkt ohne weitere Benutzereingabe
begonnen
○ interaktiver Betrieb: Teilaufträge werden nach der Eingabe ausgeführt
■ Dialogbetrieb: ständiger Wechsel zwischen Benutzereingabe und Abwicklung der
Aufgabe
■ Prozessbetrieb: Eingabe erfolgt durch Messgeräten (Sensoren) – Echtzeitverarbeitung
○ Multi-User Betrieb
■ Teilhaberbetrieb: User arbeiten im Dialogbetrieb an einem Großrechner; verwenden das
gleiche Programm und den gleichen Datenbestand (typisch für Auskunfts- od.
Reservierungssysteme)
■ Teilnehmerbetrieb: User verwenden verschiedene Programme und/oder
Datenbestände; heute durch die Vernetzung von Rechnern abgelöst
Betriebssysteme
● Windows (am weitesten verbreitet), UNIX, Linux, OS/2 und OS/400 (beide von IBM), Open
VMS (Compaq), BS 2000/OSD (Siemens), MacOS (Apple)
Programmiersprachen (=Sprache zum Abfassen von Programmen)
● einzige Kommunikationsmöglichkeit zwischen Mensch und Maschine
● ist ein Problem genau beschrieben und wurde ein strukturierter Lösungsvorschlag gefunden,
kann der Algorithmus in eine Programmiersprache übersetzt werden
○ Syntax (“Lehre vom Satzaufbau”) -- Grammatik
○ und Semantik (“Lehre vom Satzinhalt”) -- Sinn
müssen stimmen
© Florian Müller
Grundkonzepte für Programmiersprachen
● jedes Programm wird in einer Sprache geschrieben (=Quellcode) und muss erst in
Maschinensprache übersetzt werden. Je nach Orientierung der Sprache gibt es 3 Arten von
solchen Übersetzungsprogrammen:
○ Assembler (“maschinenorientierte” Sprache)
○ Complier (“problemorientierte” Sprache)
■ Assembler & Complier funktionieren nach dem selben Prinzip: Quellcode wird
eingelesen und daraus wird ein ausführbarer Programmcode in einer neuen Datei
generiert. - Diese Datei kann dann unabhängig vom Complier ausgeführt werden.
■ Heutzutage fast nur noch Complier für professionelle Programmierung verwendet.
■ Moderne Complier oder Interpreter haben umfangreiche Sammlung von
wiederkehrenden Routinen, die bei Bedarf in den Programmcode eingebunden werden.
○ Interpreter (“interpretative” Sprache)
■ beim Interpreter werden die Anweisungen im Quellcode nacheinander analysiert und
unmittelbar ausgeführt (ein unabhängig vom Interpreter lauffähiges Programm kann
damit nicht erstellt werden)
■ der Vorteil liegt in der relativ schnellen Programmentwicklung und in der Möglichkeit des
schnellen Testens
Einteilung der Programmiersprachen
1. Generation: Maschinensprachen: Infos nur mit 0 und 1 dargestellt
2. Generation: Assemblersprachen: Befehle können zu Abkürzungen zusammengefasst werden
3. Generation: “höhere” Programmiersprachen: Anpassung an die englisch Sprache; Einsatz von
Unterprogrammen
4. Generation: Makro-Sprachen: einsatz in komplexen Programmsystemen (Vbasic, Lotus Script,
SQL, JavaScript)
5. Generation: Künstliche Intelligenz – Sprachen: geistige Fähigkeiten des Menschen werden
simuliert – Erkennen von optischen und akustischen Mustern... (Bsp: PROLOG
Beschreibungssprache für neuronale Netze)
Einige wichtige Programmiersprachen
● 3te Generation
○ FORTRAN: erste Sprache der 3. Generation
○ ALGOL: Typendeklaration zwingend vorgeschrieben und Funktionen definiert
○ COBOL: für betriebswirtschaftliche Anwendungen entwickelt
○ BASIC: einfache Struktur, Einstiegssprache einer ganzen Generation
○ PASCAL: einfach und unterstützt strukturierte Programmierung
● 4te Generation
○ C/C++: enthält hoch entwickelte, aber auch sehr maschinennahe Elemente; gut übertragbar
○ JAVA: Applets im Internet
○ C#: vom Microsoft entwickelt. Elemente aus vielen Programmiersprachen; im .NETFramework nutzbar
Prozedurale und objektorientierte Programmierung
● Prozedural
○ besteht aus Hauptprogrammen und Unterprogrammen
○ Programmabarbeitung prinzipiell sequentiell – Prozeduren können nur von Anfang bis zum
Ende durchlaufen werden
○ erlaubt strukturierte Programmierung (durch Einsatz von Prozeduren und Funktionen)
● Prozeduren und Funktionen
○ abgeschlossene algorithmische Einheiten
○ bestehen aus Sequenzen, Bedingungen, Schleifen, Prozedur- und Funktionsaufrufen
○ können Werte über Parameterliste zurückliefern
○ Prozedur = nur Eingangeswerte; Funktionen = Eingangswerte, genau 1 Ausgangswert
○ Wichtige Standardprozedur z.B. Bildschirmausgabe
○ Variablen beim Arbeiten mit Prozeduren:
■ globale Variablen: während der Laufzeit des gesamten Programms gültig
© Florian Müller
■ lokale Variablen: nur während der Laufzeit der Prozedur gültig
Objektorientierte Programmierung
○ hier wird versucht Objekte aus der realen Welt abstrakt darzustellen
○ Datenkapselung: Objekte werden von außen als unveränderlich angesehen – d.h. Objekte
können nicht durch Funktionen außerhalb des Objekts verändert werden
● Vererbung: damit bereits definierte Objekte erweitert werden können.
Algorithmus
● allgemein: Samlung von Regeln
● in der IT: Anleitung zur Lösung einer Aufgabe mit präzise formulierten
Verarbeitungsvorschriften und endlicher folge kleinster Schritte
● Kennzeichen
○ jeder Schritt muss eindeutig und ausführbar sein
○ jeder Algorithmus muss irgendwann zu einem Ende kommen
○ jeder Algorithmus besitzt Eingangs- und Ausgangsgrößen
●