Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


OPERATING SYSTEMS
SISTEMI OPERATIVI

Operating Systems
Sistemi Operativi

A.Y. Credits
2014/2015 12
Lecturer Email Office hours for students
Emanuele Lattanzi Thursday, from 4 pm to 6 pm.

Assigned to the Degree Course

Date Time Classroom / Location

Learning Objectives

To illustrate operating systems concepts, focusing on description of operating system building blocks such as process management, scheduling, virtual memory and I/O management. 

Program

01. Introduction:
     01.01 Introduction to the operating systems.
     01.02 Operating systems structure.
     01.03 Operating System functions.
     01.04 System calls.

02. Processes:
     02.01 Processes management.
     02.02 Context switch.
     02.03 Thread vs. Processes.
     02.04 Communication between processes.

03. Synchronization:
     03.01 The critical sections problem.
     03.02 Synchronization tools.
     03.03 Synchronization problems and deadlock.

04. Scheduling:
     04.01 Basic scheduling concepts.
     04.02 Scheduling policies
     04.03 Scheduling algorithm.
     04.04 Thread scheduling.

05. Linux scheduling:
      05.01 Process descriptor.
      05.02 Main characteristics.
      05.03 The 2.4.x. scheduler.
      05.04 The 2.6.x. scheduler
      05.05 The SMP scheduler.

06. Main memory:
     06.01 Main memory organization.
     06.02 Paging.
     06.03 Structure of the page table.
     06.04 Segmentation.
     06.05 Examples: Pentium Intel, Linux.

07. Virtual memory:
     07.01 Demand paging.
     07.02 Page replacement.
     07.03 Frames allocation.
     07.04 Memory mapped files.

08. File system:
     08.01 File system concepts.
     08.02 Mounting, sharing, protection.
     08.03 Implementation.
     08.04 Allocation methods.
     08.05 Free space management.

09. Magnetic disks:
      09.01 Disk structure.
      09.02 Disk performace.
      09.03 Scheduling algorithms.

10. Input/output systems:
     10.01 Polling interrupt and DMA.
     10.02 Block and character devices.
     10.03 Kernel I/O subsystem.

11. Virtual machines:
     11.01 Abstract virtual machines.
     11.02 Real virtual machines.
     11.03 Virtual machines structures.
     11.04 JVM - Java Virtual Machine.

12. The Android OS:
     12.01 Structure.
     12.02 The Dalvik virtual machine.
     12.03 Applications.
     12.04 Message passing: Intents.

13. Laboratory activity:
     13.01 Processes management in UNIX-like operating systems.
     13.02 Thread management in UNIX-like operating systems: pThread
(POSIX) library.
     13.03 Introduction to Java programming language.
     13.04 Java threads management.
     13.05 Java synchronization tools.

Bridging Courses

Although there are no mandatory prerequisites for this exam, students are strongly recommended to take it after Algorithms and Data Structures, Computer Architecture, Procedural and Logic Programming.
It is also worth noticing that the topics covered by this course will be used in Computer Networks.

Teaching, Attendance, Course Books and Assessment

Teaching

Theory lectures and laboratory exercises, both face-to-face and on-line.

Attendance

Although recommended, course attendance is not mandatory.

Course books

Silbershatz, Galvin, Gagne, "Sistemi Operativi Concetti ed Esempi", Pearson

Tanenbaum, "I Moderni Sistemi Operativi", Pearson

Ancilotti, Boari, "Programmazione Concorrente e Distribuita", McGraw-Hill.

Bovet, Cesati, "Understanding the Linux Kernel", O'Reilly

Goetz, Peierls, Bloch, Bowbeer, Holmes, Lea, "Java Concurrency in Practice", Addison-Wesley

Assessment

Written exam of concurrent programming and oral exam.
The written exam is passed if the mark is at least 18/30.
The oral exam can be taken only if the the written exam is passed

Disability and Specific Learning Disorders (SLD)

Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.

To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.

Notes

The course is offered both face-to-face and on-line within the Laurea Degree Program in Applied Computer Science.

Additional lecture notes and information:http://www.sti.uniurb.it/lattanzi/OS.html

« back Last update: 28/07/2014

Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

Posta elettronica certificata

amministrazione@uniurb.legalmail.it

Social

Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2024 © Tutti i diritti sono riservati

Top