- Offerta Formativa A.A. 2020/2021
- Master's Degree in COMPUTER ENGINEERING
- SYSTEM AND NETWORK PROGRAMMING
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
- Master's Degree
- Credits
- 12.0
- Teaching hours
- Frontal Hours: 108.0
- Academic year
- 2020/2021
- Year taught
- 2020/2021
- Course year
- 1
- Language
- ENGLISH
- 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
First Semester (dal 22/09/2020 al 18/12/2020)
Exam type
Compulsory
Type of assessment
Oral - Final grade
Course timetable
https://easyroom.unisalento.it/Orario