Semester: |
|
WS 2009/10 |
LVA-Name: |
|
Systemnahe
Programmierung
(Systems Programming)
Die Lehrveranstaltung wird in englischer Sprache abgehalten.
(The lecture will be held in English)
|
LVA-Nummer: |
|
353.005
Gruppe 1 (Group 1)
353.007 Gruppe 3 (Group 3) |
LVA-Typ: |
|
PR |
Wochenstd.
pro Sem.: |
|
2 |
Vortragende(r): |
|
Alexandros Paramythis
|
Max.
Teilnehmerzahl: |
|
Max. 35 |
Anmeldemodus: |
|
Online
|
Termine: |
|
Gruppe 1 (Group
1):
Wöchentlich am
Mi 8:30 - 10:00 Uhr, Beginn: 7.10.2009
(Weekly on Wed 08:30 - 10:00, Start: 7.10.2009)
T 041
Gruppe 3 (Group
3):
Wöchentlich am
Mi 12:00 - 13:30 Uhr, Beginn: 7.10.2009
(Weekly on Wed 12:00 - 13:30, Start: 7.10.2009)
T 041
Klausur für alle Gruppen gemeinsam
(Exam for all groups):
3.2.2010, 8:30 - 10:00, HS 1
|
Ort: |
|
Gruppe 1 (Group 1): T 041
Gruppe 3 (Group 3): T 041
|
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
Lehrveranstaltung wird in englischer Sprache abgehalten.
(The lecture will be held in English)
|
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)
|
Links
zu anderen Sem.: |
|
|