Sistemi operativi 2007/2008

learning outcomes

The course introduces the fundamental issues that concern modern operating systems, ranging from architectural and structural aspects to functioning and dynamics, balancing theory and practice. The arguments are exemplified taking as references three modern operating system families, such as Unix (Linux), Windows (XP) and Mac OS X (Darwin / Mach).
Besides the description of the classic issues, the course introduces the students to the design and programming of concurrent software systems, using Java as the reference language for the practice.

course contents

The course is composed by the following parts:

  • Introduction to modern Operating Systems
    • objectives, organisation, architectures
  • Services and functioning of Operating Systems
    • Process management
    • Memory management
    • I/O subsystems and network management
    • Protection and Security
  • System programming
    • Shell and script programming in Unix Shell (Bourne)
    • The C language
  • Design and implementation of an OS: MINIX
    • general architecture and implementation of some kernel parts
    • modification and extension of the kernel, and kernel re-compilation
  • Introduction to concurrent programming
    • Multi-threaded programming in Java
readings / bibliography
  • The reference textbook for the course is
    • "Sistemi Operativi" (Ancillotti, Boari, Ciampolini, Lipari), McGraw-Hill, 2004
    • "Operating Systems - Design and Implementation" (Tanenbaum, Woodhull), Prentice-Hall, 2006
teaching methods

The course is developed in six hours per week, four for theory and two for practice.

assessment methods
  • The final assessment is composed by two parts:
  • (1) written examination, composed by exercises about the content of the course
  • (2) practice, composed by a set of programs to be developed at home
  • The programs can be assigned and developed during the course - for students attending the course - or assigned and developed within the next week after the written examination.
  • Assessment weightings:
    • 50% for the written examination
    • 50% for the practice
teaching tools

The main reference for the course content is the set of course notes (slides) discussed during the lessons and available for download from the course web site. For the practice, a laboratory with 80 computers with different kind of OSs is available.
All the material is available on the official web site of the course: http://corsi.ing2.unibo.it/SISOP0708