First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
Faculty of Engineering
COMPUTER ENGINEERING
Course unit
OPERATIVE SYSTEMS
IN06107631, A.A. 2012/13

Information concerning the students who enrolled in A.Y. 2012/13

Information on the course unit
Degree course Second cycle degree in
COMPUTER ENGINEERING
IN0521, Degree course structure A.Y. 2009/10, A.Y. 2012/13
N0
bring this page
with you
Number of ECTS credits allocated 9.0
Type of assessment Mark
Course unit English denomination OPERATIVE SYSTEMS
Mandatory attendance No
Language of instruction Italian
Branch PADOVA
Single Course unit The Course unit CANNOT be attended under the option Single Course unit attendance
Optional Course unit The Course unit can be chosen as Optional Course unit

Lecturers
Teacher in charge MICHELE MORO ING-INF/05

Mutuated
Course unit code Course unit name Teacher in charge Degree course code
IN06107631 OPERATIVE SYSTEMS MICHELE MORO IN0524

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Core courses ING-INF/05 Data Processing Systems 9.0

Course unit organization
Period Second semester
Year 1st Year
Teaching method frontal

Type of hours Credits Teaching
hours
Hours of
Individual study
Shifts
Lecture 9.0 72 153.0 No turn

Calendar
Start of activities 04/03/2013
End of activities 15/06/2013
Show course schedule 2019/20 Reg.2009 course timetable

Examination board
Board From To Members of the board
8 A.A. 2018/2019 01/10/2018 15/03/2020 MORO MICHELE (Presidente)
FERRARI CARLO (Membro Effettivo)
GHIDONI STEFANO (Supplente)
MENEGATTI EMANUELE (Supplente)
MIGLIARDI MAURO (Supplente)
NANNI LORIS (Supplente)
ZINGIRIAN NICOLA (Supplente)
7 A.A. 2017/2018 01/10/2017 15/03/2019 MORO MICHELE (Presidente)
NANNI LORIS (Membro Effettivo)
BADALONI SILVANA (Supplente)
CANAZZA TARGON SERGIO (Supplente)
MENEGATTI EMANUELE (Supplente)
MIGLIARDI MAURO (Supplente)
RODA' ANTONIO (Supplente)
SATTA GIORGIO (Supplente)
ZINGIRIAN NICOLA (Supplente)
6 A.A. 2016/2017 01/10/2016 15/03/2018 MORO MICHELE (Presidente)
FERRARI CARLO (Membro Effettivo)
AVANZINI FEDERICO (Supplente)
FANTOZZI CARLO (Supplente)
GHIDONI STEFANO (Supplente)
MENEGATTI EMANUELE (Supplente)
5 A.A. 2015/2016 01/10/2015 15/03/2017 MORO MICHELE (Presidente)
FERRARI CARLO (Membro Effettivo)
MENEGATTI EMANUELE (Supplente)
4 A.A. 2014/2015 01/10/2014 15/03/2016 MORO MICHELE (Presidente)
FERRARI CARLO (Membro Effettivo)
CLEMENTE GIORGIO (Supplente)
DE POLI GIOVANNI (Supplente)
MENEGATTI EMANUELE (Supplente)
MIGLIARDI MAURO (Supplente)
ZINGIRIAN NICOLA (Supplente)
3 2012 01/10/2012 15/03/2014 MORO MICHELE (Presidente)
CLEMENTE GIORGIO (Membro Effettivo)
CONGIU SERGIO (Supplente)
FERRARI CARLO (Supplente)

Syllabus
Prerequisites:
Target skills and knowledge:: Upon completing the course, the student will be able to:

Understand the concept of process and the distinction between process and program
Describe the evolution of processes
Know the problems related to resource allocation and deadlock
Know the Petri Net semantics and evolution
Understand the request for process synchronization and related tools
Know the basic constructs of the ADA language regarding service calls and their options
Know the role of an operating system kernel and hardware resources it uses
Understand the objectives of a scheduler and some important Scheduling Algorithms
Understand the distinction between physical and logical organization of memory
Understand features and benefits of a virtual memory
Understand motivations and benefits in I/O management
Understand the organization of a file system
Know some basics of the UNIX architecture
Understand scheduling needs and related solutions in Real Time OS
Course unit contents: Theory and Evolution of operating systems
Role of an OS and its internal organization
Examples of OS in use
Concurrent programming paradigms and synchronization models
Working with real-time systems
Planned learning activities: Basic concepts. Functions of an operating system. Evolution of architectures.
Concurrency and parallelism. Models of concurrent systems. Processes, resources,
interference and cooperation. Constraints in processes evolution.
Precedence Graphs. Deadlock: definition, recognition and prevention.
Petri nets. Synchronization and communication between processes.
Semaphores, mailboxes and messages. Synchronization protocols.
Design of an operating system: organization, resource management,
data structures and algorithms. Main OS subsystems:
Kernel: protection, synchronization, processor scheduling,
memory management, input-output devices and drivers,
organization and management of secondary memory,
virtual memory. Raid systems.
High level functions of an operating system: file system, shell,
graphic user interface. Multiprocessor systems.
Scheduling. Outlines: embedded, distributed and real time systems - OS virtualization. Organisation and use of the Linux system.
Processes, threads and concurrent programming.
Paradigms for concurrent programming.
Basic models for synchronization: Mutex, Semaphores, Regions.
High-level constructs: Monitor, Rendez-vous.
Concurrent programming languages: Concurrent Pascal,
CSP, ADA. Concurrency in Java,
implementation of synchronization protocols.
Examples and exercises of concurrent programs.
Textbooks: G.Clemente, F.Filira, M.Moro, Sistemi Operativi: Architettura e Programmazione concorrente, 3/e. Padova: Libreria Progetto, 2011. Cerca nel catalogo
Additional notes about suggested reading:: For further educational materials see: https://moodle.dei.unipd.it/
Teaching methods: Frontal lectures with projected slides; classroom concurrent programming
exercises; distribution of a software library for concurrent
programming in Java finalized to individual activities.
Assessment criteria: Witten test on concurrent programming +
Oral test
Further information: Il materiale didattico aggiuntivo sarĂ  accessibile agli iscritti al corso tramite la bacheca elettronica DEI (https://moodle.dei.unipd.it/), con password fornita dal docente a inizio corso.