Salta al contenuto principale della pagina

DATABASES AND OPERATING SYSTEMS

CODE 98516
ACADEMIC YEAR 2022/2023
CREDITS
  • 6 cfu during the 3nd year of 9273 INGEGNERIA ELETTRONICA E TECNOLOGIE DELL'INFORMAZIONE(L-8) - GENOVA
  • SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05
    LANGUAGE Italian
    TEACHING LOCATION
  • GENOVA
  • SEMESTER Annual
    TEACHING MATERIALS AULAWEB

    OVERVIEW

    The course provides an introduction to the structure and organization on modern operating systems and to databases.

    AIMS AND CONTENT

    LEARNING OUTCOMES

    Students will be able to identify and describe the main functionalities of modern operating systems and an introduction to database design and management.

    In particular, for databases, students will be able to use SQL for querying and managing data. 

    TEACHING METHODS

    The course is divided in two parts: databases in the first semester and operating systems in the second one.

    Lectures will be complemented with hands-on sessions

    SYLLABUS/CONTENT

    Databases
    1. Objective of a DBMS
    2. Information Modeling: what to model and how
    3. The Object Data Model and the Relational Data Model
    4. SQL: A Relational Database Language for data definition and query
    5. DBMS in action: SQLite

    Operating systems
    1. Introduction to the structure of operating systems.
    2. Processes and Threads
    3. Inter-process communications (signal, pipe, socket, shared memory, ...). Mutual exclusion and synchronization. Dekker's algorithm,  Peterson's  Algorithm. Hardware support to mutual exlcusion. The Producer-Consumer Problem. Sempahors. Monitors. Message Passing. The Readers-Writers Problem.
    4. Deadlock and Starvation. Dealing with deadlocks: Detection, Prevention and Avoidance. Resourse Allocation Graphs. The Dining Philosophers' Problem.
    5. Memory Management. Physical Memory vs Virtual Memory. Paging vs Segmentation.
    6. Uniprocessor Scheduling. Lont-term. medium-term and short-term scheduling: FCFC, Round Robin, SPN, SRT, HRRN, Feedback.
    7. I/O Management. DMA, Disk Scheduling.
    8. The file system. Structure and attributes of files and directories.
    9. Access Control.  Models, policies and mechanisms for access control. Access control in in Linux (ACL in Unix, setuid)

    RECOMMENDED READING/BIBLIOGRAPHY

    Databases
    A. Albano, G. Ghelli, R. Orsini. Database essentials. http://fondamentidibasididati.it

    Operating systems
    Operating Systems: Internals and Design Principles. 8th edition di W. Stallings, Pearson

    TEACHERS AND EXAM BOARD

    Exam Board

    ALESSANDRO ARMANDO (President)

    ALESSIO MERLO

    DANIELE D'AGOSTINO (President Substitute)

    LESSONS

    Class schedule

    All class schedules are posted on the EasyAcademy portal.

    EXAMS

    EXAM DESCRIPTION

    The exam is divided in two parts.

    Databases: Project discussion or oral exam.

    Operating systems: Written exam

    Exam schedule

    Date Time Location Type Notes
    20/12/2022 10:00 GENOVA Scritto + Orale
    20/12/2022 10:00 GENOVA Esame su appuntamento
    07/06/2023 10:00 GENOVA Scritto + Orale
    07/06/2023 10:00 GENOVA Esame su appuntamento
    21/06/2023 10:00 GENOVA Esame su appuntamento
    21/06/2023 10:00 GENOVA Scritto + Orale
    07/07/2023 10:00 GENOVA Scritto + Orale
    07/07/2023 10:00 GENOVA Esame su appuntamento
    08/09/2023 10:00 GENOVA Scritto + Orale
    08/09/2023 10:00 GENOVA Esame su appuntamento