Systemnahe Programmierung (Systems Programming)

HOME     


Semester:   WS 2010/11
LVA-Name:    Systemnahe Programmierung
(Systems Programming)

Die Gruppen 1,3 und 5 werden in englischer Sprache abgehalten.
(The groups 1,3 and 5 will be held in English)

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

LVA-Nummer:    353.005  Gruppe 1 (Group 1)
353.011  Gruppe 2 (Group 2)
353.007  Gruppe 3 (Group 3)
353.010  Gruppe 4 (Group 4)
353.015  Gruppe 5 (Group 5) für Mechatroniker (for mechatronic engineers)
LVA-Typ:    PR
Wochenstd. pro Sem.:    2
Vortragende(r):    Alexandros Paramythis (Group 1, 3 und 5)
Florian König (Gruppe 2 und 4)
Max. Teilnehmerzahl:    Max. 35 (jede Gruppe/each group)
Anmeldemodus:    Online
 
Termine:   

Gruppe 1 (Group 1) - 353005:
Wöchentlich am Mi 8:30 - 10:00 Uhr, Beginn: 6.10.2010
(Weekly on Wed 08:30 - 10:00, Start: 6.10.2010)
T 038/1

Gruppe 2 (Group 2) - 353011:
Wöchentlich am Mi 10:15 - 11:45 Uhr, Beginn: 6.10.2010
(Weekly on Wed 10:15 - 11:45, Start: 6.10.2010)
T 038/1

Gruppe 3 (Group 3) - 353007:
Wöchentlich am Mi 12:00 - 13:30 Uhr, Beginn: 6.10.2010 im T 111
(Weekly on Wed 12:00 - 13:30, Start: 6.10.2010 in T 111)
Ab 13.10.2010: HS 12
(From 13.10.2010: HS 12

Gruppe 4 (Group 4) - 353010:
Wöchentlich am Mi 13:45 - 15:15 Uhr, Beginn: 6.10.2010
(Weekly on Wed 13:45 - 15:15, Start: 6.10.2010)
T 212

Gruppe 5 (Group 5) für Mechatroniker (for mechatronic engineers) - 353010:
Wöchentlich am Mi 15:30 - 17:00 Uhr, Beginn: 6.10.2010
(Weekly on Wed 15:30 - 17:00, Start: 6.10.2010)
T 038/1
 

Ort:    Gruppe 1 (Group 1): T 038/1
Gruppe 2 (Group 2): T 038/1
Gruppe 3 (Group 3): 6.10.2010: T 111, ab (from) 13.10.2010: HS 12
Gruppe 4 (Group 4): T 212
Gruppe 5 (Group 5): 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 1,3 und 5 werden in englischer Sprache abgehalten.
(The groups 1,3 and 5 will be held in English)

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

Prüfung:    Schriftlich am Ende des Semesters
(Written exam at the end of the semester)
Literatur:   
Sprechstunden   Mi, 10:30 - 12:00
(Wed, 10:30 - 12:00)
 
Sonstige Informationen:     
Weitere Auskünfte:    Alexandros Paramythis (email: paramythis@fim.uni-linz.ac.at)
Florian König (email: koenig@fim.uni-linz.ac.at)
 
Links zu anderen Sem.:     

Letzte Änderung:  2010-09-06