Einführung in die Informatik Inf, SAT, Wing, Mi
Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm
Hochschule Harz
FB Automatisierung und Informatik
mwilhelm@hs-harz.de
http://www.miwilhelm.de
Raum 2.202
Tel. 03943 / 659 338
Inhalt
1. Grundlagen der Informatik
Zahlensysteme, Nachkommazahlen, Single-Format
2. Rechnerarchitekturen (Hard- und Softwaresysteme)
Rechnerarchitekturen, Betriebssysteme,
3. Programmierung
Sprachen, Datentypen, Datenstrukturen, Programmiermodelle, Compiler, Programmierparadigmen, Domänenspezifische Sprachen, Algorithmen
4. Verteilte Systeme (Netzwerke) 5. Themenfelder der Informatik
Datenbanken, Big Data, Multimediaverarbeitung, Software Engineering, KI, Human
Einprozessorsysteme John v. Neumann
– Eine CPU
– Ein Bus
Havard-Rechnerarchitekturen
– Mehrere CPU‘s
– Mindestens zwei Bussysteme (North- und SouthBridge)
– Aufteilen der Geräte in Bezug auf die Geschwindigkeit
Klassifizierung von Rechnerarchitekturen:
Von-Neumann Architektur
nach John von Neumann
Prozessor =
Rechenwerk +
Arithmetic-Logical-Unit (ALU) + Steuerwerk
Speicher Module
Akumulator
ALU
Speicher Steuerwerk
Befehlszähler
Ein-/
Ausgabe
Befehl e
Daten Daten
Rechenwerk:
ALU MDU BITP SFT
ALU: Arithmetisch-Logische-Einheit MDU: Mupliplikation / Division
BITP: Bitprozessor SFT: Barrel Shifter
(+) Spezialisierte Module (+) Parallele Bearbeitung
(+) Optimierte Befehle in Zusammenarbeit mit Compiler (MMX)
Arithmetisch-Logische Einheit:
X-Register Y-Register
Z-Register Flag-Register
ALU:
Arithmetisch-Logische Einheit:
Realisierung der Elementaroperationen:
ADD, SUB, AND, OR, XOR, NOT, EQ
Registerbreite: 8, 16, 32, 64
Ausnahmefälle:
Carry: Ergebnis zu groß für Register Z (Überlauf) Overflow: Ergebnis zu groß für die Zahlendarstellung Underflow: Ergebnis zu klein für die Zahlendarstellung Sign: Ergebnis ist negativ
Zero: Ergebnis ist null
Operationsprinzipien
Der Prozessor (die Central Procesing Unit, CPU) arbeitet taktgesteuert.
Die internen Signale sind binär codiert.
Der Inhalt einer Speicherzelle wird über eine Adresse angesprochen.
Programme und Daten werden sequentiell bearbeitet (single instruction single data, SISD).
Es wird eine feste Wortlänge zur Verarbeitung verwendet.
Bitmuster im Speicher repräsentieren 3 Arten:
Daten, Befehle, Adressen
Die Elemente des Prozessors
Das Steuerwerk enthält den Befehlszähler (Adresse des nächsten Befehls), das Befehlsregister und das
Adressregister (Adresse des nächsten Datums)
Das Rechenwerk (ALU) enthält mehrere Datenregister und Zusatzregister (Flagregister). Die Verknüpfung erfolgt hier gleichzeitig innerhalb eines Takts mit allen Bits je
nach Datenbreite
Einsatz von Mikrocode zur Steuerung der internen
Abläufe: eigener Speicher (ROM), Adressen der Register,
Steuerwerk zur Abfolge von Mikrobefehlen in mehreren
Takten, Ziel: maximale Parallelisierung bei minimalem
Aufwand an Logikschaltungen
Modifizierte Architektur
Busse
– Adressbus
– Datenbus
– Steuerbus
Mikro- prozessor
CPU
speicher Arbeits-Festplatte
E/A-Module Zusatz-
elektronik
Taktgeber
Adressbus
Datenbus
Steuerbus
ibib
Motherboard: PCI-BUS
Aufgaben eines Motherboards
Die Northbridge sollte die Daten so schnell transportieren können wie sie die CPU liefert.
Der Arbeitsspeicher sollte die Daten so schnell aufnehmen können wie sie von der CPU kommen.
Die Interne Verbindung (Datenautobahn) zwischen North- und Southbridge sollte so groß sein wie nur möglich, um einen
Flaschenhals zu vermeiden. Hier krankt es bei den meisten
Mainboards erheblich.
Aufbau eines Betriebssystems
BS-Kernel Prozessverwaltung
Log. Geräteverwaltung
Speicherverwaltung
Ein- / Ausgabesysteme Dateisysteme
Gerätetreiber Gerätetreiber
Anwenderprogramm
Kommando-Interpreter
Schnittstelle
zur Hardware
CPU / Geräte
Dateien,Dateisysteme
Werden zur Verwaltung von externen Speicher eingesetzt
dienen der dauerhaften Speicherung von Nutzerdaten, Programmen, BS-Daten
Speicherung via Laufwerk, Pfad, Dateinamen
Umsetzung des logischen Namens in physikalische Parameter
Zugriffszeit einer Festplatte ca. 1000.000-fach langsamer als Speicher
Speichervolumen ca. 80000-fach größer (Tera-Byte)
Der Hauptspeicher ist schnell und eignet sich hervorragend zur Verwaltung von Daten / Programmen!
Probleme:
Hauptspeicher ist begrenzt
Keinen Zugriff auf eigene Daten von anderen Prozessen
Bei Terminierung des Prozesses Datenverlust!
Dateien,Dateisysteme
Lösung:
Die Informationen werden auf einen externen Datenträger
Festplatte
CD-Laufwerk
DVD-Laufwerk
Blu-Ray-Laufwerk
USB-Laufwerk
Bandlaufwerk
Netzwerk
Cloud-Speicherung
gespeichert.
Aufgaben eines Dateisystems
Erzeugen einer Datei, Verzeichnisses
Löschen einer Datei
Registrierung von Dateien (Windows, chmod Unix)
Lesen von Dateien
Schreiben in Dateien
Schutz der Datei (Rechteverwaltung, UGW=777)
Verwaltung der Metainformationen (Attribute)
Aufgaben eines Dateisystems (2)
Aufbau einer Grundstruktur auf dem Datenträger
Partitionierung
Formatierung
Aufbau einer logischen Reihenfolge (1 bis n)
Unabhängigkeit von der phys. Struktur
Zylinder, Sektor, Spur sind nur dem Gerät bekannt
Aufbauend auf der Blocknumerierung werden Lese- und Schreiboperationen zur Verfügung gestellt
Grundstruktur: FAT12, FAT16, FAT32, NTFS, Ext2, Ext3, Ext4,
Eigenschaften von Dateisysteme:
MS-DOS Windows Linux
Dateinamen ignore case ignore case case sensitive Verknüpfungen
zu Programmen eine pro File eine pro File viele
Namenslänge 8.3 255 255
Leerzeichen ja ja nein
Filesystem FAT16 FAT32, NTFS ext2, ext3, jfs
Link zu Dateien nein nein, ja ja
Eigenschaften von Dateisysteme:
Eigenschaften von Dateien: ASD
Viele moderne Dateisysteme haben das Prinzip der Datei
verallgemeinert, so dass man in einer Datei nicht nur eine
Folge von Bytes, einen sogenannten Stream (engl. Strom),
sondern mehrere solcher Folgen (alternative Datenströme)
abspeichern kann
Microsoft
FAT12/16/32 neuere Variante der FAT-Dateisystemfamilie mit erweiterten Limits gegenüber FAT16, ab Windows 95b bzw.
Windows 2000 (wird von neueren Betriebssystemen unterstützt)
exFAT : für den Einsatz auf Flash-Speicher spezialisierte Version von FAT32
FATX: spezialisierte Variante von FAT16/FAT32 für die Xbox
NTFS (New Technology File System): Journaling-Dateisystem der Windows-NT-Produktlinie, dort das Standarddateisystem.
ReFS (Resilient File System; deutsch Robustes Dateisystem):
Neues Dateisystem, eingeführt mit Windows 8[2], basierend auf B+-Bäumen
VFAT (Virtual FAT): Optionale Erweiterung von
FAT12/FAT16/FAT32, um Unterstützung für lange Dateinamen und
Sonderzeichen zu gewährleisten, ab Windows 95
Apple
Apple DOS: diskettenbasiertes Dateisystem für den Apple II
Apple SOS: Weiterentwicklung von Apple DOS für den Apple III, für Disketten (5,25″ und 3,5″) und Festplatten (Apple ProFile 5 MB und 10 MB)
Apple ProDOS: Dateisystem der späten Apple-II-Modelle (Apple IIe und Apple IIgs), dateisystemkompatibel mit Apple SOS
MFS (Macintosh File System): hierarchieloses Dateisystem mit Macintosh- spezifischen Eigenschaften, auf frühen Macintosh-Modellen (Macintosh 128 und Macintosh 512)
HFS (Hierarchical File System): hierarchisches Dateisystem mit Macintosh- spezifischen Eigenschaften, auf Macintosh-Modellen ab 1986 (ab Macintosh Plus)
HFS+: weiterentwickelte Variante von HFS mit Journaling und großzügigeren Beschränkungen für Dateigrößen, Volumegrößen usw., Standard unter Mac OS 8.1 bis macOS 10.12
HFSX: Variante von HFS+ mit Unterscheidung von Groß- und Kleinbuchstaben[1], Standard bis iOS 10.2
Linux
btrfs (Btree File System) – ein sogenanntes Copy-On-Write-Dateisystem
EcryptFS (Enterprise Cryptographic Filesystem) – ein verschlüsselndes Dateisystem mit Unterstützung im Linux-Kernel
EncFS (Encrypted File System) – ein auf FUSE aufbauendes, verschlüsselndes Userland-Dateisystem
ext (Extended File System) – für Linux weiterentwickelte Variante des minix- Dateisystems
ext2 (Second Extended File System) – weiterentwickelte Variante von ext mit erweiterten Grenzen; war lange Zeit das Standard-Dateisystem unter Linux
ext3 (Third Extended File System) – weiterentwickelte Variante von ext2 mit Journaling
ext3cow (Third Extended File System with Copy-On-Write) – weiterentwickelte Variante von ext3 mit Copy-On-Write-Funktionalität
ext4 (Fourth Extended File System) – weiterentwickelte Variante von ext3, u. a.
mit erweiterten Grenzen (100 MB Blöcken)
Linux
FTPFS – ein auf FTP aufbauendes Kernelmodul; wurde etwa 2005 abgelöst von LUFS/FUSE oder CurlFtpFS
Next3 – auf ext3 aufbauendes Dateisystem, welches die Möglichkeit bietet, sogenannte Snapshots zu erstellen
NILFS (New Implementation of a Log-structured File System) – ein Logging- Dateisystem von NTT
NILFS2 – weiterentwickelte Variante von NILFS
OrangeFS – ein verteiltes (oder paralleles) Dateisystem, welches auf dem Parallel Virtual File System aufbaut
ReiserFS – ein Journaling-Dateisystem von Namesys
Reiser4 – ein Journaling-Dateisystem mit effizienter Speicherung und Plugin- Unterstützung, von Namesys
Tux3 – ein versionierendes Dateisystem
UNIX
AdvFS (Tru64 Unix Advanced File System): Journaling- Dateisystem unter Tru64 UNIX
AFS (Acer Fast Filesystem): Dateisystem unter SCO OpenServer (nicht verwechseln mit Andrew File System)
DTFS (Desktop File System): Dateisystem mit Kompression unter SCO OpenServer
EAFS (Extended Acer File System): weiterentwickelte Variante von AFS, unter SCO Unix
EFS (Extent File System): Dateisystem unter IRIX, Vorgänger von XFS
FFS (Berkeley Fast File System): Variante von UFS unter BSD (nicht verwechseln mit Amiga FFS)
HTFS (High Throughput File System): Standarddateisystem unter
SCO OpenServer
UNIX
LFS (Log-structured File System): weiterentwickelte Variante von UFS mit Logging-Funktionalität
minix: Dateisystem des gleichnamigen Betriebssystems
s5fs (System V File System): das klassische Dateisystem des System-V-Unix von AT&T
UFS (Unix File System): verwendet unter Solaris und BSD
VxFS (Veritas Journaling File System): Journaling-Dateisystem von VERITAS, Standarddateisystem unter HP-UX
XFS: Journaling-Dateisystem von SGI primär für IRIX (nicht verwechseln mit xFS)
ZFS (Zetta File System): Dateisystem mit weit gesteckten Limits
und vielfältigem Volumenmanagement, von Sun Microsystems
für Solaris geschrieben
Massenspeicher: Festplatte
Aufbau einer Festplatte
Aufbau einer Festplatte
Festplatte
Einteilung in
- Sektoren (512 Byte)
- Spuren
- Kopf
- Zylinder
Betriebssystem
- Verwendet ein Cluster, n-faches eines Sektors
Adressierung im Betriebssystem von 0 bis n-1
Adressierung in der Festplatte mit Sektor#, Spur#, Kopf#
Festplatte: Clusterdefinition des Betriebssystems
Anzeige: Sektoren der Festplatte, alle 512 Byte groß
A
B
C
d
Festplatte: Clusterdefinition des Betriebssystems
7
Ein BS-Cluster ist ein Vielfaches eines Sektors: 2x
Anzeige: Sektoren der Festplatte, alle 512 Byte groß
0 8
n-1
Festplatte: Clusterdefinition des Betriebssystems
0
Ein BS-Cluster ist ein Vielfaches eines Sektors: 2x
Bild zeigt Belegung wenn Clustergröße 1024 Bytes sind 2 Sektoren/Cluster Anzeige: Sektoren der Festplatte, alle 512 Byte groß
8
7
n-1
Festplatte: Clusterdefinition des Betriebssystems
0
16 24
Ein BS-Cluster ist ein Vielfaches eines Sektors: 2x
Anzeige: Sektoren der Festplatte, alle 512 Byte groß
8
7
n-1
Eigenschaften von Dateien
• Speichern beliebige Anzahl von Bytes
• Die Bytes haben manchmal eine logische Bedeutung
• gruppieren von Dateien mittels Verzeichnissen (directories)
• Wurzelverzeichnis: speichert zusätzliche Informationen des Laufwerkes
• Pfad: alle beteiligten Verzeichnisse und der Dateiname
• Geräte erscheinen als Spezialdateien ohne eigene Verzeichnisstruktur (Unix)
• Ein Prozess wird mit einem Arbeitsverzeichnis verknüpft
• Berechtigungen werden durch uid, guid und Schutzcode nachprüfbar (Unix)
9 Bit Schutzcode, je drei Bit für Besitzer, Gruppe und Welt: rwx
Funktionen für Dateien
Create (filename)
Delete (filename)
handle=Open (filename, modus)
Close (handle)
Read (handle, buffer, count)
Write (handle, buffer, count)
Append (handle, buffer, count)
Seek(handle, count)
lock(handle)
unlock(handle)
setAttrib(handle, bits)
getAttrib (handle)
Programmdatei DOS:
Ausführbare Dateien 1) Kopf
• Magische Nummer (MZ, Mark Zbikowsky)
• Textgröße
• Datengröße
• BSS-Größe
• Symboltabellengröße
• Einstiegspunkt (Viren)
• Flags 2) Daten
3) Programmcode
4) Relokationsbits
5) Symboltabelle
Structure Name Optional Size Purpose Bitmap File
Header
Nein 14 Bytes Allgemeine Information DIB Header Nein Feste Größen mit
7 verschiedenen Versionen
Detailinformation
Extra bit masks Ja 3 or 4 DWORDs (12 or 16 Bytes)
Definiert das Pixelformat Color Table Semi-
optional
Variable Größe Palettentabelle
Gap1 Ja Variable Größe Struktur-Alignment Pixel Array Nein Variable Größe Werte der Pixel
Gap2 Ja Variable Größe Struktur-Alignment ICC Color Profile Ja Variable Größe Farbprofile
Dateitypen
Inhalt einer Datei:
• ASCII-Text
• beliebige Bytes
• feste Records, struct
• Daten in einer Baumstruktur (Winword, Excel)
• Header mit unterschiedlichen Records
– dBase Datei – Grafikdateien – MP3-Datei
Zusätzliche Daten: Dateiattribute
Datum / Zeit
Funktionen für Verzeichnisse
CreateDir (name)
DeleteDir (name)
RenameDir (oldName, newName)
Link (Name)
FirstName (Name, Bits), Traversieren einer Festplatte
NextName () , Traversieren einer Festplatte
Implementierung von Dateien
Verfahren: kontinuierliche Allokation:
Die Datei wird auf n-Blöcken hintereinander gespeichert.
Vorteil: einfach zu implementieren, schnell
Nachteil: keine dynamische Änderung möglich, Fragmentierung (welche) Dateigröße sollte (muss) vorher bekannt sein!
Festplatte (Datei 1 bis 4):
Festplatte: Clusterdefinition des Betriebssystems
Anzeige: Sektoren der Festplatte, alle 512 Byte groß
A
B
C
d
Implementierung von Dateien
Verfahren: verknüpfte Liste:
1. Liste: Block enthält Pointer 2. Liste: Block enthält Daten
Vorteil: keine externe Fragmentierung, Auffüllen der Block-Lücken Blockgröße ist Zweierpotenz
Nachteil: Random-Zugriff
Pointer
Daten
Pointer Pointer
Daten Daten
Festplatte: Clusterdefinition des Betriebssystems
Anzeige: Sektoren der Festplatte, alle 4096 Byte groß
A
B
C
d
Datei1: 1, 13, 25, 10, 4, 8, 28
E F
G
Implementierung von Dateien
Verfahren: verknüpfte Liste mit Indexeinsatz (FAT-12):
Block: Pointer
Liste: Tabelle mit den Indizes
Nachteil: die Tabelle muss im Hauptspeicher ständig präsent sein.
Interne Fragmentierung
Beispiel mit 3 Bytes Länge:
000 freier Cluster 001-FFD Cluster belegt FFE defekt
FFF letzter Cluster Vorteil: keine externe Fragmentierung
Blöcke mit Zweier Potenz
Tabelle im Hauptspeicher (FAT)
4093 mögliche Cluster
Beispiel: MS DOS FAT16
2 Bytes:
0000 freier Cluster 0001-FFFD Cluster belegt FFFE defekt
FFFF letzter Cluster
65533 mögliche Cluster
80 GBytes 1,2 MB Clustergröße
Abhilfe:
Unterteilung in Partition, Maximal vier sind möglich!
Beispiel: Windows FAT32
4 Bytes:
0000 0000 freier Cluster 01-FFFF FFFD Cluster belegt FFFF FFFE defekt
FFFF FFFF letzter Cluster
4,29·1009 mögliche Cluster
80 GBytes 19 Bytes Clustergröße
Implementierung von Dateien
Dateigröße: 4 GB
Clustergröße: 4 KB = 4096 Bytes
Frage: Wie viele Cluster?
Cluster-Berechnung
1 GB sind 1073741824 Bytes
4 GB sind 4294967296 Byte
Anzahl Cluster: 4294967296/4096 = 1048576 Cluster
Ext4 mit 100 MB Blöcken:
1 GB sind 1073741824 Bytes
4 GB sind 4294967296 Byte
Anzahl Cluster: 4*2
30/(100*2
20)= 4096/100 = 41 Cluster
Implementierung von Dateien: I-nodes (UNIX)
Jeder Dateieintrag enthält:
I-Node Nummer: (2 Bytes, 4 Bytes, 8 Bytes)
Dateinamen: 200 Zeichen
2 Bytes
I-Node Nummer
I-Node
Dateiname, Größe, Datum, Zeit,
Plattenblöcke, Benutzerrechte
14 Bytes, Dateiname
Verweis auf Datenblöcke
1. Block
8. Block 9. Block 10. Block
3. Block 2. Block
2x indiz. Block 1x indiz. Block
Cluster
Cluster Cluster 1. Block
256
Verweis auf Datenblöcke
1. Block
8. Block 9. Block 10. Block
3x indiz. Block 3. Block 2. Block
2x indiz. Block 1x indiz. Block
Cluster 0. Block
255
Cluster
Cluster
Cluster
255 255
255 255 255
0. Block 0. Block
0. Block 0. Block 0. Block
Einlesen einer Datei:
Analyse des Pfades/Namens
Bestimme Laufwerk
Suche Pfad
Öffne Datei zum Lesen/Schreiben (Rechte)
Stelle Hauptspeicher zur Verfügung
Lese die ersten Blöcke von der "Festplatte" in den Hauptspeicher (Zwischenspeicher)
Bis hierher ist es ein Stream mit Bytes
Gib den Anfangszeiger des Speichers an das aufrufende Programm
Das Programm liest nacheinander die Daten
Ab hier ist es ein Stream mit logischen Daten (int, double, String)
mimi
Cache
CPU:
3 GHz Hauptspeicher
5ns
Cache: i7-6770 HQ
-
Level1: Cache 256 kB
-
Level2: Cache, 1 MB
-
Level3: Cache, 6 MB
CPU
L1 Cache L2 Cache L3 Cache Hauptspeicher
0,3 ns
5 ns
1 ns 3 ns
ASUS ROG Rampage VI Extreme Omega: 661,00 Euro
Intel Core i9-9980XE Extreme Edition CPU - 18x 3.00GHz, 2040 €
Intel Core i9-9980XE Extreme Edition CPU - 18x 3.00GHz, 2040 €
•
L1 Cache 18x 32 KB = 576 KB
•
L2 Cache 18x 1024 KB
•
L3 Cache 24,75 MB
•
Bis zu 4,5 GHz Taktfrequenz
•
Maximal Speicher: 128 GB
Cache: i7-6770 HQ
-
Level1: Cache 256 kB
-
Level2: Cache, 1 MB
-
Level3: Cache, 6 MB
AMD Ryzen Threadripper 2990WX CPU - 32x 3.00GHz, 1854 Euro
AMD Ryzen Threadripper 2990WX CPU - 32x 3.00GHz, 1854 Euro
•
L1 Cache 18x32 KB = 576 KB
•
L2 Cache 32x512KB = 16 MB
•
L3 Cache 64 MB
•
Bis zu 4,2 GHz Taktfrequenz
•
Maximal Speicher: 128 GB
Cache: i7-6770 HQ
-
Level1: Cache 256 kB
-
Level2: Cache, 1 MB
-
Level3: Cache, 6 MB
Intel Xeon Gold 6130, 16x 2.10GHz, 2101,99 Euro
Intel Xeon Gold 6130, 16x 2.10GHz, 2102 Euro
•
L1 Cache 16x 32 KB = 512 KB
•
L2 Cache 16x 1024 KB
•
L3 Cache 22 MB
•
Maximal Speicher: 768 GB
•
Max Bandbreite: 119.21 GB/s
•
Bandbreite
Single 19.87 GB/s
Double 39.74 GB/s
Quad 79.47 GB/s
Cache: i7-6770 HQ
-
Level1: Cache 256 kB
-
Level2: Cache, 1 MB
-
Level3: Cache, 6 MB
Cache
Hauptspeicher
5ns Festplatte:
5 ms
Cache
-
Cache 256 kB
-
SSD
Seagate IronWolf Pro 14TB 3.5 Zoll
546,26 Euro
Kapazität 14 TB
Drehzahl 7.200 U/Min
Cache 256 MB
Solid State Disk
Seagate Nytro 3330 SSD 15.36TB
8399,00 Euro
2.5 Zoll
Schnittstelle: SAS 12Gb/s
Kapazität: 15,36 TB
Transferleistung lesend:1.3 GB/s
Transferleistung schreibend 1.0 GB/s
Einteilung nach Zugriffsformen
Zugriffsformen
ortsadressierter Speicher
inhaltsbezogener Speicher
wahlfreier Zugriff
sequentieller Zugriff
index- sequentieller
Zugriff
Einteilung nach Zugriffsformen
Ortsadressierter Speicher (Datei)
Sequentieller Zugriff (Java-Datei)
Wahlfreier Zugriff (Binär-Blöcke)
Wahlfreier Zugriff (Binär-Blöcke mit einem Index- Verzeichnis, Datenbank)
Inhaltsbezogener Speicher
googeln
Defragmentierung
Dateien / Pfade:
Pfade immer ohne Leerzeichen
Dateinamen immer ohne Leerzeichen
Dateinamen immer ohne äöüÜÄÖßáé
Sonst muss man Dateien mit "C:\Test 5\Test 007.txt" schreiben
Wichtig:
Auch in Programmen!
Tipps
Zeilentrennung:
Windows: CR/LF \r\n char(13) char(10)
Unix: LF \n
Linux: LF \n
Apple: LF \n
Android: LF \n
Tabulatoren
Horizontaler Tab: char(9) \t
Tipps
Batch-Datei
In einer Zeile in einer Ascii-Datei eintragen:
start /ABOVENORMAL "C:\test 1\prog.exe"
"c:\eigene Bilder\urlaub\bild1.jpg"
Tipps
Interne Monitorauflösung
Speichern der Abmessungen und Position der Dialoge
Restaurieren der Abmessungen und Position der Dialoge
BS-Funktionen in C#
int left = System.Windows.SystemParameters.VirtualScreenLeft;
int width = System.Windows.SystemParameters.VirtualScreenWidth;
int height = System.Windows.SystemParameters.VirtualScreenHeight
Tipps
Interne Monitorauflösung
In welchen Bereichen liegen die Abmessungen?
0 bis 1080
0 bis 2160
-1080 bis 0 0 bis 1080
Tipps
Überraschenderweise gibt es auch negative Positionen!
Wichtig bei der Überprüfungen der Werte!
Dateiformate für Textdateien (Zeichenkodierungen) Formate
ASCII
ANSI
UTF-8 (Unicode Transformation Format)
o 1, 2, 3 oder 4 Bytes
UTF-16 (Unicode Transformation Format)
o 1 oder 2 Bytes
UTF-32 (Unicode Transformation Format)
o Immer 4 Bytes
Unicode (Notepad)
Unicode Big Endian (Notepad)
Tipps
Dateiformate für Textdateien
Dateiformate für Textdateien
Kodierung hexadezimale Darstellung
UTF-8 EF BB BF 
UTF-16 (BE) FE FF
UTF-16 (LE) FF FE
UTF-32 (BE) 00 00 FE FF
UTF-32 (LE) FF FE 00 00
BE: Big Endian
LE: Little Endian
Wird ein BOM verwendet, kann es jedoch auch zu Problemen mit
Programmen kommen, die kein Byte Order Mark erwarten oder kennen.
So wird in Unix-artigen Umgebungen oft in Skriptdateien der Shebang- Mechanismus verwendet, bei dem die Zeichenfolge „#!“ ebenfalls am Dateianfang stehen muss. Steht hier ein unerwartetes BOM, gibt es Probleme.
Auch melden Compiler wie z. B. gcc (vor Version 4.4) bei Verwendung eines BOM überschüssige Zeichen am Dateianfang und in PHP mit
Standardeinstellungen führt das BOM zur Ausgabe von Zeichen an den Browser, so dass ohne „output buffering“ keine HTTP-Header mehr geändert werden können.
In Java wird beim Einlesen von UTF-8 Texten das Byte Order Mark nicht automatisch erkannt. Es ist Sache der Anwendungssoftware, das daraus generierte Zeichen 0xFEFF bei Bedarf zu entfernen.[3]
Dateiformate für Textdateien
https://de.wikipedia.org/wiki/Byte_Order_Mark
Viele Programme erkennen nicht immer das Datei
o
Problem der deutschen Sonderzeichen
o
Problem: BOM
Abhilfe
ä ersetzen durch _ae_
Ä ersetzen durch _Ae_
Abhilfe
Die erste Zeile einlesen und vergessen
Dateiformate für Textdateien
Mit der Taste „entf“ werden im Explorer die Dateien in den Papierkorb verschoben.
o
Ordnername: c:\$Recycle.Bin d:\$Recycle.Bin
o
Gleiche Dateien erhalten eine laufende Nummer!
Mit den Tasten „shift+entf“ werden im Explorer die Dateien gelöscht.
Papierkorb
System-Information
Programm: msinfo32.exe
Threads, Task, Multi-CPU
Threads, Task, Multi-CPU
Normale Programme verwenden nur eine CPU!
Bei komplexen und aufwändigen Algorithmen:
Primzahlberechnung
Rendering
Chemie (Molekülstrukturen)
wäre es sinnvoller, wenn man mehrere CPU‘s benutzen könnte.
Lösung:
Threads
Einfach in Java zu erzeugen.
Threads, Task, Multi-CPU: Beispiel
Primzahlen berechnen
Threads, Task, Multi-CPU: Beispiel
Primzahlen berechnen bis 500 000
Threads, Task, Multi-CPU: Beispiel
Primzahlen berechnen bis 500 000
Threads, Task, Multi-CPU: Beispiel
Primzahlen berechnen bis 500 000
Threads, Task, Multi-CPU: Beispiel
Primzahlen berechnen bis 500 000
Trotz mehr Threads: langsamer
Threads, Task, Multi-CPU: Beispiel
Primzahlen berechnen bis 500 000
DOS-Ebene
Kommando-orientierte Befehle:
cmd Windows-Emulationsprogramm für die Dos-Ebene
Laufwerk: Laufwerkswechsel
dir Anzeige des Verzeichnis-Inhalts
cd Change Direktory
md Make Direktory
rd Remove Direktory
ren Umbenennen einer Datei
type Anzeige einer Datei
copy source dest Datei kopieren
Wildcards * ? (*=0,1,n) (?=1)
..\ Oberes Verzeichnis
.\ Aktuelles Verzeichnis
DOS-Ebene: Beispiele
c: d: // Laufwerkswechsel
cd test // Verzeichniswechsel
md test1
md c:\test\progs\abc // nur letztes Verzeichnis copy datei1.txt datei2.txt
copy con datei3.txt // Editor, Taste F6=Ende copy *.txt c:\111 // 1 files is copied
copy *.txt c:\111 // 1 Datei(en) kopiert
DOS-Ebene
XCOPY-Parameter:
Quelle Die zu kopierenden Dateien.
Ziel Position und/oder Name der neuen Dateien.
/A Kopiert nur Dateien mit gesetztem Archivattribut, ändert das Attribut nicht.
/M Kopiert nur Dateien mit gesetztem Archivattribut, setzt das Attribut
nach dem Kopieren zurück.
/D:M-T-J Kopiert nur die an oder nach dem Datum geänderten Dateien.
Ist kein Datum angegeben, werden nur Dateien kopiert, die neuer als die bestehenden Zieldateien sind.
/P Fordert vor dem Erstellen jeder Zieldatei eine Bestätigung.
/S Kopiert Verzeichnisse und Unterverzeichnisse, die nicht leer sind.
/E Kopiert alle Unterverzeichnisse (leer oder nicht leer).
/V Überprüft jede neue Datei auf Korrektheit.
/W Fordert vor dem Beginn des Kopierens zu einem Tastendruck auf.
/C Setzt das Kopieren fort, auch wenn Fehler auftreten.
DOS-Ebene
XCOPY-Parameter:
/I Falls Ziel nicht vorhanden ist und mehrere Dateien kopiert werden, nimmt XCOPY an, dass das Ziel ein Verzeichnis ist.
/Q Zeigt beim Kopieren keine Dateinamen an.
/F Zeigt die Namen der Quell- und Zieldateien beim Kopieren an.
/L Listet die Dateien auf, die ggf. kopiert werden.
/G Ermöglicht das Kopieren von verschlüsselten Dateien auf ein Ziel wo Verschlüsselung nicht unterstützt wird.
/H Kopiert auch Dateien mit den Attributen 'Versteckt' und 'System'.
/R Überschreibt schreibgeschützte Dateien.
/T Erstellt die Verzeichnisstruktur, kopiert aber keine Dateien.
Leere oder Unterverzeichnisse werden nicht kopiert. Um auch diese zu kopieren, müssen Sie die Optionen /T /E angeben.
/U Kopiert nur Dateien, die im Zielverzeichnis vorhanden sind.
/K Kopiert Attribute. Standardmäßig wird 'Schreibgeschützt' gelöscht.
DOS-Ebene
XCOPY-Parameter:
/EXCLUDE:Datei1[+Datei2][+Datei3]...
Gibt eine Liste von Zeichenfolgen an. Jede Zeichenfolge sollte in einer einzelnen Zeile in der Datei angezeigt werden. Wenn eine der
Zeichenfolgen Teil des absoluten Verzeichnispfads der zu kopierenden Datei ist, wird diese Datei vom Kopiervorgang ausgeschlossen.
/O Kopiert Informationen über den Besitzer und ACL.
/X Kopiert Dateiüberwachungseinstellungen (bedingt /O).
/Y Unterdrückt die Aufforderung zur Bestätigung, dass eine vorhandene Zieldatei überschrieben werden soll.
/-Y Fordert zur Bestätigung auf, dass eine bestehende Zieldatei überschrieben werden soll.
/Z Kopiert Dateien in einem Modus, der einen Neustart ermöglicht.
Xcopy: Beispiele
xcopy *.* g:\test /S /Y /I /V
xcopy *.dat g:\test /C /W /E /S /Y /I /V
echo start des Backups pause
rem /D:MM-TT-YYYY
xcopy *.* g:\backup\platteD /S /I /V /D:01-15-2007
ENTER Dialog: Der umrahmte Schalter, Default, wird aktiviert Strg-Z Undo (Letzte Aktion rückgängig machen)
Strg-S Save: Speichern, Sichern
Strg-C Copy: Bereich in die Zwischen-Ablage kopieren Strg-V Aus der Zwischen-Ablage kopieren
Strg-X Bereich entfernen und in die Zwischen-Ablage kopieren Strg-A Alles markieren
Strg-P Print: Drucken
Druck Der ganze Bildschirm in die Zwischen-Ablage
Alt-Druck Nur das aktuelle Windows-Fenster in die Zwischenablage F5 Refresh: Bild neu aufbauen/ anzeigen
(Nodepad: F5 liefert Datum)
Wichtige Tasten unter Windows
Entf Das vorher markierte löschen Alt-F4 Offene Anwendungen schließen Alt-Tab Zwischen den Fenstern wechseln
Alternative: Win-Tab
Strg-F Such-Maske: Suchbegriff eingeben (Winword, Notepad) F3 Weiter suchen
Alt-Leertaste System-Menü des aktuellen Fensters anzeigen
STRG+ESC Anzeigen des Menüs Start
Taste UMSCHALT beim Einlegen der CD-ROM
Wichtige Tasten unter Windows
Taste Funktion
WIN Startmenü öffnen
WIN + R Datei ausführen
WIN + D Desktop anzeigen
WIN + M Alle Fenster minimieren
SHIFT + WIN + M Minimieren rückgängig machen WIN + F1 Hilfe und Supportcenter
WIN + E Explorer starten
WIN + F Dateisuche
STRG + WIN + F Computer suchen
WIN + TAB Programmwechsel durch Taskleiste (Aero) WIN + PAUSE Systemeigenschaften
WIN + L PC sperren
WIN + U Hilfsprogramm-Manager öffnen
WIN + Q Benutzer wechseln
Wichtige Tasten unter Windows
Taste Funktion
WIN + Pfeiltaste nach oben Windows Fenster Maximieren WIN + Pfeiltaste nach unten Windows Fenster Minimieren WIN + Pfeiltaste nach links Windows Fenster links anheften WIN + Pfeiltaste nach rechts Windows Fenster rechts anheften WIN+Shift+Pfeiltaste links Windows Fenster in den linken
Monitor verschieben
WIN+Shift+Pfeiltaste rechts Windows Fenster in den rechten Monitor verschieben
WIN + Home Minimieren aller anderen Windows Fenster (außer dem aktiven)
WIN + T Wechseln zum nächsten Taskbareintrag
Wichtige Tasten unter Windows
Taste Funktion
WIN + (Ziffern 1-9) Anwendung in den gewünschten Taskbar- Slot (1-9) einfügen
WIN + Leertaste Alle Fenster werden durchsichtig (Transparent) - Blick auf Desktop
WIN + G Gadgegts werden in den Vordergrund geholt WIN + P Anzeigeeinstellungen
WIN + X Mobility Center
WIN + (Plustaste) Zoom in (Vergrößern)
WIN + (Minustaste) Zoom out (Verkleinern)
Wichtige Tasten unter Windows
Tipps
Desktop-Verknüpfung
- Link, Eigenschaften
- HotKey mit STRG+ALT+Shortcut
Tipps
Batch-Datei für ein virtuelles Laufwerk
■
@echo off
■
rem Definition eines Laufwerks
■