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