Classe delle lauree magistrali in: Ingegneria dell’Automazione (classe LM25) Tipo di attività formativa: Ambito disciplinare: Affine o integrativa Ingegneria dell’Automazione Titolo dell’insegnamento: Sistemi Operativi Codice Ateneo insegnamento: 2422 Corso di laurea magistrale in: Ingegneria dell’Automazione Settore scientifico disciplinare: Sistemi di Elaborazione delle Informazioni (ING-INF/05) Anno accademico: 2013 - 2014 CFU: 12 Tipo di insegnamento: obbligatorio Anno: 1 Semestre: 1+2 DOCENTE: Ing. Michele Ruta (RU) ARTICOLAZIONE IN TIPOLOGIE DIDATTICHE: Il corso comprende 72 ore di lezioni teoriche, 48 ore di esercitazioni, per complessive 120 ore PREREQUISITI: Principi della programmazione strutturata, algoritmi e strutture dati. Principi della programmazione orientata agli oggetti. Modelli ISO/OSI e TCP/IP. OBIETTIVI FORMATIVI: Obiettivo del corso è introdurre l’architettura tipica di un Sistema Operativo (S.O.) per poi passare alla descrizione di una serie di fattispecie avanzate di interesse per un ingegnere dell’automazione. CONTENUTI: Modulo1 - I Parte (6 ore): struttura e funzionamento generale di un S.O.; Modulo1 - II Parte (12 ore): attività computazionali, nucleo e gestione delle risorse; Modulo1 - III Parte (10 ore): gestione dei processi; Modulo1 - IV Parte (4 ore): sistemi real-time (cenni) e sistemi operativi a supporto della mobilità (cenni); Modulo1 - V Parte (20 ore): esercitazioni in aula – introduzione al S.O. Linux; Modulo1 - VI Parte (12 ore): esercitazioni in laboratorio – addestramento all’utilizzo della shell BASH Modulo2 - I Parte (10 ore): sistemi operativi per applicazioni mobili ed embedded; Modulo2 - II Parte (10 ore): sistemi operativi real time, transazionali e distribuiti; Modulo2 - III Parte (6 ore): introduzione alle applicazioni per sistemi distribuiti; Modulo2 - IV Parte (14 ore): principali protocolli applicativi per sistemi distribuiti; Modulo2 - V Parte (16 ore): esercitazioni in laboratorio – progettazione e implementazione di client e server TCP/UDP in Java. METODI DI INSEGNAMENTO: Lezioni ed esercitazioni in aula impartite mediante supporti multimediali e alla lavagna con metodo tradizionale, tutoraggio in forma di assistenza individuale e di gruppo. Esercitazioni in laboratorio impartite mediante Personal Computer. CONOSCENZE E ABILITÀ ATTESE: Familiarità con la struttura e il funzionamento di un S.O. general purpose, tecniche di progettazione di funzionalità elementari di un S.O. e di servizi standard per sistemi distribuiti. SUPPORTI ALLA DIDATTICA: Testi di riferimento, trasparenti multimediali proiettati a lezione, opuscolo su Linux e la shell BASH liberamente scaricabile dal sito docente, link bag. CONTROLLO DELL’APPRENDIMENTO E MODALITÀ D’ESAME: Prova scritta e orale. TESTI DI RIFERIMENTO PRINCIPALI: 1) A. Silberschatz, P.B. Galvin, G. Gagne, Sistemi Operativi con esempi per l’uso in Java, Apogeo. 2) D. Giacomini, Appunti di informatica libera, e-book: http://a2.pluto.it/a21.htm 3) Computer Networking A Top-Down Approach Featuring the Internet, J. Kurose and K. Ross, Addison Wesley. 4) Core Java 2, Volume 1-Fondamenti, C.Horstmann, G. Cornell – Pearson Edu. 5) Java Network Programming, E.Harold, O'Reilly. ULTERIORI TESTI SUGGERITI: 1) P. Ancillotti, M. Boari, A. Ciampolini, G. Lipari, Sistemi operativi, McGraw-Hill. 2) W. Stallings, Sistemi Operativi, Jackson libri. 3) D.P. Bovet, M. Cesati, Understanding the LINUX kernel - Third Edition, O’Reilly. 4) David I. Schwartz, Introduzione a UNIX, Apogeo Education. 5) TCP/IP Illustrated, Volume 1, The protocols, W. R. Stevens, Addison Wesley. 6) Core Java 2, Volume 2 – Tecniche avanzate, C.Horstmann, G. Cornell – Pearson Edu. 7) Thinking in Java (II edizione), B.Eckel, Apogeo. 8) Java J2SE 5 La guida completa, H.Schildt – McGraw Hill. ALTRE INFORMAZIONI: Dipartimento di Ingegneria Elettrica e dell'Informazione, Politecnico di Bari (http://dee.poliba.it) Stanza docente 4° piano ex Architettura, tel. 0805963316 (int. 3316), e-mail: [email protected]. Sito URL: http://sisinflab.poliba.it/ruta. Master Degree Class: Second level (two years) degree: Academic year: Automation Engineering 2013 - 2014 Automation Engineering Type of course: Disciplinary area: Scientific Discipline Sector: ECTS Credits: Related and integrative Automation Engineering Information Systems 12 subject Code: Title of the course: Type of course: Year: Semester: Operating Systems Characteristic Compulsory Subjects 1 1+2 2422 LECTURER: Eng. Michele Ruta (Assistant Professor) HOURS OF INSTRUCTION Total hours number:120 whereof 72 for theoretical lectures and 48 hours for exercises. PREREQUISITES: Structured programming, data structures and algorithms. Object-oriented programming. ISO/OSI and TCP/IP models. AIMS: To present a typical architecture of an Operating System (O.S.) in order to introduce most common features of specific interest for an automation engineer. CONTENTS: Module1 - Part I (6 hours): O.S. general structure and working; Module1 - Part II (12 hours): computing tasks, kernel and resource management; Module1 - Part III (10 hours): processes management; Module1 - Part IV (4 hours): real-time systems and mobile O.S. (hints); Module1 - Part V (20 hours): exercises – O.S. Linux; Module1 - Part VI (12 hours): PC exercises – shell BASH exploitation. Module2 - Part I (10 hours): mobile and embedded O.S.; Module2 - Part II (10 hours): real-time O.S., transactional and distributed O.S.; Module2 - Parte III (6 hours): distributed system applications (introduction); Module2 - Part IV (14 hours): most common application protocols for distributed systems; Module2 - Part V (16 hours): PC exercises – design and development of client and server applications based on TCP/UDP in Java.. TEACHING METHODS: Lectures, numerical examples, analysis of case studies. EXPECTED OUTCOME AND SKILLS: To know both structure and working of a general purpose O.S., to manage most widespread design techniques of an O.S. basic feature, to design client/server applications for distributed systems. TEACHING AIDS: Reference textbooks, PowerPoint slides shown during the lectures, e-book about Linux and the BASH shell as free download, link bag. EXAMINATION METHOD: End-course written and oral examination. BIBLIOGRAPHY: 1) A. Silberschatz, P.B. Galvin, G. Gagne, Sistemi Operativi con esempi per l’uso in Java, Apogeo. 2) D. Giacomini, Appunti di informatica libera, e-book: http://a2.pluto.it/a21.htm 3) Computer Networking A Top-Down Approach Featuring the Internet, J. Kurose and K. Ross, Addison Wesley. 4) Core Java 2, Volume 1-Fondamenti, C.Horstmann, G. Cornell – Pearson Edu. 5) Java Network Programming, E.Harold, O'Reilly. FURTHER BIBLIOGRAPHY: 1) P. Ancillotti, M. Boari, A. Ciampolini, G. Lipari, Sistemi operativi, McGraw-Hill. 2) W. Stallings, Sistemi Operativi, Jackson libri. 3) D.P. Bovet, M. Cesati, Understanding the LINUX kernel - Third Edition, O’Reilly. 4) David I. Schwartz, Introduzione a UNIX, Apogeo Education. 5) TCP/IP Illustrated, Volume 1, The protocols, W. R. Stevens, Addison Wesley. 6) Core Java 2, Volume 2 – Tecniche avanzate, C.Horstmann, G. Cornell – Pearson Edu. 7) Thinking in Java (II edizione), B.Eckel, Apogeo. 8) Java J2SE 5 La guida completa, H.Schildt – McGraw Hill. FURTHER INFORMATION: Department of Electrical and Information Engineering, Politecnico di Bari (http://dee.poliba.it) Lecturer room at 4th floor ex Architecture building, ph. +39 0805963316 (int. 3316), e-mail: [email protected]. URL web site: http://sisinflab.poliba.it/ruta.