Benutzerprogramme und Benutzer-Adressraum

Größe: px
Ab Seite anzeigen:

Download "Benutzerprogramme und Benutzer-Adressraum"

Transkript

1 Benutzerprogramme und Benutzer-Adressraum Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 1

2 Benutzerprogramme Prozess src1.c Compiler cc src1.s Assembler as src1.o ELF Executable and Linkable Format Unix-Standard-Binärformat Prozessabbild Stapel src2.c cc src2.s as src2.o Linker ld a.out Loader OS... BSS Daten srcx.c cc srcx.s as srcx.o Programm 2

3 Ausführbare Dateien Betriebssysteme brauchen ein spezielles Format: mit mindestens: - Ein Kopf mit Information über Daten- und Programm-Startadressen - die eigentlichen Daten + Programmteile - Eine Symboltabelle mit zwei Listen - selbst definierte Namen - Namen, die in anderen Modulen definiert sind 3

4 0 ELF-Datei ELF header Program header table (required for executables).text section.data section.bss section.symtab.rel.txt.rel.data.debug Section header table (required for relocatables) ELF-Kopfinformation magische Zahl, Typ (.o, exec,.so), usw. Programmkopf-Tabelle Seitengröße, virtuelle Adresse der Speichersegmente (Sektionen), Segment-Größe..text section Code.data section initialisierte statische Daten.bss section nicht-initialisierte statische Daten.symtab section Symbol-Tabelle statische Variablen- und Funktionsnamen, usw..rel.text section.rel.data section.debug section 4

5 ELF Header: E L F Magic: 7f 45 4c Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Intel Version: 0x1 Entry point address: 0x80482d0 Start of program headers: 52 (bytes into file) Start of section headers: (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 6 Size of section headers: 40 (bytes) Number of section headers: 29 Section header string table index: 26 5

6 Adressbindung Die Adressbindung des Programms und der Daten kann zu drei verschiedenen Zeitpunkten stattfinden. Übersetzungszeit - absolute Adressen werden generiert - bei veränderter Startadresse muss das Programm neu übersetzt werden Ladezeit - der Übersetzer muss relocatable code erzeugen - die Adressbindung wird verzögert, bis das Programm im Speicher geladen wird Ausführungszeit - ein Programm kann während seiner Ausführung im Speicher verschoben werden. Eine neue Adressbindung kann zur Laufzeit stattfinden 6

7 Quellprogramm Adressbindung Übersetzer + Assembler Übersetzungszeit Objekt-Code Andere Objektmodule des Programms Linker Systembibliothek Lademodule Ladezeit Dynamisch ladbare Systembibliothek Lader Im Speicher ausführbares Programm Ausführungszeit

8 Dynamisches Laden - Ein Programmmodul wird erst geladen, wenn es gebraucht wird. - Nicht benutzte Programmteile werden nie geladen. - Dadurch wird eine bessere Speicherbenutzung erreicht. - Sehr nützlich, wenn viele Programmmodule nur selten benutzt werden. - Spezielle Unterstützung des Betriebssystems ist dafür nicht notwendig. - Gutes dynamisches Laden wird durch gutes Programmdesign erreicht. 8

9 Dynamisches Linking Einige Betriebssysteme benutzen statisches Linking. Mit dynamischem Linking wird ein stub verwendet, um eine Systemfunktion zu finden. Ohne dynamisches Linking muss jeder Prozess in dem ausführbaren Programm eine Kopie der Systemfunktionen, die er verwendet, einfügen. Dynamisches Linking erlaubt die gemeinsame Verwendung von Systembibliotheken. Neue Versionen der Systembibliotheken können benutzt werden, ohne dass die Programme neu übersetzt werden müssen. 9

10 Benutzerprogramme Prozess src1.c Compiler cc src1.s Assembler as src1.o ELF Executable and Linkable Format Unix-Standard-Binärformat Prozess-Layout Stapel src2.c cc... src2.s as src2.o Linker ld a.out Loader OS BSS srcx.c cc srcx.s as srcx.o Dynamic libraries *.dll Daten Programm Static libraries *.a 10

11 Absolute und relozierbare Lademodule Objektmodul Programm jmp a load z: 1024: Programm 0: Programm jmp 1500 jmp 476 load 2000 load 976 a: 1500: 476: Daten Daten Daten z: 2000: 976: Symbolische Adressen Lademodul mit absoluten Adressen Lademodul mit relativen Adressen 11

12 Namenbindung + Adressbindung Beispiel: exam.c int z = 2; int main() { int ret = func(); exit (0); } func.c extern int z; int *z_p = &z; int x = 5; int y; int func() { return *e_p + x + y; } Verschiebbare Objektdateien System-Code System-Daten.text.data &.bss exam.o main().text int z = 2.data func.o func() int *z_p = &z int x = 5 int y.text.data.bss Ausführbare Objektdatei 0 Headers System-Code main() func() System-Code System-Daten int z = 2 int *z_p = &z int x = 5 int y.symtab.debug.text.data.bss 12

13 Beispiel: main.c extern float sin(); extern printf(); extern scanf(); main() { double x, result; printf( "number: " ); scanf( "%f", &x ); result = sin(x); printf( "sin is %f\n", result ); } stdio.c int printf( char *fmt,...) {... } int scanf( char *fmt,...) {... } math.c double sin(double x) { static double res, lastx; if (x!= lastx) { lastx = x; berechnet sin(x) } return res; } 13

14 Objektdatei main.c main.o extern float sin(); extern printf(); call printf....text extern scanf(); 32 call scanf... main() { double x, result; call sin... call printf printf( "number: " ); scanf( "%f", &x ); def: main@t:0.symtab result = sin(x);.rel printf( "sin is %f\n", result ); ref: printf@t:20, T:56 } ref: scanf@t:32 ref: sin@t:40 14

15 math.c double sin(double x) { static double res, lastx; if (x!= lastx) { lastx = x; berechnet sin(x) } return res; } Objektdatei math.o... load lastx... store lastx... load res res: lastx: def: sin@t:0 def: lastx@d:0 def: res@d:8 ref: lastx@t:8, T:20 ref: res@t:204.text.data.symtab.rel 15

16 Memory map: Nach dem ersten Durchgang: stdio.o math.o.data.data Symbol table: main: 0 sin: stdio.o.text lastx: 700 result: 708 printf: text scanf: 508 math.o Verschiebung 40 main.o... call 0....text 64 0 main.o main.o ref: sin@t:40.rel.text math.o sin: 64.symtab 40 a.out... call text 16

17 Dynamisches Linking/Laden printf.c printf.o gcc ar shared Library Hi.c gcc Hi.o Linker Hi.out Prozesse können schneller gestartet werden und brauchen weniger Speicher Run-time Loader Loader Speicher 17

18 Logische vs. Physikalische Adressen Das Konzept einer logischen Speicheradresse, die eine Bindung zu einer getrennten physikalischen Adresse hat, spielt eine zentrale Rolle in der Speicherverwaltung. Die CPU arbeitet mit logischen oder virtuellen Adressen. Die MMU arbeitet direkt mit den physikalischen Adressen. 18

19 Memory Management Unit (MMU) Die MMU ist der Teil der Hardware, der logische Adressen in physikalische Adressen umrechnet. Der Wert des Relokation-Registers wird zu jeder logischen Adresse addiert. Das Benutzerprogramm arbeitet nur mit logischen Adressen. Er sieht nie die physikalische Adresse, welche die MMU sieht. Die Relocation- und Limit-Register sind Teil des Prozesskontextes und werden von dem Dispatcher als Teil des Kontextwechsels des Prozesses geladen. 19

20 Logische vs. Physikalische Adressen CPU logische Relokation- Register physikalische Adresse Adresse Hauptspeicher MMU 20

21 Logische vs. Physikalische Adressen 1024: Virtuelle Adressen Physikalische Adressen 4096: 0: free 512: 0: MMU 1024: 0: 0: Betriebssystem Kernel

22 Virtueller Speicher Die Programme generieren nur virtuelle Adressen. Prozess virtuelle Adresse Speicher- Verwaltung MMU+BS physische Adresse Hauptspeicher Bei Rechnern mit virtuellem Speicher geht die Adresse nicht direkt an den Hauptspeicher, sondern an die MMU Memory Festplatten- Adresse Der Adressraum wird in Hauptspeicher und Hintergrundspeicher aufgeteilt. Managment Unit, die die virtuelle Adresse auf die Hintergrundspeicher physikalische Adresse abbildet.

23 Copy-on-Write Vaterprozess Hauptspeicher Kindprozess Der fork()-systemaufruf ist Seite A sehr effizient, weil der Seite B Kindprozess am Anfang die gleichen Seiten wie der Seite C Vaterprozess benutzt. Die gemeinsamen Seiten Seite A werden als Copy-on-Write Seite B markiert. Nur wenn eine Seite C Seite verändert wird, wird kopiert. Seite C (Kopie) Zustand, nachdem der Vaterprozess die Seite C verändert hat

24 vfork() Das vfork(). Virtuelle fork() Beim vfork wird der Elternprozess suspendiert, und der Kindprozess benutzt den Adressraum des Elternprozesses ohne Verwendung von Copy-on-Write. Wenn der Kindprozess eine Seite verändert, verändert sich der Adressraum des Elternprozesses. Es wird verwendet, wenn wir sicher sind, dass unmittelbar nach dem vfork-systemaufruf ein exec-systemaufruf angewendet wird, der einen neuen Adressraum für den Kindprozess erzeugt. vfork wird sehr oft für die effiziente Implementierung von Shells verwendet.

25 Memory-Mapped-Dateien Ein Prozess kann eine Datei in einem Teilbereich seines virtuellen Adressraumes einblenden. Ein Teil der Datei wird auf die eingeblendeten Seitenspeicher eingelesen. Anstatt durch eine Reihe von zeitaufwändigen Lese- und Schreibe-Systemaufrufen kann auf die Datei wie auf ein großes Zeichenfeld im Speicher direkt zugegriffen werden. Dateien können dann gemeinsam von mehreren Prozessen benutzt werden, indem diese die entsprechende Seite in ihrem virtuellen Speicherraum einblenden lassen.

26 MMAP verschiedene Objekte werden im Prozess-Adressraum abgebildet Virtuelle Adressraum Prozess- Adressraum MMAP Frame buffer Festplatte Shared memory 26

27 #include <sys/mman.h>... MMAP MAP_SHARED file descriptor void * mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset); Virtuellen Speicher des Prozesses Prozessabbild Stapel mmap (addr, len, flags, fd, offset) BSS Daten A Programm

28 Memory-Mapped-Dateien void * mmap( void * addr, size_t len, int prot, int flags, int fildes, off_t off); - addr "Wunschadresse", ab welcher die Daten im Adressraum erscheinen sollen. Die Adresse muss ein vielfaches der Seitengröße sein. Wenn eine 0 angegeben wird, entscheidet das Betriebssystem über die Adresse. Als Rückgabewert wird die tatsächliche Adresse zurückgegeben, oder MAP_FAILED (-1). - len Länge des Speicherbereiches. - fd file descriptor der Datei - prot Zugriffsrechte auf den Speicher, die mit den Zugriffsrechte auf die Datei passen müssen. - flags kann das Verhalten von mmap beeinflussen Folgende Makros sind definiert: MAP_FIXED ein Fehler wird zurückgegeben, Wenn die angegebene Adresse nicht benutzt werden kann. MAP_SHARED Der physikalische Speicher wird von verschiedenen Prozessen gemeinsam benutzt und Änderungen werden in allen Prozessen sofort sichtbar. MAP_PRIVATE Bei Änderungen bekommt der jeweilige Prozess eine eigene Kopie des Speichers. - Mit offset wird die Startposition innerhalb der Datei angegeben.

29 Memory-Mapped-Dateien physikalischer Speicher Logischer Speicher von Prozess A Logischer Speicher von Prozess B Datei 29

30 #include <unistd.h> #include < sys/mman.h> Memory-Mapped-Dateien void * mmap( void * addr, size_t len, int prot, int flags, int fildes, off_t off); #include <unistd.h> #include <sys/types.h> #include <sys/mman.h> int fd, pagesize; char *data; Adresse, auf die die Datei eingeblendet wird. Hier entscheidet sich das Betriebssystem Länge der Daten fd = fopen( "foo", O_RDONLY ); pagesize = getpagesize(); data = mmap((caddr_t)0, pagesize, PROT_READ, MAP_SHARED, fd, offset);

31 Memory-Mapped-Dateien void * munmap( void * addr, size_t len ); munmap macht das einblenden der Datei in den entsprechenden Speicherbereich wieder rückgängig. Der Speicherinhalt wird in die Datei zurückgeschrieben. Beim Beenden eines Prozesses werden alle eingeblendeten Speicherbereiche wieder freigegeben. 31

32 Unterbrechungen Zwei Kategorien: Interne Unterbrechungen (internal interrupts) Synchrone Unterbrechungen weil diese während der Ausführung von Anweisungen innerhalb des Prozessors verursacht und festgestellt werden Exceptions Programfehler: faults, traps, and aborts Software: INT 3 Machine-check exceptions Externe Unterbrechungen (external interrupts) Asynchrone Unterbrechungen verursacht von Hardware außerhalb des Prozessors - system timer Interrupt Sources Hardware-Ein-/Ausgabe-Geräte Software: INT n - keyboard - serial port - disk 32

33 Unterbrechungen in 80x86 Architektur Die 80x86 CPU-Architektur unterstützt 256 verschiedene "interrupts" es gibt 256 "interrupt handler", die in der IDT "interrupt descriptor table" definiert sind. 33

34 Systemaufrufe - von Betriebssystem bereitgestellte Schnittstelle - zum Interagieren mit der Hardware - für die Durchführung von privilegierten Operationen - verursachen Unterbrechungen - werden mit Hilfe von Wrapper-Funktionen innerhalb der C-Bibliotheken bereit gestellt. Z.B. malloc(), open(), socket(), read(), write(), usw. - Zwei Wege für die Umschaltung von User-Modus zum Kernel-Modus in der x80-architekturen sind: Was passiert? "int $0x80" oder "sysenter" - wechselt ins Kernel-Modus - Registern werden gespeichert - Systemaufruf wird gestartet. Die ID des Systemaufrufs zusammen mit den Parametern werden in dem Benutzerstapel gepuscht, bevor die Ausführung des Systemaufrufs gestartet wird. 34

35 Beispiel eines Systemaufrufs Benutzermodus #include <stdio.h> main() { printf("my first C-Program"); } /* C Standardbibliothek */ int printf( const char *format,...){ write() } Kernmodus trap return write()-systemaufruf 35

36 Benutzerprogramme und System-Aufrufe Benutzer-Modus Prozess A Prozess B... Systemaufruf Prozess C Kernel-Modus sys_call_table Syscall_Handler System service dispatcher.text ALIGN ENTRY(sys_call_table).long sys_ni_syscall.long sys_exit.long sys_fork.long sys_read.long sys_write.long sys_open.long sys_clos.long sys_waitpid.long sys_creat.long sys_link.long sys_chmod System services Treiber Treiber Treiber 36

37 Systemaufrufe Benutzer-Modus read()... read(){ int 0x80 } systemcall() sys_read() ret_from_sys_call()... Kernel-Modus sys_read(){ } zwei spezielle Befehle: int Interrupt-Befehl iret Interrupt-Return-Befehl 37

38 Parameter-Übergabe 1. Direkt durch die Register eax enthält die ID des Systemauf Intel ebx, ecx, edx, esi, edi für weitere Parameter Probleme: maximal 6 Parameter Werte-Bereich auf 32 Bits beschränkt Vorteile: sehr schnell 2. Ausführungsstapel die Parameter werden vom Stapel geholt 38

39 Parameter-Übergabe 3. Die Adresse einer Tabelle, in der die Parameter sind, wird in ein Register geschrieben. Linux und Solaris x Register Benutzerprogramm Betriebssystem 39

40 Systemaufrufe Nach der Parameterübergabe... EntryPoint: switch to kernel stack save context check Register 0 User stack User memory Registers call the real code pointed by Register 0 restore context switch to user stack iret (change to user mode and return) Kernel stack Kernel memory Registers 40

41 Entwurf-Entscheidungen Allgemeine Aspekte: - Was ist einfacher? - Was ist übersichtlicher? - wie groß ist der Ausführungs-Overhead? Spezielle Aspekte: - Wertbereich von Parameter bzw. Ergebnisse - wie sicher sind die Programme - wie viele CPUs? - Implementierung-Aufwand 41

42 x86 Schutz-Ringe Betriebssystem Kernel Betriebssystem Dienste Anwendungen Level 0 Level 1 Level 2 Level 3 Privilegierte Operationen nur in "Level 0" 42

43 Implementierung von Systemaufrufen Jeder Systemaufruf bekommt eine Zahl zugeordnet. Diese Zahl wird als Index in einer Tabelle verwendet, mit Hilfe derer der Systemaufruf stattfindet..text ALIGN ENTRY(sys_call_table).long sys_ni_syscall /* 0 - old "setup()" system call*/.long sys_exit.long sys_fork.long sys_read.long sys_write.long sys_open /* 5 */.long sys_close.long sys_waitpid.long sys_creat.long sys_link.long sys_unlink /* 10 */.long sys_execve.long sys_chdir.long sys_time.long sys_mknod.long sys_chmod /* 15 */... 43

44 Ausnahmen und Unterbrechungen Hardware Geräte- Unterbrechung System Service Call Hardware-Exceptions Software-Exceptions VM-Exceptions sys_call_table System service dispatcher Exception dispatcher VM manager s pager Interrupt service routines System services Exception handlers 44

45 Linux-Dateien für Systemaufrufe Wichtige Dateien: arch/i386/kernel/entry.s Systemaufrufe low-level fault handling routines. include/asm-i386/unistd.h Systemaufrufe-IDs und Makros. kernel/sys.c die eigentliche Implementierungen der Funktionen sind hier. 45

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel [email protected] http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Sicheres C Programmieren in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies AG

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Kapitel VI. Speicherverwaltung. Speicherverwaltung Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

DLLs (dynamic loaded libraries) mit MingW erstellen

DLLs (dynamic loaded libraries) mit MingW erstellen DLLs (dynamic loaded libraries) mit MingW erstellen Autor: Michel D. Schmid Datum: April 2, 2009 Contents 1 Einführung 1 1.1 Open-Source Tools.......................................... 1 2 Beispiel 1:

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Workshop: Eigenes Image ohne VMware-Programme erstellen

Workshop: Eigenes Image ohne VMware-Programme erstellen Workshop: Eigenes Image ohne VMware-Programme erstellen Normalerweise sind zum Erstellen neuer, kompatibler Images VMware-Programme wie die Workstation, der ESX-Server oder VMware ACE notwendig. Die Community

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 2. UNIX/Linux-Prozessverwaltung und zugehörige Systemaufrufe Wintersemester 2015/16 2. Die UNIX/LINUX-Prozessverwaltung Aufgaben: 1. Erzeugen neuer Prozesse

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper 1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

Mehr

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

Zugriff auf die Modul-EEPROMs

Zugriff auf die Modul-EEPROMs MAX-P- und P-Bibliotheken EEPROM-Zugriff 1 Zugriff auf die Modul-EEPROMs Jedes X-Bus-Modul verfügt über ein EEPROM, in dem modulspezifische Daten gespeichert werden. Neben einigen Bereichen, die vom Betriebssystem

Mehr

Systemprogrammierung

Systemprogrammierung Systemprogrammierung 3Vom C-Programm zum laufenden Prozess 6. November 2008 Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2008 SS 2006 SOS 1 (03-Pro.fm 2008-11-06 08.52) 3 Vom C-Programm

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Formular»Fragenkatalog BIM-Server«

Formular»Fragenkatalog BIM-Server« Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument

Mehr

2Binden 3. und Bibliotheken

2Binden 3. und Bibliotheken 3 Vom C-Programm zum laufenden Prozess 3.1 Übersetzen - Objektmodule 1Übersetzen 3. - Objektmodule (2) Teil III 3Vom C-Programm zum laufenden Prozess 2. Schritt: Compilieren übersetzt C-Code in Assembler

Mehr

YouTube: Video-Untertitel übersetzen

YouTube: Video-Untertitel übersetzen Der Easytrans24.com-Ratgeber YouTube: Video-Untertitel übersetzen Wie Sie mit Hilfe von Easytrans24.com in wenigen Schritten Untertitel für Ihre YouTube- Videos in mehrere Sprachen übersetzen lassen können.

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Übung 1 - Betriebssysteme I

Übung 1 - Betriebssysteme I Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

Mehr

Installationshinweise BEFU 2014

Installationshinweise BEFU 2014 Installationshinweise BEFU 2014 Allgemeines BEFU 2014 läuft unter dem Betriebssystem Windows XP, Vista, 7, 8. Für BEFU 2014 wird als Entwicklungsumgebung Access (32-Bit) verwendet. Es werden zum Download

Mehr

<[email protected]>

<mail@carstengrohmann.de> Security Enhanced Linux Eine Einführung Tom Vogt Carsten Grohmann Überblick Was ist SELinux? Erweiterung des Kernels Was bietet SELinux? Kapslung von Programmen

Mehr

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Einleitung Es kommt vor, dass im Handel Disketten angeboten werden, die Styles und Registrationen

Mehr

Wie können Sie eine Client Lizenz wieder freigeben?

Wie können Sie eine Client Lizenz wieder freigeben? NetWorker - Allgemein Tip #267, Seite 1/5 Wie können Sie eine Client Lizenz wieder freigeben? Auch diese Frage wird häufig gestellt - sie ist wichtig, wenn ein Computer außer Dienst gestellt wurde und

Mehr

Herzlich Willkommen bei der nfon GmbH

Herzlich Willkommen bei der nfon GmbH efax Handbuch Herzlich Willkommen bei der nfon GmbH Wir freuen uns, Ihnen unser efax vorstellen zu dürfen. Mit dem efax können Sie zu jeder Zeit mit Ihrem Rechner Faxe empfangen. Sie bekommen diese dann

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

Mehr

Programmentwicklung mit C++ (unter Unix/Linux)

Programmentwicklung mit C++ (unter Unix/Linux) Programmentwicklung mit C++ (unter Unix/Linux) Erste Schritte Der gcc - Compiler & Linker Organisation des Source-Codes & Libraries Automatische Programmgenerierung: Make Birgit Möller & Denis Williams

Mehr

Installationsanleitung

Installationsanleitung Installationsanleitung zu @Schule.rlp (2015) Inhaltsverzeichnis Inhaltsverzeichnis... 1 Voraussetzungen... 2 vorbereitende Aufgaben... 3 Installation @Schule.rlp (2015):... 3 Installation Java SE Runtime

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

TIMI: Technische Informatik für Medieninformatiker

TIMI: Technische Informatik für Medieninformatiker TIMI: Technische Informatik für Medieninformatiker Bachelor-Studiengang Digitale Medien Medieninformatik SS 2004 Niels Pollem Arbeitsgruppe Rechnernetze (Prof. Dr.-Ing. Ute Bormann) Scheduling:

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

QUICK INSTALLATION GUIDE

QUICK INSTALLATION GUIDE BIANCA/BRI für Windows NT Willkommen zu einer der leistungsfähigsten ISDN-Lösungen für Windows NT. Diese Lösung umfaßt nicht nur die CAPI (Common ISDN Application Program Interface), sondern auch NDIS-IP.

Mehr

Persönliches Adressbuch

Persönliches Adressbuch Persönliches Adressbuch Persönliches Adressbuch Seite 1 Persönliches Adressbuch Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. ALLGEMEINE INFORMATIONEN ZUM PERSÖNLICHEN

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode

Mehr

Local Control Network Technische Dokumentation

Local Control Network Technische Dokumentation Steuerung von Hifi-Anlagen mit der LCN-GVS Häufig wird der Wunsch geäußert, eine Hi-Fi-Anlage in die Steuerung der LCN-GVS einzubinden. Auch das ist realisierbar. Für die hier gezeigte Lösung müssen wenige

Mehr

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: [email protected]

Mehr

Karlsruher Institut für Technologie

Karlsruher Institut für Technologie Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt

Mehr

Eigene Dokumente, Fotos, Bilder etc. sichern

Eigene Dokumente, Fotos, Bilder etc. sichern Eigene Dokumente, Fotos, Bilder etc. sichern Solange alles am PC rund läuft, macht man sich keine Gedanken darüber, dass bei einem Computer auch mal ein technischer Defekt auftreten könnte. Aber Grundsätzliches

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Applet Firewall und Freigabe der Objekte

Applet Firewall und Freigabe der Objekte Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

Stepperfocuser 2.0 mit Bootloader

Stepperfocuser 2.0 mit Bootloader Stepperfocuser 2.0 mit Bootloader Info Für den Stepperfocuser 2.0 gibt es einen Bootloader. Dieser ermöglicht es, die Firmware zu aktualisieren ohne dass man ein spezielles Programmiergerät benötigt. Die

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

U23 - Shellcode. Twix Chaos Computer Club Cologne. Motivation Einstieg Der erste Shellcode Nullbytes, NOP Slides

U23 - Shellcode. Twix Chaos Computer Club Cologne.  Motivation Einstieg Der erste Shellcode Nullbytes, NOP Slides Twix e.v. http://koeln.ccc.de 2016-11-28 Überblick 1 Motivation Was ist Shellcode? Beispiel 2 Einstieg Erzeugen, Testen von Shellcode 3 Der erste Shellcode Strings in Shellcode 4 Nullbytes, NOP Slides

Mehr

Persona-SVS e-sync GUI/Client Installation

Persona-SVS e-sync GUI/Client Installation Persona-SVS e-sync GUI/Client Installation 2014 by Fraas Software Engineering GmbH (FSE). Alle Rechte vorbehalten. Fraas Software Engineering GmbH Sauerlacher Straße 26 82515 Wolfratshausen Germany http://www.fraas.de

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

DIE SCHRITTE ZUR KORREKTEN LIZENZIERUNG

DIE SCHRITTE ZUR KORREKTEN LIZENZIERUNG Datacenter für Itanium-basierte Systeme Einsatz in virtuellen Umgebungen Für die Lizenzbestimmungen spielt es keine Rolle, welche Art der Virtualisierung genutzt wird: Microsoft Virtual Server, Microsoft

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Netzwerksicherheit Musterlösung Übungsblatt 4: Viren

Netzwerksicherheit Musterlösung Übungsblatt 4: Viren Institut für Informatik Alina Barendt und Philipp Hagemeister Netzwerksicherheit Musterlösung Übungsblatt 4: Viren 1 Vorbereitung msg db "Virus" mov ah, 40h mov bx, 1 mov cx, $5 mov dx, msg int 21h ; Write

Mehr

FlashAir. Tool zur Firmwareaktualisierung Version 1.00.03. Bedienungsanleitung

FlashAir. Tool zur Firmwareaktualisierung Version 1.00.03. Bedienungsanleitung FlashAir Tool zur Firmwareaktualisierung Version 1.00.03 Bedienungsanleitung 1 Tool zur FlashAir -Firmwareaktualisierung Version 1.00.03 Toshiba Corporation - Semiconductor & Storage Products Company Copyright

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper ([email protected])

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper ([email protected]) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows

Mehr

MEYTON CGI Display Controller

MEYTON CGI Display Controller MEYTON CGI Display Controller Verfasser : Teodora Pamerak Czerny MEYTON Elektronik GmbH Spenger Str 38 49328 Melle Bruchmühlen Tel.: +49 5226 9824 0 Fax.:+49 5226 9824 20 Inhaltsverzeichnis Vorwort...3

Mehr

IntelliRestore Seedload und Notfallwiederherstellung

IntelliRestore Seedload und Notfallwiederherstellung IntelliRestore Datensicherung IntelliRestore Seedload und Notfallwiederherstellung Daten. Sichern. Online Vorwort Auch größere Datenmengen lassen sich für gewöhnlich schnell über den IntelliRestore SoftwareClient

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Hilfe zur Dokumentenverwaltung

Hilfe zur Dokumentenverwaltung Hilfe zur Dokumentenverwaltung Die Dokumentenverwaltung von Coffee-CRM ist sehr mächtig und umfangreich, aber keine Angst die Bedienung ist kinderleicht. Im Gegensatz zur Foto Galeria können Dokumente

Mehr

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java Stand: 21.02.2015 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert

Mehr

Rillsoft Project - Installation der Software

Rillsoft Project - Installation der Software Rillsoft Project - Installation der Software Dieser Leitfaden in 6 Schritten soll Sie schrittweise durch die Erst-Installation von Rillsoft Project führen. Beachten Sie bitte im Vorfeld die nachstehenden

Mehr

Buffer Overflow 1c) Angriffsstring: TTTTTTTTTTTTTTTT (16x) Beachte: Padding GCC-Compiler Zusatz: gcc O2 verhindert hier den Angriff (Code Optimierung)

Buffer Overflow 1c) Angriffsstring: TTTTTTTTTTTTTTTT (16x) Beachte: Padding GCC-Compiler Zusatz: gcc O2 verhindert hier den Angriff (Code Optimierung) Buffer Overflow 1c) 1 char passok='f'; 2 char password[8]; 3 printf( Passwort: ); 4 gets(password); 5 if(!strcmp(password, daspassw )){passok = 'T';} 6 if(passok=='t'){printf( %s, Willkommen! );} 7 else

Mehr

Bedienerhandbuch Toleranztabellen Version 1.2.x. Copyright Hexagon Metrology

Bedienerhandbuch Toleranztabellen Version 1.2.x. Copyright Hexagon Metrology Toleranztabellen Version 1.2.x Copyright Hexagon Metrology Inhaltsverzeichnis 1. Allgemeine Hinweise... 3 1.1. Softwareziele... 3 1.2. Softwarevoraussetzungen... 3 1.3. Softwaregarantie und Support...

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr