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.