Cacciagrano Diletta Romana |
Teaching Module: LABORATORY
|
____________________________________
|
Course of study |
COMPUTER SCIENCE [L-INF]
|
Method of training
|
Lesson.
|
Time |
48 h
|
Kind of the activity |
Characterizing training activity.
|
SSD |
INF/01
|
CFU |
6
|
Learning outcomes |
Knowledge of the main theoretical structures and rationals of the concurrent programming paradigm in a real operating system. Ability in using know-how to engineer and realizing client-server applications. Prowess in engineering and realizing portable software.
|
Prerequisites |
Fundamentals Programming Concepts, C language, Data Structures and Algorithms, Computer Architecture, Operating Systems basic concepts, English language.
|
Contents |
The course is intended as an introduction to the concurrent and system programming, in the framework of a real (UNIX-like) operating system.
CONTENTS:
-
Introduction: history and evolution, Unix System V and Unix BSD; POSIX; LINUX.
-
User interface: session, user identification and security, superuser, shells, file system, main commands.
-
System programming: file and process system calls, interprocess communication mechanisms, sockets and client-server model, signals.
-
Kernel structures: global structure, Kernel and user mode, process image, Process table, u-area, scheduling, memory management, file system (block, partition, I-list, I-node, Superblock, free lists, file descriptor, file table, in-core I-node, mount table).
|
Learning assessment method |
Project-based and oral examination.
|
Literature |
- M.J. Rochkind. Advanced Unix Programming. Addison Wesley.
|
Handouts |
Slides.
|
|
|