Operating Systems Ii
A.Y. 2024/2025
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.
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.
Lesson period: First four month period
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course can be attended as a single course.
Course syllabus and organization
Single session
Responsible
Lesson period
First four month period
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.
· 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.
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/
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
Shifts:
Turno
Professor:
Piuri VincenzoProfessor(s)