SYSTEM AND NETWORK PROGRAMMING

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

Teaching 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 22/09/2020 al 18/12/2020)

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)