Salta ai contenuti. | Salta alla navigazione

Strumenti personali

OPERATING SYSTEMS

Academic year and teacher
If you can't find the course description that you're looking for in the above list, please see the following instructions >>
Versione italiana
Academic year
2022/2023
Teacher
CESARE STEFANELLI
Credits
6
Didactic period
Secondo Semestre
SSD
ING-INF/05

Training objectives

The goal of this course is to provide the basic knowledge about the functioning of a modern operating system. In addition, the course will provide a deep understanding of the system programming tools in the Unix environment. The course teaches the system calls in the C language and the basics of Bourne shell programming.

main subjects:
- operating systems basic functionalities;
- operating systems architecture;
- operating systems main components;
- main operating systems (Unix e Windows);
- shell programming for rapid application development;
- Unix system calls.

students will learn to:
- identify design requirements;
- use Bourne Shell as a programming language;
- develop multi process concurrent C applications in Unix.

Prerequisites

The course requires the deep knowledge of the C language and the basics of Java.

Course programme

The course is composed of 24 lessons for a total of 60 hours (composed of 42 hours of classroom teaching and 18 of lab).

Bourne Shell (8 hours of teaching + 8 in the lab): main Unix commands, I/O ridirection, piping, shell control instructions, command files.

Unix System Programming (8 + 10): Unix system call for file management, signals, process management, pipe communication.

L'architettura e i componenti del Sistema Operativo (20 ore): virtual memory, scheduling, I/O, file system, protection.

Case studies (6 ore): main operating systems (Unix, Windows, Linux).

Didactic methods

Course organization:

- Classroom teaching lessons and practical design and development of simple applications in the lab, under teacher and tutors supervision. Each student will have a PC at his disposal.

Learning assessment procedures

Passing the final exam is the proof that knowledge and abilities outlined in the training objectives of the course have been achieved.

The exam is composed of 2 parts, one is a written part, the second one is oral.

The written part is composed 2 exercises, one of Unix system programming (C and System Calls) that will give a mark from 0 to 30, the second of Bourne shell programming that will add/subtracts -2/+2 points to the first one.

After having passed the 2 previous described parts, there will be an oral part that will produce the final result of the examination.

The exam may also be done in english.

Reference texts

The teaching material (lesson slides and exercises) is available in the classroom site (the link is available on this web site in the "materiale didattico" area).

Textbooks about Operating Systems architecture:

A. Silberschatz, P.Galvin, G. Gagne, “Sistemi Operativi, Concetti ed esempi”, Pearson, 10a edizione.

A. Tanenbaum, H. Bos, "I Moderni Sistemi Operativi". Pearson, 2019.

Ancilotti, Boari, Ciampolini, Lipari, "Sistemi operativi", seconda edizione, McGraw-Hill, 2008
UNIX Programming:

W.R. Stevens, "Advanced Programming in the UNIX Environment, 3rd Edition", Addison-Wesley, 2013

Use the man command on Unix machines, or the info command