Operating Systems

Antonio DELLA CIOPPA Operating Systems

0612700030
DEPARTMENT OF INFORMATION AND ELECTRICAL ENGINEERING AND APPLIED MATHEMATICS
EQF6
COMPUTER ENGINEERING
2025/2026



OBBLIGATORIO
YEAR OF COURSE 2
YEAR OF DIDACTIC SYSTEM 2022
SPRING SEMESTER
CFUHOURSACTIVITY
432LESSONS
18EXERCISES
18LAB


Objectives
THE COURSE IS AIMED AT THE ACQUISITION OF KNOWLEDGE ABOUT THE ORGANIZATION, OPERATION AND RESOURCE MANAGEMENT (FOR RESOURCES SUCH AS CPU, MEMORY AND DEVICES) OF A COMPUTER.

KNOWLEDGE AND UNDERSTANDING
KNOWLEDGE OF THE FUNCTIONS OF A MODERN OPERATING SYSTEM, IN PARTICULAR THE MANAGEMENT OF PROCESSES, MEMORY, PERIPHERALS AND FILES, AND UNDERSTANDING OF BASIC TECHNIQUES FOR THE IMPLEMENTATION OF THESE FUNCTIONS (SCHEDULING ALGORITHMS, MEMORY ALLOCATION, PAGE REPLACEMENT AND FILE SYSTEM), AND OF INTER-PROCESS COMMUNICATION.

APPLYING KNOWLEDGE AND UNDERSTANDING
UNDERSTAND WHAT HAPPENS INSIDE THE OPERATING SYSTEM DURING THE EXECUTION OF A PROGRAM. USE SYSTEM CALLS OF AN OPERATING SYSTEM FOR PROCESS SYNCHRONIZATION AND MEMORY MANAGEMENT. DEVELOP SIMPLE SHELL SCRIPTS.
Prerequisites
THE COURSE REQUIRES THE PROPEDEUTICITY OF THE FONDAMENTI DI PROGRAMMAZIONE (PROGRAMMING FOUNDATIONS) COURSE. FOR AN EFFECTIVE ACHIEVEMENT OF THE COURSE OBJECTIVES, THE KNOWLEDGE ACQUIRED IN THE CALCOLATORI ELETTRONICI (ELECTRONIC COMPUTERS) COURSE IS REQUIRED.
Contents
TEACHING UNIT 1: INTRODUCTION TO OPERATING SYSTEMS
(LECTURE/PRACTICE/LABORATORY HOURS 2/0/0)
- 1 (2 HOURS LECTURE): EVOLUTION OF OPERATING SYSTEMS. MAJOR FAMILIES OF CURRENT OPERATING SYSTEMS. INTRODUCTION TO THE UNIX FAMILY. THE LAYERED MODEL OF THE OPERATING SYSTEM.
KNOWLEDGE AND UNDERSTANDING SKILLS: UNDERSTANDING OF THE MAIN FAMILIES OF OPERATING SYSTEMS AND THEIR DESIGN PRINCIPLES.
APPLIED KNOWLEDGE AND UNDERSTANDING SKILLS: NONE

TEACHING UNIT 2: THE KERNEL AND PROCESS MANAGEMENT
(LECTURE/PRACTICE/LABORATORY HOURS 10/2/8)
- 2 (2 LECTURE HOURS): THE PROCESS CONCEPT AND MULTIPROGRAMMING. STATES OF A PROCESS. SCHEDULING. PRIORITIES. BATCH, TIME-SHARING AND REAL-TIME PROCESS MANAGEMENT.
- 3 (2 HOURS LESSON): COMMUNICATION BETWEEN PROCESSES: SHARED MEMORY AND PIPES.
- 4 (2 HOURS LESSON): LABORATORY ON COMMUNICATION BETWEEN PROCESSES: SHARED MEMORY AND PIPES.
- 5 (2 HOURS LESSON): THREADS AND CONCURRENCY
- 6 (2 HOURS LABORATORY): LABORATORY ON THREADS
- 7 (2 HOURS LECTURE): SYNCHRONIZATION: MUTEX, SEMAPHORES AND CONDITION VARIABLES. THE DEADLOCK.
- 8 (2 HOURS LABORATORY): LAB ON SYNCHRONIZATION: MUTEX, SEMAPHORES AND CONDITION VARIABLES.
- 9 (2 HOURS LABORATORY): LAB ON SYNCHRONIZATION: MUTEX, SEMAPHORES AND CONDITION VARIABLES.
- 10 (2 HOURS LECTURE): PROCESS SCHEDULING.
- 11 (2 HOURS PRACTICE): PRACTICE ON PROCESS SCHEDULING ALGORITHMS.
KNOWLEDGE AND UNDERSTANDING SKILLS: ACQUIRE BASIC KNOWLEDGE ABOUT KERNEL AND PROCESS MANAGEMENT.
APPLIED KNOWLEDGE AND UNDERSTANDING SKILLS: KNOWING HOW TO WRITE MULTIPROCESS AND MULTITHREADED PROGRAMS

TEACHING UNIT 3: MEMORY MANAGEMENT
(HOURS LECTURE/PRACTICE/LABORATORY 6/2/0)
- 12 (2 HOURS LECTURE): II PROBLEMS IN MEMORY MANAGEMENT: RELOCATION, PROCESS PROTECTION. SWAPPING. DYNAMIC LOADING.
- 13 (2 HOURS LECTURE): THE MEMORY MODEL IN A UNIX PROCESS. PAGEING.
- 14 (2 HOURS LECTURE): VIRTUAL MEMORY.
- 15 (2 HOURS LAB): VIRTUAL MEMORY EXERCISE.
KNOWLEDGE AND UNDERSTANDING SKILLS: UNDERSTAND MEMORY MANAGEMENT METHODS.
APPLIED KNOWLEDGE AND UNDERSTANDING SKILLS: KNOWING HOW TO IDENTIFY THE DIFFERENCE BETWEEN LOGICAL AND PHYSICAL ADDRESS AND THE ROLE OF THE MMU, KNOW HOW TO CONVERT A LOGICAL ADDRESS TO A PHYSICAL ADDRESS IN A PAGED SYSTEM

TEACHING UNIT 4: FILE SYSTEM AND SECONDARY MEMORY MANAGEMENT
(HOURS LECTURE/PRACTICE/LAB 8/0/2)
- 16 (2 HOURS LECTURE): ABSTRACTION AND VIRTUALIZATION OF PERIPHERALS. DRIVERS. DYNAMIC LOADING OF DRIVERS.
- 17 (2 HOURS LECTURE): THE FILE SYSTEM. PARTITIONS AND VOLUMES. RAID SYSTEMS. ALLOCATION OF DISK SPACE.
- 18 (2 HOURS LECTURE): FILE MANAGEMENT. DIRECTORY MANAGEMENT. JOURNALING.
- 19 (2 HOURS LECTURE): ACCESS CONTROL: PERMISSIONS AND ACL. NETWORK FILE SYSTEMS. EXAMPLES OF FILE SYSTEMS AVAILABLE IN UNIX SYSTEMS. FILE PERMISSIONS UNDER UNIX.
- 20 (2 HOURS LABORATORY): LABORATORY ON ACCESS CONTROL.
KNOWLEDGE AND UNDERSTANDING: UNDERSTANDING OF FILE SYSTEM FUNCTIONS AND METHODS OF SECONDARY MEMORY MANAGEMENT.
APPLIED KNOWLEDGE AND UNDERSTANDING SKILLS: KNOWING HOW TO DESCRIBE AND EXPLAIN FILE SYSTEM FUNCTIONS, KNOW HOW TO MANAGE FILE PERMISSIONS UNDER UNIX.

TEACHING UNIT 5: USER INTERFACE COMMAND INTERPRETER (SHELL)
(HOURS LECTURE/PRACTICE/WORKSHOP 4/0/4)
- 21 (2 HOURS LECTURE): GENERAL CHARACTERISTICS OF A SHELL. THE SHELL BASH. REMOTE ACCESS AND SSH. SHELL SCRIPTS. ENVIRONMENT VARIABLES. PATH. I/O REDIRECTION.
- 22 (2 HOURS LECTURE): CONTROL STRUCTURES (SELECTION AND ITERATION). PIPES AND BACKGROUND PROCESSES. COMMANDS FOR MANAGING PROCESSES AND JOBS. THE FIND COMMAND. REGULAR EXPRESSIONS AND THE GREP AND SED COMMANDS.
- 23 (2 HOURS LABORATORY): LABORATORY ON BASH SHELL PROGRAMMING.
- 24 (2 HOURS LABORATORY): LABORATORY ON PROGRAMMING THE BASH SHELL.
KNOWLEDGE AND UNDERSTANDING SKILLS: UNDERSTANDING OF USER INTERFACE FUNCTIONS AND OF THE COMMAND INTERPRETER.
APPLIED KNOWLEDGE AND UNDERSTANDING SKILLS: KNOWING HOW TO WRITE SIMPLE SCRIPTS FOR THE AUTOMATIC EXECUTION OF COMMANDS

TOTAL HOURS LECTURE/PRACTICE/LABORATORY: 30/4/14
Teaching Methods
THE COURSE INCLUDES FRONTAL LECTURES AND LABORATORY EXERCITATIONS. IN LABORATORY EXERCITATIONS, STUDENTS ARE REQUIRED TO WRITE C PROGRAMS AND SHELL SCRIPTS USING THE LINUX OPERATING SYSTEM.

COURSE ATTENDANCE IS COMPULSORY. TO ACCESS THE FINAL EXAM, STUDENTS MUST HAVE ATTENDED AT LEAST 70% OF THE TEACHING HOURS.
Verification of learning
THE EXAM IS COMPOSED OF A WRITTEN TEST AND AN ORAL INTERVIEW, GRADED IN 30-THS. TO ACCESS THE ORAL INTERVIEW, THE STUDENT MUST PASS THE WRITTEN TEST WITH AT LEAST 18/30. DURING THE COURSE, A PARTIAL WRITTEN TEST (PROVA IN ITINERE) WILL BE HELD, THAT, IF PASSED, EXONERATES THE STUDENTS FROM A PART OF THE FINAL WRITTEN TEST.

THE WRITTEN TEST IS AIMED AT EVALUATING THE UNDERSTANDING OF THE MAIN MECHANISMS FOR THE MANAGEMENT OF PROCESSES, MEMORY AND FILES, AND THE ABILITY TO WRITE SIMPLE C PROGRAMS USING THE SYSTEM CALLS AND SHELL SCRIPTS FOR THE BASH SHELL.

THE ORAL INTERVIEW IS AIMED AT EVALUATING THE LEVEL OF THEORETICAL KNOWLEDGE, THE AUTONOMY OF ANALYSIS AND JUDGEMENT AND THE EXPOSITION ABILITY OF THE STUDENT.

THE MINIMUM PASSING GRADE (18) IS ATTRIBUTED WHEN THE STUDENT HAS A FRAGMENTARY KNOWLEDGE OF THE THEORETICAL CONTENTS AND A LIMITED ABILITY OF APPLYING THE ACQUIRED KNOWLEDGE. THE MAXIMUM GRADE (30) IS ATTRIBUTED WHEN THE STUDENT SHOWS A COMPLETE KNOWLEDGE OF THE THERORETICAL ASPECTS AND A SIGNIFICANT CAPABILITY OF APPLYING THE KNOWLEDGE TO SOLVE PROBLEMS SIMILAR TO THE ONES PRESENTED IN THE COURSE. THE “LODE” (HONORS) IS AWARDED WHEN THE STUDENT SHOWS A DEEP KNOWLEDGE AND UNDERSTANDING OF THE THEORETICAL ASPECTS, AN EXCELLENT LANGUAGE PROPRIETY AND A SIGNIFICANT ABILITY OF AUTONOMOUS ELABORATION IN THE APPLICATION OF THE ACQUIRED KNOWLEDGE ALSO TO CONTEXTS DIFFERING FROM THE ONES PRESENTED IN THE COURSE.
Texts
* SILBERSCHATZ, GALVIN, GAGNE: “SISTEMI OPERATIVI: CONCETTI ED ESEMPI”, DECIMA EDIZIONE, ADDISON-WESLEY.
* ADDITIONAL MATERIAL (NOTES, TUTORIALS) WILL BE PROVIDED BY THE TEACHERS DURING THE COURSE.

SUPPLEMENTARY TEACHING MATERIAL WILL BE AVAILABLE ON THE UNIVERSITY E-LEARNING PLATFORM (HTTP://ELEARNING.UNISA.IT) ACCESSIBLE TO STUDENTS USING THEIR OWN UNIVERSITY CREDENTIALS.
More Information
THE COURSE IS HELD IN ITALIAN
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2025-08-21]