Grundlagen

Werbung
Grundlagen
Computer und Betriebssystem
INE1, Montag
M. Thaler, [email protected]
Office TG208
http://www.zhaw.ch/~tham
1
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Um was geht es?
Aktuelle technische Systeme
• enthalten i.d.R. Prozssoren
0
.
4
e
i
r
t
s
u
Ind
rung)
ie
s
i
l
a
t
i
(Dig
digital / Software
...
Design von Systemen, etc.
• erfordert einen PC ... Prozessoren und Software
2
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
... um was geht es?
Studieninhalte Systemtechnik
"Mechatronik und Medizintechnik sind zwei innovative Bereiche der Systemtechnik.
Diese junge Ingenieurdisziplin gewinnt zunehmend an Bedeutung. Sie basiert auf
der wachsenden Komplexität technischer Produkte, die heute mechanische, elektronische und softwaretechnische Komponenten vereinen.
Das Studium Systemtechnik bildet qualifizierte Fachkräfte aus, die sich als fundierte Generalisten komplexer Systeme verstehen und für anspruchsvolle
Aufgaben Lösungen erarbeiten.
In nationalen oder internationalen Hightech-Unternehmen kommen Sie als Systemtechnik-Ingenieurin oder -Ingenieur in anspruchsvollen Entwicklungsprojekten
zum Einsatz. Sie arbeiten dabei an interessantenProblemstellungen in Gebieten wie
Robotik, Medizintechnik, Automatisierungstechnik oder Sensorik."
3
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Lernziele
Sie können
• Aufbau und Funktionsweise von Computer- und Betriebssystemen erklären
• den Unterschied zwischen Desktop und Kommandschnittstelle
erklären
• erklären, wie ein C-Programm aufgebaut ist, erstellt wird und
laufengelassen werden kann
• die Infrastruktur für das Erstellen von C-Programmen nutzen und
ein erstes C-Programm selber implementieren
4
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Inhalt
Computer /Computersystem
Betriebssystem
Benutzerschnittstelle
The first C-Program
5
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Leseempfehlung
Kapitel 1.2 Computersysteme
Jürgen Plate, "Algorithmen und Datenstrukturen"
http://www.netzmafia.de/skripten/buecher/perl/algorithmen.pdf
6
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Zusätzliche Informationen
Kapitel 2 Grundlagen
Andreas Keese, "Wie arbeitet ein Computer"
http://www.wire.tu-bs.de/lehre/eip_static/eiptext/kap2.pdf
Linux Shell Kommandos
http://wiki.ubuntuusers.de/Shell/Befehlsübersicht
MS-DOS Kommandos
http://www.chemie.fu-berlin.de/lehre/edv/msdos.html
Kurze Einführung in MS-DOS
http://www.netzmafia.de/skripten/bs/dos.html
7
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Inhalt
Computer /Computersystem
Betriebssystem
Benutzerschnittstelle
A first C-Program
8
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Computersystem
9
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Computersystem
Ein Gerät, das Information (Daten)
• einliest, verarbeitet und ausgibt
• EVA Schema: Eingabe
Verabeitung
Ausgabe
Von Neumann Architektur
• Daten und Befehle im
gleichen Speicher
10
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Hard- und Software
Hardware
• physische Komponenten, auf denen die Software exisitiert und
arbeitet
Software
• alle nicht physischen Komponenten eines Computersystems
• beinhaltet Programme und Daten
11
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Hardware
12
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Datenspeicherung
1 Bit
Speicherzellen eines Computers
Speicher
10011010
• 2 Zustände
- Ladung, keine Ladung
- Spannung, keine Spannung
- Strom, kein Strom
Informatik
binäre Logik
- 1 oder 0
- wahr oder falsch
Speicherorganisation
• jede Speicherzelle
1 Bit
• Organisation Speichereinheit
- i.d.R. 8 Bit bzw. 1 Byte
13
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Inhalt
Computer /Computersystem
Betriebssystem
Benutzerschnittstelle
The first C-Program
14
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Betriebssystem
Betriebssystem
• Software, die System-Ressourcen eines Computers verwaltet
- Speicher, Festplatten, Ein-/Ausgabe, Rechenleistung
• ermöglicht einfache Nutzung des Computer-Systems
• Ziel
Unabhängigkeit von Hardware (Abstraktion der Hardware)
15
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Beispiel
Unix/Linux
Anwendungsprogramme und Shells
Bibliotheken
Betriebssystem Kern (ohne Treiber)
Schnittstellen
Applikation, Benutzer
Betriebssystem
Treiber
Hardware
CPU, Speicher, Kommunikation, ...
16
Verwaltung
System-Ressourcen
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Mehrprozess-System
Mehrprozess-System (Multiprocessing)
• mehrere Programme (Prozesse, Tasks)
- arbeiten quasi parallel (concurrent)
• schneller Wechsel zwischen Programmen
- vermittelt Eindruck gleichzeitiger Verarbeitung
• erfordert Speicherschutzmechanismus
Task 1
Task 2
Task 3
Task 1
Task 2
Task 3
...
t
Task Switch
17
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Task Manager
Z.B. Windows
18
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Mehrbenutzer-System
Mehrbenutzer-System (Multiuser System)
•
•
•
•
19
mehrere Benutzer können gleichzeitig am System arbeiten
Schutzmechanismen (Zugriffsrechte)
Systemzugang kontrolliert: Login/Logout
Benutzerkonten durch Systemverwalter administriert
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Virtueller Speicher
Virtueller Speicher (Virtual Memory)
• Prozessen steht virtueller Addressraum zur Verfügung
• benötigte Speicherbereiche werden in Hauptspeicher abgebildet
• bei Bedarf werden Teile auf Festplatte ausgelagert (Swapping)
Virtueller
Addressraum
0x0000000
Programm
Code
Physikalischer
Addressraum
Daten
Heap
Stack
20
0xFFFFFFFF
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Netzwerk
Netzwerk (Networking)
• Werkzeuge, Protokolle für Kommunikation mit anderen Systemen
• Protokolle
- TCP/IP (Sockets)
- SSH, SFTP
- etc.
21
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Dateien
Datei
• zusammengehörende Menge von Daten
• auf Datenträger oder Speichermedium abgelegt
• beinhaltet Metainformationen
- Name, Zugriffsrechte, Erstellungsdatum, etc.
• Textdatei
- darstellbare Zeichen
mit Texteditor bearbeitbar
• Binärdatei
- enthält beliebige Bitmuster
• Dateinamen: nur Buchstaben, Zahlen und _ oder - verwenden
- mit Buchstaben beginnen, keine Umlaute und nicht *:?!\ /
• Dateientypen
- i.d.R. durch Erweiterung gekennzeichnet: beispiel.c
22
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Dateisystem
Dateisystem
• Ablage von Dateien auf einem Speichermedium (SSD, Disk, etc.)
• Organisation der Dateien in Verzeichnissystem (Ordner)
• verschiendenste Typen mit verschiedenem technischen Aufbau
- Windows: NTFS
- MAC:
HFS (APFS)
- Linux:
EXT4
23
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Inhalt
Computer /Computersystem
Betriebssystem
Benutzerschnittstelle
The first C-Program
24
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Benutzerschnittstelle
Desktops, z.B. Win10
25
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
... Kommandoschnittstelle
Bash auf Mac
Beispiele
CLI auf Win10
26
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Inhalt
Computer /Computersystem
Betriebssystem
Benutzerschnittstelle
The first C-Program
27
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
The first C-Program
"Hello INE1"
/* Programm hello.c
* 1. Programmbeispiel fuer INE1
*/
#include <stdio.h>
int main(void) {
// Text ausgeben
printf("Hello INE1\n\n");
return 0;
}
28
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
The first C-Program
Funktion main()
/* Programm hello.c
* 1. Programmbeispiel fuer INE1
*/
#include <stdio.h>
int main(void) {
// Text ausgeben
printf("Hello INE1\n\n");
return 0;
}
29
Funktion main()
- Startpunkt von C-Programmen
- hier ohne Argument (void) aufgerufen
- gibt Zahl 0 zurück (return 0)
erfoglreicher Abschluss
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
The first C-Program
Bibliotheken einbinden
/* Programm hello.c
* 1. Programmbeispiel fuer INE1
*/
#include <stdio.h>
int main(void) {
// Text ausgeben
printf("Hello INE1\n\n");
return 0;
}
30
Bibliotheken einbinden
- macht Bibliothek stdio verfügbar
(Standard Input/Output)
- printf() ist in stdio definiert
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
The first C-Program
Text auf Konsole ausgeben: printf()
/* Programm hello.c
* 1. Programmbeispiel fuer INE1
*/
#include <stdio.h>
int main(void) {
// Text ausgeben
printf("Hello INE1\n\n");
return 0;
}
31
Text ausgeben
- Funktion printf() aus Bibliothek stdio
- printf() ist in stdio definiert
- Ausgabe: Argument "Hello INE1\n\n"
- \n
Zeilenwechsel
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
The first C-Program
Ausführung von Anweisungen
/* Programm hello.c
* 1. Programmbeispiel fuer INE1
*/
#include <stdio.h>
int main(void) {
// Text ausgeben
printf("Hello INE1\n\n");
return 0;
}
32
Anweisungen
- von "oben nach unten" ausgeführt
- mit Semikolon ";" abgeschlossen
- Imperative Programmierung
Abarbeiten von Anweisungen
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
The first C-Program
Kommentare
/* Programm hello.c
* 1. Programmbeispiel fuer INE1
*/
Kommentare
- beschreibt Programmcode
- alles zwischen /* und */
- oder von // bis Zeilenende
#include <stdio.h>
int main(void) {
// Text ausgeben
printf("Hello INE1\n\n");
return 0;
}
33
ZHAW, © M. Thaler, K. Rege, G. Burkert
September 17
Herunterladen