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