Logo ČVUT
Loading...
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2011/2012

Programming Interface of Operating Systems

The course is not on the list Without time-table
Code Completion Credits Range Language
A7B36API KZ 5 2+2s Czech
The course cannot be taken simultaneously with:
Programming Interface of Operating Systems (Y36API)
The course is a substitute for:
Programming Interface of Operating Systems (Y36API)
Lecturer:
Radim Ballner (gar.), Tomáš Zahradnický
Tutor:
Radim Ballner (gar.), Tomáš Zahradnický
Supervisor:
Department of Computer Science and Engineering
Synopsis:

Introduction into system programming for operating systems

OSs) Linux and MS Windows. Students learn about basic

application programming interfaces (APIs) to OS kernels (

file descriptors, semaphors, sockets, proceses, threads,

access rights), about basic graphical APIs (windows and

window management, X11, event driven programming), about

basic OS libraries, and about principles of safe programming.

Requirements:
Syllabus of lectures:

1. Introduction to the interplay between OS and CPU and

between OS and high-level programming languages.

2. GNU libc in Linux and MS C library: Overview.

3. Errors in system programming (buffer overflows, exploits.

4. Safe system programming.

5. Network programming and remote exploits.

6. WIN32 API - files, synchronization.

7. WIN32 API - messages, windows, basic elements of GUI.

8. WIN32 API GDI - fonts, bitmaps.

9. LINUX - X server.

10. LINUX - QT library.

11. LINUX - GNOME/GTK.

12. Cross platform system programming.

13. Delphi/Kylix, Object Pascal, structure of VCL,comparison with C#.

14. Recap ? API survey, exploits and languages.

Syllabus of tutorials:

1. Introduction to the environment (gcc, delphi, C#).

Discussion on semestral projects.

2. Assignment of semestral projects. Console applications

Win vs Linux.

3. Specification of the 1st lab project: exploiting buffer

overflow in a special daemon to get access to a machine.

4. Work on the 1st lab project.

5. Work on the 1st lab project.

6. Submission of the results of the 1st lab project and

release of the source code.

7. Presentation of the results.

8. Demonstration of various environments for MS Windows and

Linux with examples.

9. Specification of the 2nd lab project: writing a simple

application for MS Windows and Linux.

10. Work on the 2nd lab project.

11. Work on the 2nd lab project.

12. Work on the 2nd lab project and submission of results

13. Submission and presentation of the results of the

semestral project.

14. Submission and presentation of the results of the

semestral project.

Study Objective:
Study materials:
Note:
Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Generated on 2012-7-9
For updated information see http://bilakniha.cvut.cz/en/predmet1469506.html