OPERATING SYSTEMS
- Academic year
- 2025/2026 Syllabus of previous years
- Official course title
- OPERATING SYSTEMS
- Course code
- CT0670 (AF:608561 AR:301152)
- Teaching language
- English
- Modality
- On campus classes
- ECTS credits
- 6
- Degree level
- Bachelor's Degree Programme
- Academic Discipline
- ING-INF/05
- Period
- 1st Semester
- Course year
- 2
- Where
- VENEZIA
- Moodle
- Go to Moodle page
Contribution of the course to the overall degree programme goals
It contributes to achieving the following objectives of the degree program:
Knowledge and Understanding
Understanding the basic concepts and knowledge of the techniques used to implement the components of modern operating systems, with particular emphasis on security aspects;
Knowledge of concurrent programming;
Knowledge of the main formalisms for modeling computer systems.
Ability to Apply Knowledge and Understanding
Able to use concurrent programming to solve parallel computing problems.
Expected learning outcomes
1. Understand the role and functions of an operating system: Recognize the key components of an OS and their interactions with hardware and software.
2. Apply process management concepts: Understand and implement process scheduling, inter-process communication, and thread management.
3. Explain memory management techniques: Describe virtual memory, paging, segmentation, and memory allocation strategies.
4, Comprehend file system operations: Understand file system structures, file allocation methods, and storage management.
5. Use operating system tools effectively: Apply OS tools and commands for system management tasks, including file handling, process control, and system monitoring.
6. Compare different operating systems: Analyze the similarities and differences between modern operating systems such as Linux, Windows, and macOS.
Pre-requirements
Familiarity with high-level programming languages (preferably C or Python).
Understanding of fundamental data structures (arrays, linked lists, stacks, queues).
Contents
- Functions and types of operating systems
- Overview of OS architecture and components
- Evolution and historical development of operating systems
Process Management
- Definition of processes and process control block (PCB)
- Process states and process scheduling algorithms (FIFO, Round Robin, SJF)
- Inter-process communication (IPC)
Threads and Concurrency
- Difference between processes and threads
- Synchronization: Mutexes, semaphores, and condition variables
- Deadlock detection and prevention
Memory Management
- Memory hierarchy and structure (logical vs. physical memory)
- Paging and segmentation techniques
- Virtual memory and page replacement algorithms
- Memory allocation methods: Contiguous, buddy system, and paging
File Systems
- File system structure: Directories, metadata, and file allocation
- Disk scheduling algorithms
- File system management and storage techniques
- File system security
I/O Systems and Device Management
- I/O devices, device drivers, and interrupt handling
- Buffering, spooling, and direct memory access (DMA)
- Disk and device scheduling algorithms
Security and Protection
- Security concepts: Confidentiality, integrity, and availability
- User authentication and access control
- Protection mechanisms: ACLs, encryption, and system integrity
OS Case Studies and Modern Trends
- Comparative study of Linux, Windows, and macOS
- Virtualization and cloud computing trends
- Mobile OS overview: Android and iOS
Practical Sessions and Lab Work
- Hands-on practice with Linux/Unix commands
- System monitoring and process control tasks
Referral texts
Assessment methods
Both cases consist in a written exam with exercises and open questions. Exercises are aimed at evaluating the practical skills of the candidate on the topics addressed by the course and will have different levels of complexity. Oral interviews may be required by the instructor to assess a proper marking and will face a discussion of the written exam.
Type of exam
The lecturer has a duty to ensure that the rules regarding the authenticity and originality of exam tests and papers are respected. Therefore, if there is suspicion of irregular conduct, an additional assessment may be conducted, which could differ from the original exam description.
Grading scale
The evaluation of the written exam will give half weight to the theoretical part and half to the exercises. The theoretical questions will be evaluated based on the knowledge depth and property of technical language showed by the student. The exercises will be evaluated based on their difficulties.