Networks and operating systems Single channel

Chair (Coordinator) and Rapporteur: ROBERTO BERALDI

Lecturers

Objectives

GENERAL OBJECTIVES
The course aims to provide the essential knowledge to understand the functioning of an operating system and therefore the possibility to exploit and control the underlying processing system in different contexts. In addition, concurrent programming and network processing are analyzed, both as a requirement and as an opportunity to achieve high performance.
At the end of the course the student will get a consiste awareness in using the processing system, making the best use of the available resources, knowing how to identify and eventually solve bottlenecks that limit performances.

SPECIFIC OBJECTIVES
KNOWLEDGE AND UNDERSTANDING.
The course aims to provide students with the knowledge and understanding of the operating system, and the possibilities of exploitation of the processing system, as well as the opportunities offered by concurrent and online processing. Further important skills that are acquired concern the main network protocols, and the practical knowledge of the Linux environment.

CAPABILITY TO APPLY KNOWLEDGE AND UNDERSTANDING.
Thanks to the course the student will be able to control the processing system through system programming techniques, devise solutions for the exploitation of high performance computing architectures, understand and use network architectures and protocols for application objectives. The optimization and resource management techniques constitute an important wealth of exploitable knowledge within IT applications.

MAKING AUTONOMOUS JUDGEMENTS.
The project work aims to urge the student to study original solutions for the variety of problems that arise in the processing systems that access the multiple resources available on the network.

COMMUNICATION SKILLS.
The discussion of the project work requires to defend the choices made during the discussion required as a test on the "Networks" section.

LEARNING SKILLS.
The course provides both basic knowledge (e.g., resource management strategies, "patterns" of competition problems), and practical knowledge of the problems and the main components of operating systems. Based on these skills, the student will be able to autonomously assimilate the specific features for competition and network programming in the most varied programming environments.

Learning outcomes

Understanding of how an operating system works

Understanding of how a data network works

Prerequisites

nessuno prerequisito

Programme

Basic Concepts
History of Operating Systems
Relationship between Physical Machine (HW) and Operating Systems
Structure of Operating Systems

Part II: Process Management

Processes
CPU Scheduling
Threads

Part III: Process/Thread Synchronization

Tools for Synchronization
Examples of Synchronization
Deadlock

Part IV: Memory Management

Main Memory (RAM)
Virtual Memory

Part V: I/O Systems Management

Mass Storage Devices
I/O Systems

Books

[S1] Silberschatz, Calvin, Gagne. Operating Systems Concepts, tenth edition. (LIBRO PRINCIPALE)
[R1] Kurose, James F., and Keith W. Ross. "Computer networking: A top-down approach Eight edition." Pearson (2021);
[S2] John L. Hennessy, David A. Patterson -Computer Organization and Design RISC-V Edition.

Lessons mode

The lessons take place in the classroom and attendance is required.

Frequency

in classroom

Exam mode

project and oral

Example exam questions

What is an interrupt and how it works?
What is the HTTP protocol?

  • Academic year/1
  • Lesson code1035355
  • Year and semester3rd year - 2nd semester
  • Activity typeAttività formative affini ed integrative
  • Academic areaAttività formative affini o integrative
  • SSDING-INF/05
  • Mandatory presenceNo
  • Languageita
  • CFU9 CFU
  • Total duration90 hours
  • Hours distribution54 classroom hours, 36 training hours