Operating systems ii

A.Y. 2020/2021
6
Max ECTS
48
Overall hours
SSD
ING-INF/05
Language
Italian
Learning objectives
The course aims to provide the basic knowledge about the theoretical foundations, the algorithms, and the technologies of the management of the central memory, the input/output devices, the file system, the user interfaces, and the distributed environments in the operating systems for the main types of information processing architectures.
Expected learning outcomes
Understanding of theoretical foundations, algorithms, and technologies for the management of the central memory, the input/output devices, the file system, the user interfaces, and the distributed environments in the operating systems.
Understanding the behavior of the management of the central memory, the input/output devices, the file system, the user interfaces, and the distributed environments in the operating systems to support the optimum implementation of applications.
Understanding the configuration opportunities and the management of the central memory, the input/output devices, the file system, the user interfaces, and the distributed environments in the operating systems.
Course syllabus and organization

Single session

Responsible
Lesson period
First four month period
The educational material to study the course and prepare the exam is the one adopted for the course given in presence.
The slides and the recorded lectures are available in the online platform of this online degree program.
The course will be offered online asynchronously as the other fundamental courses of this degree program.
If the sanitary conditions will not allow to offer the exam in presence, the exam will be given remotely by using the platform exam.net to answer the questions and the platform zoom
for videosurveillance, as specified in the guidelines published in the Ariel platform of the course. The evaluation criteria are the same of the exam given in presence.
Course syllabus
The course analyses architectures, features, mechanisms, policies, and management of operating systems with respect to the management of the central memory, the input/output devices, the file systems, the user interface and the distributed operating systems for different information processing architectures (mono-processors, multi-processors, clusters, distributed systems, embedded systems) targeted to the main application areas (transactional systems, interactivity, multimedia, office automation, telecommunications, industrial control, robotics, embedded applications). This course is directed to deepen the competences in designing and managing operating systems, with specific reference to design techniques, configuration, and optimization with respect to the management of the central memory, the input/output devices, the file systems, the user interface and the distributed operating systems.

· Virtualization of the main memory: storage policies; architectural support; consistency, fault and software errors tolerance, security and protection; design of algorithms and data structures for main memory virtualization.

· Virtualization of the input/output devices: management mechanisms and policies for different kinds of devices and interfaces, clock, time ordering of events in distributed systems, coordination; disks; terminals; printers; special peripherals and operating systems' support for IT networks; real-time aspects, fault and software errors tolerance, security and protection; design of algorithms and data structures for input/output device virtualization.

· Abstraction of the representation of physical and information resources: files, file system, network and distributed file system, resources identification policies; consistency, caching, backup, fault and software errors tolerance, protection and access security, design of algorithms and data structures for resources abstraction.

· User interface: kinds of interpreters and user interfaces (programmed, text, graphics, multimedia, distributed, mobile agents); management mechanisms and policies for user interfaces; management and access security, fault and software errors tolerance, design of algorithms and data structures for the user interface.

· Operating systems for distributed architectures: processes execution, synchronization and communication between processes, deadlock management, devices management, file system management.
Prerequisites for admission
Knowledge of basic concepts of computer science, computer architecture, computer programming.
Due to requirements established by the Academic Programs Committee, it is compulsory to have first passed the exam of Computer Programming.
Teaching methods
Recorded lectures.
Teaching Resources
A. Silberschatz, G. Gagne, P.B. Galvin, Operating Systems Concepts, Wiley
or any similar book covering all topics

Slides and videorecorded lectures will be available on the course website: https://vpiuriso.ariel.ctu.unimi.it/
Assessment methods and Criteria
Written exam aimed at verifying the student's knowledge and understanding of the subject. The written exam consists of theory questions. The duration of the exam is 1:45h. The mark is expressed in thirtieths and the grading will consider the correctness, completeness, and clarity of the answers to the questions. The exam is not sufficient if one or more answers are not sufficient. The exam is closed book.
ING-INF/05 - INFORMATION PROCESSING SYSTEMS - University credits: 6
Lessons: 48 hours
Professor: Piuri Vincenzo
Educational website(s)
Professor(s)