Course code: M7D-SP01
Download Linux/UNIX System Programming course description (PDF)
This course provides a deep understanding of the operating system architecture and low-level interfaces (principally, system calls and library functions) that are required to build system-level, multithreaded, and network applications on Linux and UNIX systems. The course consists of a mixture of detailed presentations coupled with a large number of carefully designed practical exercises that allow participants to apply the knowledge learned in the presentations.
By the completion of the course, participants will have the mastery needed to write complex system, network, and multithreaded applications on a Linux or UNIX system. Previous system programming experience (on Linux, UNIX, or any other operating system) is not required.
If you elect to have an onsite training course on your premises, it is possible to determine the length and content of the course. The length and content of tailored courses is determined by your choice of topics, typically based on a subset of the topics in The Linux Programming Interface. Relevant topics that are not in the "Standard" list are also possible; see Alternative Topics in the course outline, and contact me if you have specific requests.
The audience for this course is in practice rather diverse, and includes:
In order to get the most out of the course, participants should have:
The content of the course is applicable in a range of compiled programming languages, such as C++ and D, and scripting languages such as Perl, Python, and Ruby, and participants are welcome to use their preferred language in the lab sessions.
For example, it's assumed that participants know what the common functions in the stdio and malloc packages do.
Note: previous system programming experience is not required.
The course employs a lecture+lab format.
A significant part of the course is spent on practical exercises. The lab sessions also provide participants with the opportunity to obtain one-to-one assistance from the trainer on the course material and exercises.
Course participants will receive two course books
consisting of around 600 pages that include
all of the slides used in the course.
Some notable features of the course books are the following:
In addition to the course book, participants will receive a copy of The Linux Programming Interface, in either ebook or printed form (or, when possible, both).
The following samples give some idea of the course content and style of the course materials:
Look here.
Michael Kerrisk has a unique set of qualifications and experience that
ensure that course participants receive training of a very high standard:
For more information about the trainer, as well as many reasons why you might want to consider choosing man7.org training courses, please look here.
Michael Kerrisk has delivered week-long courses in various countries, including the USA, Australia, Germany, England, France, Holland, Norway, and Switzerland. Past customers include Google, IBM, BMW, Cisco Systems, Hewlett-Packard, Container Solutions, the French and British governments, and the city of Munich.
For public 5-day courses in Munich, GERMANY, the per-person price is €2700 + German VAT (MWSt). The price includes the cost of training materials as well as lunch and refreshments. Discounts are available for multiple attendees from the same company or organization; please inquire at training@man7.org for details.
For public courses in San Francisco, the per-person price is US$3400. The price includes the cost of training materials as well as lunch and refreshments. Discounts are available for multiple attendees from the same company or organization; please inquire at training@man7.org for details.
For tailored onsite courses at your location, email training@man7.org regarding availability and rates.
Date | Location | Maximum participants | |
To be announced | Munich, Germany | 12 | Registration |
To be announced | San Francisco, USA | 12 | Registration |
For further inquiries about the course, please contact us via one of the following methods:
If you would like to be added to a mailing list to receive notifications of public training courses that are scheduled in the future, send a mail (noting your location) to training@man7.org. Likely future locations are Europe and USA West Coast, but other locations may also be possible, especially if they can be scheduled to coincide with an interesting conference.