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
2018/2019
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 46 hours of teaching and 14 of lab).

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

Unix System Programming (8 + 8): 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 (10 ore): main operating systems (Unix, Windows, Linux).

Didactic methods

course organization:

teaching lessons in the classroom 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. Computer science labs of the Department are available also out of the teaching lessons.

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 done at the Computer, the second one is oral.

The Computer 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

Slides of the lessons are available at the "copisteria" and are available on this web site ("materiale didattico" area).

Textbooks about Operating Systems architecture:

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

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

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