System Programming Gianpiero Cabodi gianpiero.cabodi@polito.it fmgroup.polito.it/cabodi Marco Murciano marco.murciano@polito.it fmgroup.polito.it/murciano
Course Objectives (1/2) Describe the Windows and UNIX (Linux) API (vs. C library), and their role in application development Perform file I/O and directory and file management Use structured exception handling for more reliable programs Exploit memory management, shared memory, mapped files, and dynamic link libraries (DLLs) Manage processes and develop multithreaded applications that use thread synchronization capabilities
Course Objectives (2/2) Understand I/O drivers architecture and interact with drivers Introduction to Embedded systems and applications Windows CE and Embedded Linux Labs on Windows and Linux platforms
Prerequisites Computer architecture and interrupts (basic) Operating Systems: Memory management Processes File system I/O C language
Course Organization Classes: 6 hours/week Last week: review course material Laboratory: 4 hours/week (starting 2° week) 2/3 labs c/o Microsoft
Class schedules Classes Labs Tuesday 08.30-10.30 room 8D Friday 08.30-12.30 room 6C Labs (Tuesday 10.30-14.30 ???)
Text books J.M. Hart Windows System Programming. III edition. Addison-Wesley, 2002 ISBN 0-321-25619-0 W.R. Stevens: Advanced Programming in the UNIX Environment. II Edition. Addison Wesley 2005 ISBN: 0-201-43307-9 …
Course material “Portale della didattica” (didattica.polito.it/login) fmgroup.polito.it/cabodi/dida
Exams Written exam, in two parts Lab assignment (to be defined…) Test (questions / answers) Developing a program Lab assignment (to be defined…)