Friedrich-Alexander-Universität UnivisSearchDeutsch FAU-Logo
Techn. Fakultät Willkommen am Department Informatik FAU-Logo
Logo I4
Department of Computer Science 4
Jürgen Kleinöder
 
Contact
Lectures
Research
Publications
Tech. Reports
Short Bio
GI / ITG FG BS
Dept. of Computer Science  >  CS 4  >  People  >  Kleinoeder

Jürgen Kleinöder: Lectures - Overview

I teach courses about operating-systems programming and object orientation in operating systems.

Applied operating systems programming I
(AKBP I)
This course presents the major components of the UNIX operating system. The core consists of the file system, the process management, inter-process and remote communication. Case studies give a more in-depth knowledge of the fundamentals discussed in Operating Systems I and Operating Systems Programming I lectures. In addition, newer operating systems (for multiprocessors and distributed systems) are discussed. Topics include:
  • UNIX overview: history, terminology, system structures
  • File system: mechanisms in UNIX (concepts, strategies, data structures), buffer cache, I/O system, drivers, examples
  • Processes and programs: management, scheduling, signal handling, data structures and algorithms in UNIX
  • Inter-process communication: pipes, System V-IPC, sockets, TCP/IP, RPC, NFS
  • Interfaces for system calls: interrupt and exception handling
  • MACH concepts: micro kernel, lightweight processes, IPC
  • Architecture-independent memory management in MACH
  • Security of UNIX systems
More detailed descriptions and references to the slides (in german)

Applied operating systems programming II
(AKBP II)
AKBP II is a two-week hands-on course in which the students have the opportunity to apply their knowledge from Operating Systems I and AKBP I in a major project. We implement new modules for a real UNIX kernel (currently Solaris 2.6). After a two-day introduction, the students work in pairs, each pair on their own project.
More detailed descriptions (in german)

Object-oriented concepts in distributed systems
(OODS)
The first part of this lecture gives an overview about the basic concepts of object-oriented programming. Examples from C++ and Java are used to illustrate the theretical concepts. In the second part we introduce distributed systems in general and its the fundamental problems and concepts. CORBA as middleware for object-oriented applications in distributed systems builts the bridge between these section in part three of the lecture. In part four we go into the details of the Java environment and we conclude the course with an introduction into frameworks and some interesting research projects on object-oriented distributed systems.
More detailed descriptions and references to the slides and exercise classes (older version in english)
More detailed descriptions and references to the slides and exercise classes (since Summer 2002 in german)

Object-oriented concepts in operating systems
(OOBP)
This course presents an introduction to object-oriented programming and extensive case studies of object based and object oriented operating systems.
  • Operating systems architectures: monolithic kernels, microkernels, object based operating systems
  • Basics of object oriented design and programming
  • Case study of an object oriented programming language: C++
  • An object-oriented language,run-time environment and virtual machine: Java
  • Case studies of object oriented operating systems: Choices (Univ. of Illinois), Clouds (Georgia Tech), Spring (Sun), PM (Univ. of Erlangen-Nuernberg)
Contents and video clips of a short version of the lecture (in english)
More detailed descriptions and references to the script and exercise classes (in german)
Test

Introduction into Programming (C)
The lecture gives an introduction into the basic concepts of programming. After a short overview about the terms and the architecture of computers and programs, the basic concepts of programming languages (with C as example) are introduced:
  • Data types, operators, expressions
  • Flow control, functions
  • Arrays and pointers
  • Structures
  • Program structure, modularization, recursion
  • Complex data structures (such as lists or trees), search algorithms, ...
More detailed descriptions and references to the script and exercise classes (in german)
  Contact Last modified: 2003-09-11 18:52