Symbole & Signale Basiswissen IT

Werbung
RMA
Basiswissen IT
Ich glaube, es gibt einen weltweiten
Bedarf an vielleicht fünf Computern
(IBM-Chef Thomas Watson, 1943 )
Basiswissen IT
Rechnerarchitektur



Die meisten Computer besitzen die sogenannte
„Von-Neumann-Architekur“. Programm und
Daten teilen sich denselben Speicherbereich.
Erste Computer: Z1 (1937) und Z3 (1941) von
Konrad Zuse und ENIAC (1944) von Eckert,
Mauchly, Goldstine, von Neumann
1947 wird der Transistor erfunden und kann bald
die Röhren ersetzen.
„Künftige Computer werden vorausichtlich leichter als 1.5 Tonnen sein“
Basiswissen IT
Rechnerarchitektur

4 Komponenten:
1.
Arithmetisch-logische Einheit (ALU)
2.
Steuereinheit
3.
Speicher (RAM, ROM)
4.
Eingabe- und Ausgabeinheiten (Tastatur, Maus,
Bildschirm, Drucker, Harddisk, Netzwerkkarte etc)
(ALU und Steuereinheit heute normalerweise zur CPU (CentralProcessing-Unit) vereint.)


Die ALU rechnet (inkl. logische Operationen)
Die Steuereinheit holt Daten und Programmanweisungen
aus dem Speicher und führt die Anweisungen unter
Benutzung der ALU aus.
Basiswissen IT
Bits & Bytes - Binärzahlen




Heutige Computer basieren auf Binärzahlen
(Bits, ja/nein, 0 und 1),
Einfachere Realisierung von Binärarithmetik und
-logik mit elektrischen Schaltkreisen.
Binärsytem: Jede Stelle (Bit) entspricht einer 2er
Potenz.
Beispiel:
01101101 =
0*27 + 1 * 26 + 1*25 + 0 * 24 + 1*23 + 1* 22 + 0*21 + 1*20
= 64 + 32 + 8 + 4 + 1 = 109
Basiswissen IT
Bits & Bytes - Binärzahlen
Addition (und andere Arithmetik) genau wie im
Dezimalsystem:
00100011 = 3510
+ 01000101 = 6910
-------------------01101000 = 10410
 Einfach: Multiplikation mit 2 ist Linksshift, Division durch 2
ist Rechtsshift.
 Logische Operationen:
 NOT (~): ~1 = 0, ~0=1
 AND (&): 1 & 1 = 1, 1 & 0 = 0 , 0 & 1 = 0, 0 & 0 = 0
 OR (|) : 1 | 1 = 1, 1 | 0 = 0| 1 = 1, 0| 0 = 0
 XOR (^): 1 ^ 1 = 0 ^0 = 0, 1 ^0 = 0^1 = 1

Basiswissen IT
Bits & Bytes - Größen


Mit n Bits kann man 2n Zahlen darstellen.
Vorzeichen durch Zweierkomplement.
N
Name
Bytes Wertebereich
4
Nibble
0.5
0...15
-8 ...7
8
Byte
1
0...255
-128...127
16
Word
2
0...65.535
-32768...32767
32
Double
Word
4
0...4.2*109
-2.15 *109...+ 2.15 *109
Basiswissen IT
Bits & Bytes - Hexadezimalsystem




Sehr gebräuchlich ist das Hexadezimalsystem,
jede Stelle entpricht einer Potenz von 16
Neue Zeichen A=10, B=11, C=12, D=13,
E=14, F=15
Eine Stelle entspricht einem Nibble, zwei Stellen
einem Byte, 4 Stellen einem Word, 8 Stellen
einen Doubleword
Beispiel:
0xBAFF
= 11*163 + 10*162 + 15*161 + 15*160
= (47817)10
= 1011 1010 1111 11112
Basiswissen IT
Bits & Bytes - Gleitkommazahlen





Reelle Zahlen werden im Gleitkommaformat
dargestellt.
Form: z = m*be
„m“ heißt Mantisse, „b“ Basis, „e“ Exponent.
Beispiel:
314.1592 = 3.141592 * 102
Format im Computer (single precision):
Basiswissen IT
Bits & Bytes - Speicher


Speicher sind in Bytes (=8 bit) organisiert.
In der vorherrschenden 32-bit Architektur hat
jede Speicherzelle eine eindeutige Adresse von 4
Byte über die sie angesprochen werden kann.
Speichergrößen
Name
Definition
Kilobyte, kB
1024 Bytes
Megabyte, MB
1024 kB = 220 Bytes ~ 106 Bytes
Gigabyte, GB
1024 MB = 230 Bytes ~ 109 Bytes
Terabyte, TB
1024 GB = 240 Bytes ~ 1012 Bytes
Basiswissen IT
Bits & Bytes – ASCII Code

Zur Darstellung von Buchstaben wurde der ASCII Code
eingeführt (1968). Er benutzt nur 7-bit (0-127).
Basiswissen IT
Bits & Bytes – Beyond ASCII



ISO-8859 Code benutzt das 8.Bit zur
Kodierung westeuropäischer
Sonderzeichen (ä, ö, ü usw.)
Unicode definiert 1.114.112 Zeichen,
kodiert mit maximal 4 Byte.
Heute am gebräuchlichsten: UTF-8, stellt
Unicode mit Byteketten variable Länge
dar und enthält den ASCII Code.
Basiswissen IT
Betriebssysteme


Herzstück eines jeden Computers.
Betriebsysteme sorgen für die Verwaltung
und die Koordination der Ressourcen, z.B:




Prozessmanagement
Dateisystem
Ein- und Ausgaben
Unzählige: Z.B. Unix, Linux, VAX,
MSDOS, Windows, MacOS, NeXT, BeOS
usw.
Basiswissen IT
Betriebssysteme - Prozesse

Jedes Programm läuft als Prozess:




Multitasking (Nebenläufigkeit):

1.
2.
3.

CPU-Zeit
Speicherbereich
E/A- Zugriff
Scheinbare Gleichzeitig durch schnelles Wechseln
zwischen Prozessen. Drei Formen
Präemptives Multitasking
Koordiniertes Multitasking
Echte Parallelität
Multithreading


Threads (engl. Faden) sind „Unterprozesse“
Prozess übernimmt Koordination der ThreadRessourcen.
Basiswissen IT
Programmiersprachen
Maschinencode: Folge von „Binärzahlen“
die CPU als Befehle interpretiert.
 Assembler: Wie Maschinencode, mit
merkbaren Kürzeln (Mnemonics)
z.B.
jmp 0xffffff00
(springe zu Speicherstelle 0xffffff00)

Basiswissen IT
Programmiersprachen




Hochsprachen: Müssen in Maschinencode
übersetzt werden
Compiler: Übersetzt Programm als
ganzes; schneller Code.
Interpreter: Übersetzt Programm
zeilenweise; langsamer Code.
Hybrid: Kompilat in Zwischencode (z.B
Java: plattformunabhängiger Bytecode),
der dann interpretiert wird (z.B. von der
JVM).
Basiswissen IT
Programmiersprachen

Fünf Generationen:
Maschinensprache
2.
Assembler
3.
Hochsprachen (z.B. FORTRAN, COBOL,
PASCAL, BASIC, C)
4.
4. Generation (Anwendungssprachen), z.B.
SQL
5.
KI-Sprachen. Z.B Prolog (für logische
Probleme)
Objektorientierte Sprachen (z.B. SmallTalk,
C++, Java)
1.
Basiswissen IT
Programmiersprachen

Typische Elemente :








Datentypen (z.B. Ganzzahlen, Gleitkommazahlen, Arrays, Datenverbünde,
Objekte)
Variablen
Logische und arithmetische Operatoren
Verzweigungen (IF–THEN-ELSE)
Schleifen (FOR, WHILE)
Unterprogramme
Ein/Ausgabefunktionen
Wiederverwendbarkeit: Bibliotheken von
Programmen einbinden (Linken)
Basiswissen IT
Programmiersprachen
Beispiel: Hello World in C
#include <stdio.h>
int main()
{
int i = 0;
for(i = 0; i<10; ++i){
if( i % 2 == 0) {
printf(„Hello world %d!\n“, i);
}
else{
printf(„Hallo Welt %d!\n“, i);
}
}
return 0;
}
Ausgabe:
Hello world 0!
Hallo Welt 1!
Hello world 2!
Hallo Welt 3!
Hello world 4!
Hallo Welt 5!
Hello world 6!
Hallo Welt 7!
Hello world 8!
Hallo Welt 9!
Basiswissen IT
Anwendungen

Hauptanwendungen des Computers:
Numerische Berechnungen
 Datenbanken
 Text-, Bild- & Tonverarbeitung
 Kommunikation
 Steuern & Regeln
 Spielen

Basiswissen IT
Anwendungen-Numerik



Historisch erste Anwendung: Computer=Rechner
ENIAC war z.B: zur Berechnung ballistischer
Flugbahnen für‘s Militär gedacht.
Numerische Algorithmen stecken in fast jeder
Anwendung: Z.B.




Berechung des Spektrum eines Klanges,
ein Weichzeichnerfilter in Photoshop,
ein aufwändiges Klimamodell auf einem
Supercomputer.
Berechnung eines Neuronenmodells zur BeatErkennung.
Basiswissen IT
Anwendungen - Datenbanken

„Elektronischer Karteikasten“ zur
Speicherung und Manipulation von Daten
beliebiger Art, z.B.





Personaldaten einer Firma
Lagerbestand
Bibliothekskataloge
Private mp3- Sammlung
Webseiten
Basiswissen IT
Anwendungen - Datenbanken




Heute am weitverbreitesten: Relationale
Datenbanken.
Daten werden in Datenfeldern zu Datensätzen
zusammengefasst.
Datensätze werden mit eindeutigen Schlüsseln in
Tabellen gespeichert.
Man kann Tabellen


erzeugen, löschen, verändern, kombinieren, abfragen.
Gängige Abfragesprachen basieren meistens auf
SQL (Structured Query Language).
Basiswissen IT
Anwendungen




Text-, Bild- & Tonverarbeitung: Häufigste
Anwendung im Personalbereich. Kennt jeder...
Kommunikation: Dito. E-Mail, Chat, IP-Telefonie
etc...
Steuern & Regeln: Über Hardware-Schnittstellen
ein- oder zweiseitige Kommunikation mit
externen Geräten zum Regeln, Steuern, und
Überwachen derselben. Z.B. MIDI
Spielen...
Basiswissen IT
Internet & Co.


Historisch entstand das Internet aus dem
ARPANET(1969), das vier militärische forschende
Universitäten in Amerika über Telefonleitungen
vernetzte.
Internet ist ein Netz von Netzen:
Basiswissen IT
Internet & Co. –TCP/IP



Netzwerkprotokolle: Kommunikation zwischen
Rechnern
Meistens basierend auf TCP/IP.
IP (Internet Protocol). Erste logische Schicht.






IPv4 benutzt 32-bit Adressen, z.B. 192.168.202.53
(=0xC0A8CA34)
Eindeutige IP-Adresse („Telefonnummer“) für jeden
Rechner.
65536 verschiedene Ports („Nebenanschlüsse“).
HTTP benutzt z.B Port 80, SMTP (Mail) Port 25.
DNS-Server bilden das „Telefonbuch“
Unter dem Eintrag www.uni-hamburg.de ist z.B. die
IP-Adresse 132.100.32.72 zu finden.
Basiswissen IT
Internet & Co. – TCP/IP


IP verschickt Daten paketweise.
Paket besteht aus



Die Daten stellen zweite logische Schicht dar:
die Transportschicht, z.B.




Header (mit IP-Adresse)
Datenteil
TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)
Mit TCP/IP- oder UDP-Paketen werden weitere
Protokolle implementiert werden, die
Internetdienste (höchste Schicht).
Z.B. HTTP, FTP, SMTP, TELNET usw.
Basiswissen IT
Internet & Co. - WWW




Das WWW entstand 1991 im CERN und ist das
„logische“ Netz der Webserver im Internet.
WWW baut auf HTTP auf (HyperText Transfer
Protocol), das wiederum TCP/IP benutzt.
Ein Webserver ist ein Programm, kein Rechner!
HTTP benutzt URL‘s (oder URI), z.B.
http://www.google.de/search?hl=de&q=uni+hamburg
um eine Ressource im WWW zu lokalisieren.
Basiswissen IT
Internet & Co. - HTTP

Typische Kommunikation:
1.
2.
3.
4.
User: http://www.mu-on.org/RMA/RMA.html
Browser fragt (s)einen DNS nach der IP von www.muon.org, Antwort: 212. 227.118.118.
Browser stellt TCP/IP Verbindung mit 212. 227.127.91auf
Port 80 her.
Browser schickt Anfrage an den Webserver:
GET /RMA.html HTTP/1.1
5.
Webserver antwortet:
HTTP/1.1 200 OK
Server: Apache/1.3.29 (Unix)
Content-Length: 3467
Content-Language: de
Content-Type: text/html
Connection: close
(ab hier Inhalt von RMA.html)
Basiswissen IT
Internet & Co. - HMTL



Webseiten typischerweise in HTML (HyperText
Markup Language)
HTML ist eine Dokumentenbeschreibungssprache
keine Programmiersprache, kann aber
(Javascript-)Programmteile enthalten!
HTML-Seiten können per CGI (Common Gateway
Interface) dynamisch vom Webserver erzeugt
werden.
Z.B. Suchanfrage bei Google. Webserver startet CGIScript, dass in der Datenbank nachschaut, und anhand
der Ergebnisse eine HTML-Datei erzeugt.

Verbreiteste CGI-Sprachen: Perl, PHP.
Basiswissen IT
Internet & Co. - HTML

Beispiel: „Hello World“ in HTML
<html>
<head>
<title>Hello world</title>
</head>
<body>
<h1> Hello world</h1>
<p>
In diesem Paragraphen stehen unwichtige Dinge.
</p>
</body>
</html>
Basiswissen IT
Internet & Co. - XML

XML (eXtensible Markup Language)
 Zunehmende weite Verbreitung für verschiedene
Zwecke
 Sehr flexibel
 Kann quasi selbstbeschreibend sein.
 Trennung von Daten und Darstellung (Document/View)
 Eignet sich auch als Datenbankformat.
 Beliebigen Daten zwischen Tags (Anfangs/Endtag)
 Tags haben einen Name und beliebige Attribute, z.B
<creator type="composer">Franz Schubert</creator>
Baumstruktur mit einem höchsten Knoten
Man kann eigene Dokumententypen definieren (DTD‘s,
XML Schema)


Basiswissen IT
Internet & Co. - XML

XSL(T): Transformation von XML-Dokument in
z.B.





HTML-Seite
PDF-Datei
Finale-Partitur
Anderes XML Dokument
Etc.
Basiswissen IT
Internet & Co. - XML
BEISPIEL MusicXML
<?xml version="1.0" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0
Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise>
<work>
<work-number>D. 911</work-number>
<work-title>Winterreise</work-title>
</work>
<movement-number>22</movement-number>
<movement-title>Mut</movement-title>
<identification>
<creator type="composer">Franz Schubert</creator>
<creator type="poet">Wilhelm Müller</creator>
</identification>
</score-partwise>
Herunterladen