08574 - Operating Systems

Course Unit Page

  • Teacher Renzo Davoli

  • Learning modules Renzo Davoli (Modulo 1)
    Renzo Davoli (Modulo 2)

  • Credits 12

  • SSD INF/01

  • Teaching Mode Traditional lectures (Modulo 1)
    Traditional lectures (Modulo 2)

  • Language Italian

  • Campus of Bologna

  • Degree Programme First cycle degree programme (L) in Computer Science (cod. 8009)

Academic Year 2017/2018

Learning outcomes

The objective of the course is to illustrate the structure and the methods to build modern multitaking operating systems. This course also explains how to install, program and administer an operating system.

Course contents

  • Operating Systems: definition and history
  • Concurrent Programming
  • Structure of an O.S.
  • Scheduling
  • Resource Management
  • Main Memory Management
  • Secondary Memory Management
  • File Systems
  • Security of Operating Systems
  • the C language
  • Programming Tools
  • Shell scripting
  • The Python Language


Suggested books (these books are quite equivalent)

  • Silbershatz, Galvin, Gagne. Applied Operating System Concepts. Addison Wesley (any edition)
  • Gary Nutt. Operating Systems - A modern Perspective. Addison Wesley
  • Tanenbaum, Woodhill. Operating System Design and Implementation. Prentice Hall
  • William Stallings. Operating Systems. Prentice Hall
For the laboratory assignments:
  • Michael Goldweber, Renzo Davoli µMPS Principles of Operation. Lulu Books. 2009
  • Michael Goldweber, Renzo Davoli Student Guide to the Kaya Operating System. Lulu Books. 2009
  • Richard Stevens. Advanced Programming in UNIX. Addison-Wesley
  • Eric Steven Raymond. The Art of Unix Programming. Addison-Wesley
Further readings:
  • G. Andrews. Concurrent Programming. Benjamin/Cummings, 1991.
On-line documents

Teaching methods

  • Lectures
  • Theoretical Recitations
  • Recitations on Programming, system call usage, scripting.
  • Laboratory Project
  • Discussions on the project

Assessment methods

  • written test
  • Laboratory project
  • programming tests in the laboratory

Teaching tools

Video projector, blackboard, Internet.
This course is proprietary software free, i.e. we'll use libre (FLOSS) software only. Students can deepen their understanding at any level and they are free to use the knowledge acquired in this course.

Office hours

See the website of Renzo Davoli