Module Details

Operating systems: operating systems 2

MF0367

Course
Operating systems: operating systems 2
Code
MF0367
Academic Year
2026/2027
Curriculum Year
2025/2026
Degree Programme
CHEMISTRY
Curriculum
000 - CORSO GENERICO
Course coordinator
Credits
6
Lecture Hours
48
Scientific Disciplinary Sector (SSD)
INF/01 - Computer Science
Course Type
Single-subject learning activity
Course Delivery
OBB - Obbligatoria
Year
2
Teaching period
Secondo Semestre
Campus
ALESSANDRIA
Teaching language
Italian
Course Contents
The course provides an in-depth study of the design and implementation of two fundamental operating-system components: the input/output subsystem and the file system. Topics include the architecture of the I/O subsystem, interaction between the operating system and peripheral devices, the structure and management of storage devices, disk-scheduling policies, RAID systems, device-driver structure, and the main design and implementation criteria for file systems. Theoretical topics are complemented by the analysis of design alternatives, practical examples, and exercises similar to those used in the final assessment.
Reference Texts
Main textbook:
International Edition: Andrew S. Tanenbaum, Herbert Bos, Modern Operating Systems: Global Edition, 5th edition, Pearson, 2023, ISBN 9781292459660.
Italian edition: Andrew S. Tanenbaum, Herbert Bos, I moderni sistemi operativi, 5th edition, Pearson, 2023, ISBN 9788891931955.

The textbook is suitable for the systematic study of the theoretical principles, architectures, and main design solutions concerning the I/O subsystem and file systems. Materials made available on the DIR platform, including slides, examples, exercises, and sample examination questions, are intended to consolidate the course topics and support preparation for both the theoretical-methodological and the applied parts of the written examination.
Learning Outcomes
The course contributes to the educational objectives of the Degree Programme in Computer Science by providing knowledge and methodological tools for understanding, analysing, and designing system-software components.

By the end of the course, students will be able to:
1. describe and relate the operating principles of the input/output subsystem, storage devices, device drivers, and file systems;
2. analyse the requirements of a realistic scenario and identify suitable mechanisms, policies, and data structures for managing I/O and secondary storage;
3. apply design methods and techniques to compare alternative solutions concerning disk scheduling, RAID organisation, file allocation, free-space management, protection, efficiency, backup, and recovery;
4. justify design choices, assess their advantages and limitations, and communicate them using appropriate technical terminology.

The course awards 6 ECTS credits, corresponding to 42 hours of teacher-led instruction, 6 hours of interactive teaching, and 102 hours of individual study and self-learning.
Prerequisites
To successfully attend the course, students are expected to possess the knowledge and skills acquired in Computer Architecture 1, Computer Architecture 2, and Operating Systems 1.

In particular, students should be able to:
- represent data and addresses in binary and hexadecimal notation;
- describe the operation of the CPU, main memory, buses, interrupts, and direct-memory-access mechanisms;
- understand the role of the instruction set, privilege levels, and hardware-software interaction;
- describe processes, threads, concurrency, synchronisation, memory management, and system calls;
- read simple code and pseudocode fragments concerning low-level system components.

Any formal prerequisites are those specified in the Degree Programme regulations.
Teaching Methods
The course combines teacher-led and interactive teaching activities.

Teacher-led teaching consists of in-person lectures devoted to the fundamental concepts, models, data structures, algorithms, and main design alternatives concerning the I/O subsystem, device drivers, and file systems. Explanations are supported by examples, diagrams, and comparisons among different implementation solutions.

Interactive teaching includes:
- quantitative exercises solved and discussed in class;
- analysis of scenarios requiring students to identify requirements, formulate assumptions, and select a design solution;
- theoretical-methodological and applied questions similar to those used in the examination;
- discussion activities in which students are encouraged to justify their choices and critically assess alternative solutions.

The DIR platform provides materials consistent with the syllabus, examples, exercises, and sample examination questions. These materials can also be used by non-attending students and make it possible to follow the entire learning path without relying on information provided exclusively during classes.

Teaching activities are designed to develop not only knowledge of the course contents, but also the ability to apply them, independent judgement, and the ability to communicate procedures and design choices in writing.
Additional Information
All information required to prepare for the examination is contained in this course description and in the materials made available on the DIR platform. Any organisational information concerning examination sessions is published through the official institutional channels.

Students with disabilities, Specific Learning Disorders (SLD), or Special Educational Needs (SEN) may request dedicated services and support tools by contacting the University Staff for Student Careers and Services and consulting the relevant University webpage:
https://uniupo.it/it/servizi/servizi-studentesse-e-studenti-condizione-di-disabilit%C3%A0-e-dsa

After contacting the relevant University service, students with disabilities, SLD, or SEN may contact the course instructor to agree on the practical implementation of the approved measures concerning teaching activities and examination arrangements.
Assessment Methods
The examination consists of an individual written test lasting [DURATION OF THE EXAMINATION] and containing approximately [INDICATIVE NUMBER OF QUESTIONS] open-ended and/or closed-ended questions. The test includes both theoretical-methodological questions and applied questions or exercises on the topics listed in the extended syllabus. Whenever possible, the examination is administered through a digital platform.

During the examination, students may not consult textbooks, notes, lecture slides, or any other teaching material, except for materials explicitly authorised in the examination notice.

The questions assess the following learning outcomes:
- knowledge and understanding: defining concepts, describing structures and mechanisms, and relating the components of the I/O subsystem and file systems;
- applying knowledge and understanding: performing calculations, applying algorithms and procedures, analysing scenarios, and identifying solutions consistent with the requirements;
- making judgements: comparing alternatives, stating assumptions, and justifying design choices;
- communication skills: organising answers clearly, rigorously, and coherently, using appropriate technical terminology;
- learning skills: integrating concepts from different parts of the syllabus to address questions that are not purely repetitive.

Assessment criteria
The overall mark is expressed on a 30-point scale and is determined by considering:
1. correctness of the knowledge used;
2. completeness of the answer with respect to the question;
3. correctness of procedures, calculations, and application of methods;
4. ability to justify choices and compare alternative solutions;
5. clarity, logical organisation, and appropriate use of specialist terminology.

Closed-ended questions are scored as follows: 1 point for correct answers, 0 point for wrong answers or unanswered questions. For open-ended questions and exercises, the score assigned to each item is stated in the examination paper. The final mark is obtained by summing the scores awarded to the individual questions and, where necessary, converting the total to a 30-point scale according to the scale provided in the examination paper.
Assessment levels
- 18-20/30: essential achievement of the expected outcomes; substantially correct basic knowledge, application of standard procedures with no serious errors, and sufficient justification and presentation.
- 21-23/30: satisfactory achievement; reasonably complete knowledge, generally correct application, and adequate connections and terminology.
- 24-26/30: good achievement; solid knowledge, correct procedures, clear justification, and ability to compare the main alternatives.
- 27-29/30: very good achievement; in-depth and integrated knowledge, autonomy in analysis, and a high level of methodological and communicative accuracy.
- 30/30 with or without honours: excellent achievement; complete and critical command of the contents, ability to independently address complex or non-routine questions, and rigorous, precise, and particularly clear argumentation. Honours are awarded when the examination demonstrates, in addition to full correctness, an especially high level of depth, autonomy, and quality of presentation.

The examination is passed with a mark of at least 18/30. Fragmentary knowledge, inability to apply fundamental procedures, or significant conceptual errors result in a failing mark.

For questions assessing knowledge and understanding, students should systematically study the textbook and the materials published on the DIR platform. The solved exercises, examples, and sample examination questions available on the same platform are particularly useful for preparing the applied part of the examination.

Results are communicated through the DIR platform.
Detailed Syllabus
1. Architecture of the input/output subsystem
- Role and organisation of the I/O subsystem.
- Application I/O interface and system calls.
- Kernel I/O subsystem.
- Interrupts, polling, buffering, caching, spooling, and error handling.
- Criteria for comparing alternative design solutions.

2. Storage devices and disk management
- Structure and characteristics of storage devices.
- Logical and physical organisation of disks.
- Access times and performance metrics.
- Disk-scheduling policies and their evaluation.
- Disk-drive management.
- RAID systems: main levels, reliability, capacity, and performance.

3. Device drivers
- Role and structure of a device driver.
- Interaction among drivers, the kernel, controllers, and devices.
- Request, interrupt, and error management.
- Driver organisation in the xv6 operating system.
- Analysis of the xv6 IDE driver as a case study.

4. File-system concepts and architecture
- The file concept and file attributes.
- File operations and access methods.
- Directories, naming hierarchies, and disk structure.
- File sharing and protection mechanisms.
- Layered file-system structure.

5. File-system implementation
- Implementation of files and directories.
- Contiguous, linked, and indexed allocation methods.
- Metadata structures and translation from logical to physical addresses.
- Free-space management.
- Efficiency and performance.
- Consistency, reliability, and recovery after failures.
- Backup and recovery.

6. Applied activities and comparison of solutions
- Guided and independent solution of quantitative and design exercises.
- Requirements analysis and reasoned selection of mechanisms and policies.
- Comparison of alternatives in terms of performance, reliability, complexity, and resource usage.
- Discussion of questions similar to those used in the examination.

Integration of the gender dimension
The course promotes the use of inclusive technical language and draws attention to the impact that system-software design choices may have on accessibility and the inclusion of different categories of users.
Expected Learning Outcomes
Knowledge and understanding
By the end of the course, students will know and understand:
- the architecture of the input/output subsystem and the interaction among applications, the kernel, controllers, and peripheral devices;
- the main performance parameters of storage devices and disk-scheduling policies;
- the structure, responsibilities, and operation of device drivers;
- the principles, data structures, and algorithms used in the design and implementation of file systems;
- the advantages, limitations, and application contexts of the main alternative solutions covered in the course.

Applying knowledge and understanding
Students will be able to:
- solve exercises concerning access times, disk scheduling, RAID organisations, file allocation, and free-space management;
- analyse realistic scenarios and select solutions consistent with the assigned requirements;
- describe the behaviour of simple I/O components, drivers, and file systems by means of diagrams, calculations, pseudocode, or technical arguments;
- compare alternative solutions in terms of performance, reliability, complexity, and resource usage.

Making judgements
Students will be able to identify the relevant information in a problem, formulate explicit assumptions, critically assess alternative solutions, and justify the solution considered most appropriate.

Communication skills
Students will be able to present concepts, procedures, and design choices in writing in a clear, logically organised, and technically correct manner, using the specialist terminology of the discipline.

Learning skills
Students will be able to use the textbook, technical documentation, and teaching materials to independently study operating-system components and solutions not directly examined during the course.

Minimum passing level
To achieve the minimum passing level, students must demonstrate knowledge of the fundamental concepts of all the main areas of the syllabus, correctly apply standard procedures to the proposed exercises, provide an essential justification of their choices, and present their answers using understandable and substantially correct terminology.

Advanced level
An advanced level requires broad and integrated knowledge of the topics, the ability to connect different operating-system components, independently address problems that are not identical to those previously practised, critically compare alternative solutions, and produce rigorous, complete, and well-organised answers.
Last update:09-09-2026 00:14:31