Unit ELEMENTS OF COMPUTER ARCHITECTURE AND OPERATING SYSTEMS

Course
Programming and management of computer systems
Study-unit Code
A003645
Curriculum
In all curricula
Teacher
Damiano Perri
Teachers
  • Damiano Perri
Hours
  • 42 ore - Damiano Perri
CFU
6
Course Regulation
Coorte 2023
Offered
2023/24
Learning activities
Base
Area
Formazione informatica, matematica e statistica di base
Academic discipline
INF/01
Type of study-unit
Obbligatorio (Required)
Type of learning activities
Attività formativa monodisciplinare
Language of instruction
Italian
Contents
The course is divided into two modules.
The first module is Computer Architecture, the second is Operating Systems.
The first module introduces the basic fundamentals of understanding computer architectures.
The second module, Operating Systems, will specifically cover the Unix operating system, process management, operating system resource allocation, and Bash.
Reference texts
The recommended literature is as follows:
1) Andrew S. Tanenbaum, Computer Architecture a Structural Approach, Pearson
2) Abraham Silberschatz et Al, Operating Systems. Concepts and Examples, Pearson

In addition to the two recommended texts, the lecturer will provide additional study material in the form of slides that will be sufficient for exam preparation.
Educational objectives
By the end of this course, students will understand the architectures of computer systems.
Students will be able to understand how operating systems work, process lifecycles, and the main techniques for avoiding deadlocks and properly allocating machine resources.
Prerequisites
No prerequisite required
Teaching methods
The course will include theoretical lectures and class discussions.
Lectures will be face-to-face and held in the classroom at DMI every Tuesday and Thursday from 11 a.m. to 1 p.m.
Other information
The lecturer is available to deliver lectures, tutorials and exam sessions in English.
The lecturer is available to take the examination in English.
Learning verification modality
The course will be assessed through a project to be done at home, a written exam to be done in the classroom with LibreEOL, and an oral test of knowledge.
The project is required to test the learning of knowledge related to the operating systems module.
The final grade will be given by the weighted average of the results obtained on the written test and the oral test.
The written will be weighted 70%, the oral will be weighted 30% of the final grade.
Extended program
The course is divided into two modules.
The first module is Computer Architecture, the second is Operating Systems.

The first module introduces the basic foundations for understanding computer architectures.
The main historical events that led to modern architectures will be explained by treating the major generations in computer architectures.
The following topics will then be covered:
CPU organization,
differences and characteristics of RISC and CISC,
main memory, secondary memory,
the hit and miss technique,
the input and output,
the digital logic level with recalls to logic gates and circuits,
the microarchitecture level,
the ISA architecture level and examples of instructions,
cycle for execution of an instruction,
interrupts, RAID systems.

The second module, Operating Systems, will specifically cover:
the Unix operating system,
its characteristics and the operating schemes that govern it,
processes,
threads and their life cycle.
It will then cover:
the synchronization of processes,
the critical block,
CPU scheduling,
the scheduling of I/O systems.
The course will continue by covering:
the structure of the file system,
and will conclude with an explanation of how to use bash, both through theoretical insights and practical scheduling exercises.
Condividi su