SYSTEM AND NETWORK PROGRAMMING

Teaching in italian
SYSTEM AND NETWORK PROGRAMMING
Teaching
SYSTEM AND NETWORK PROGRAMMING
Subject area
ING-INF/05
Degree course
COMPUTER ENGINEERING
Course type
Laurea Magistrale
Credits
12.0
Teaching hours
Ore Attività frontale: 108.0
Academic year
2019/2020
Year taught
2019/2020
Course year
1
Language
INGLESE
Subject matter
PERCORSO COMUNE
Professor
TOMMASI Francesco
Location
Lecce

Course description

All the concepts presented in the “Sistemi Operativi” course in the first level degree “Ingegneria dell'Informazione”. Namely, a good knowledge of: UNIX® basic concepts, the UNIX® bash shell,  bash scripting, main UNIX® commands

UNIX System Overview
UNIX Standardization and Implementations
File I/O
Files and Directories
System Data Files and Information
Process Environment
Process Control
Process Relationships
Signals
Threads
Thread Control
Daemon Processes
Advanced I/O
Interprocess Communication
Network IPC: Sockets
Terminal I/O
Cybersecurity
(Disassembling an executable
Following the execution of a process at machine code level
Buffer overflows
Shellcode)

 

Overview
The course aims at starting the students off on programming system applications (e.g. a server) on a UNIX® System.

Learning Outcomes; after the course the student should
* Know the most important functionalities and facilities offered by a UNIX® system, the System Calls (and, more generally, the APIs) offered to access them.
* Be able to write efficient CLI (Command Line Interface) system and network applications in the C language.
* Know how to write interoperable applications by complying with the UNIX® standards (SUSv3, SUSv4).
* Know which are the main differences between the MacOS and the Linux varieties and how to cope with them.

 

The course is strongly oriented towards an hands-on methodology. Students must follow lectures in front of a computer which must be used to reproduce and test what is explained by the teacher-

Writing a C program aimed at solving a given problem within a given time. Students are free to consult (paper and digital) texts and to use Internet search engines.

UNIX System Overview
UNIX Standardization and Implementations
File I/O
Files and Directories
System Data Files and Information
Process Environment
Process Control
Process Relationships
Signals
Threads
Thread Control
Daemon Processes
Advanced I/O
Interprocess Communication
Network IPC: Sockets
Terminal I/O
Cybersecurity
(Disassembling an executable
Following the execution of a process at machine code level
Buffer overflows
Shellcode)

Stevens, Rago, Advanced Programming in the UNIX Environment, 3rd Edition, Addison-Wesley, 2013 ISBN 978-0321637734

Stevens, Fenner, Rudoff, Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition), Addison-Wesley, 2003 ISBN 978-0131411555

Kerrisk, The Linux Programming Interface, NO STARCH PRESS, 2010 ISBN 978-1593272203

Handouts delivered by the teacher through http://moodliis.unisalento.it/

Semester
Primo Semestre (dal 23/09/2019 al 20/12/2019)

Exam type
Obbligatorio

Type of assessment
Orale - Voto Finale

Course timetable
https://easyroom.unisalento.it/Orario

Download teaching card (Apre una nuova finestra)(Apre una nuova finestra)