OPERATING SYSTEMS
cod. 05613

Academic year 2011/12
2° year of course - Second semester
Professor
Academic discipline
Informatica (INF/01)
Field
Attività formative affini o integrative
Type of training activity
Related/supplementary
48 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in - - -

Learning objectives

This class introduces the fundamental principles and concepts that constitute the Operating Systems. We analyze the techniques for handling and for the coordination of system resources, in order to model a physical machine as an abstract device, for user convenience.
The Lab class offers an introduction to Operating Systems, with a particular focus on linux and unix based systems. The goal is to provide a method and the tools to program the shell and control the system (C).

Prerequisites

Systems architecture

Course unit content

Introduction.
Summary of Computer Architectures

Processes and Thread.
Modelization of a process: state, generation and termination. Thread model: use and implementation. Interaction paradigms: sharing, synchronization and communication. Scheduling.
Resources.
Resources Managements. Basic policies. Deadlock: definition, avoidance, prevention, detection, removal. Classical Examples.
Memory management.
Problem definition. Swapping. Paging. Segmentation.

I/O devices management.
Devices and controllers. I/O software. Management: interrupt, drivers, device independent software. Devices: character based devices, magnetic disks.
Unix/Linux OS. History, structure and user interface.
Unix shell. Bash shell, shell scripting, filters.
System Programming in C. Syscalls and system libraries, process control, interprocess communication, threads and multithreading, file-system access and I/O.

Full programme

- - -

Bibliography

Silberschatz, Galvin, Gagne: Sistemi operativi. 8th edition, Pearson

Teaching methods

Oral lesson and laboratory

Assessment methods and criteria

Joined oral written exam

Other information

- - -