Systemnahe Programmierung (Systems Programming)

HOME     


Semester:   WS 2011/12
LVA-Name:    Systemnahe Programmierung
(Systems Programming)
LVA-Nummer:    353.005  Gruppe 1
353.007  Gruppe 2  (Group 2 will be held in English)
353.010  Gruppe 3  (Group 3 will be held in English)

353.011  Gruppe 4 für Mechatroniker
353.015  Gruppe 5 für Mechatroniker
LVA-Typ:    PR
Wochenstd. pro Sem.:    2
Vortragende(r):    DI Florian König (Gruppe 1 und 2)
Dr. Alexandros Paramythis (Gruppe 3)
Dr. Michael Sonntag (Gruppe 4 und 5 für Mechatroniker)
Max. Teilnehmerzahl:    Max. 35 (jede Gruppe/each group)
Anmeldemodus:    Online
 
Termine:   

Gruppe 1 - 353005:
Wöchentlich am Mi 8:30 - 10:00 Uhr, Beginn: 5.10.2011
T 038/1

Gruppe 2 - 353007:
Wöchentlich am Mi 10:15 - 11:45 Uhr, Beginn: 5.10.2011
(Weekly on Wed 10:15 - 11:45, Start: 5.10.2011)
T 038/1
Gruppe 2 wird in englischer Sprache abgehalten.
(Group 2 will be held in English.)

Gruppe 3 - 353010:
14-tägig am Fr 13:45 - 17:00 Uhr, Beginn: 7.10.2011
(every two weeks on Fri 13:45 - 17:00, Start: 7.10.2011)
T 038/1
Zusätzlicher Termin für diese Gruppe: 7.10.2011, 17:15 - 18:45, T 038/1
(Additional date for this group: 7.10.2011, 17:15 - 18:45, T 038/1)

Gruppe 3 wird in englischer Sprache abgehalten.
(Group 3 will be held in English.)

Gruppe 4 für Mechatroniker - 353011:
Wöchentlich am Fr 8:30 - 10:00 Uhr, Beginn: 7.10.2011
T 038/1

Gruppe 5 für Mechatroniker - 353015:
Wöchentlich am Fr 10:15 - 11:45 Uhr, Beginn: 7.10.2011
T 038/1

Informationen zu den aktuellen Terminen der einzelnen Gruppen erhalten Sie im KUSSS.
 

Nachklausur:
16.5.2012, 15:30 - 17:00 Uhr, HS 2
Anmeldung: bis 14.5.2012, 12.00 Uhr
Abmeldung: bis 16.5.2012, 12.00 Uhr
Zur Klausur Lichtbildausweis bitte mitnehmen, Unterlagen sind nicht erlaubt.

Ort:    Gruppe 1: T 038/1
Gruppe 2: T 038/1
Gruppe 3: T 038/1

Gruppe 4 für Mechatroniker: T 038/1
Gruppe 5 für Mechatroniker: T 038/1
 
Inhalt der LVA:   

The course will comprise three parts, taught in conjunction with two different programming languages. Specifically the course's three parts will be on assembly, C and operating system-level programming. The contents of the course will be as follows:

Assembly Part C Part System Part
  • Computer Architecture
    • Von Neumann architecture
    • CPU
    • Registers
    • History of Intel processors
    • Data accessing methods
    • Instruction set architecture
    • IA-32
       
  • Introduction to Assembly
    • Programming environment
    • Compiling, linking and running programs
    • Object code
    • Examples
       
  • All About Functions
    • Aspects of functions
    • Calling a function
    • C calling convention
    • Managing registers for function calls
       
  • Dealing With Files
    • The file concept of UNIX
    • Dealing with files
    • Buffers
    • Redirecting input/output
    • Pipes
       
  • Dynamic libraries
    • Why dynamic libraries?
    • Dynamic linking
    • Library dependencies
    • Building and using a dynamic library
       
  • Intermediate Memory Topics
    • Memory hierarchy
    • Virtual and physical memory
    • Memory layout of Linux programs
    • Dynamic memory allocation
  • High-Level Languages
     

  • Introduction to C
    • History of the C language
    • Main similarities and differences from Java
    • Quick overview of the most important features of the language
       
  • Pointers, arrays and strings - 1st Part
    • Variables and pointer variables
    • Pointer types, operators
    • Similarities and differences between pointers and arrays
    • Strings in C
    • Array indexing and pointer arithmetic
    • Pointers to structures
       
  • Pointers, arrays and strings - 2nd Part
    • Multi-dimensional arrays
    • Pointers to arrays
    • Dynamic allocation of memory
    • Dynamic allocation of multi-dimensional arrays
    • Pointers to functions
       
  • User-defined types
    • Structures
    • Unions
    • Enumerations
       
  • Basic I/O in C
    • Streams
    • Character- / line- oriented input & output
    • Block I/O
    • File positioning
    • Formatted input & output
       
  • The standard C library
    • ANSI libraries and header files
    • Character class tests
    • Error checking and reporting
    • String functions
    • Time and date functions
    • Standard utility functions
       
  • Signal handling
    • Signal handling basics
    • Waiting for signals
    • Signal system calls
       
  • Interprocess communication
    • Pipes and named pipes
    • Message queues
    • Semaphores
    • Shared memory
LVA-Modus:    Die Gruppen 2 und 3 werden in englischer Sprache abgehalten.
(The groups 2 and 3 will be held in English)

Die Gruppen 1, 4 und 5 werden in deutscher Sprache abgehalten.
(The groups 1, 4 and 5 will be held in German)

Prüfung:    Schriftlich am Ende des Semesters
(Written exam at the end of the semester)
Literatur:   
Sprechstunden   Mo, 9:00 - 12:00 am Institut
(Mon. 9:00 - 12:00 at the institute)
 
Sonstige Informationen:     
Weitere Auskünfte:    Florian König (email: koenig@fim.uni-linz.ac.at)
Michael Sonntag (email: sonntag@fim.uni-linz.ac.at
Alexandros Paramythis (email: alpar@fim.uni-linz.ac.at)
 
Links zu anderen Sem.:     

Letzte Änderung:  2012-04-18