This course gives general information on Linux application environment as well as deeper knowledge on how to manage large applications with the make build system and other build tools commonly used in an Open Source environment.
The course will also discuss available tools for development of shared libraries, trace and debug facilities and suggest good coding pratice with respect to error handling, thread safe coding disciplines and suggest a well structured, recursively built application directory structure to be maintained throughout the course.
The course focus is on multi- tasking solutions using traditional Unix facilities to handle processes and Inter Process Communication (IPC) as well as the industry standard POSIX threads library to manage lightweight threads to be scheduled inside a process. Sample source code and exercises will demonstrate how these threads can be managed with mutexes, signals, condition variables, shared memory and the POSIX semaphore library.
The course will conclude this multithreaded application experience by discussing and implementing sample applications using the TCP/IP network services as provided by the standard BSD socket interface.
A series of hands-on lab sessions where the student can learn step-by-step how to use the various application facilites in the Linux operations system will be presented throughout the course.
Upon completion of the course, the student shall have an understanding of the basic principles of application development under the Linux operation system. The student will aslo have an understanding of how to use the pthreads API for concurrent thread execution and the means to synchronize thread execution, handle critical regions and use signals and timers in an asynchronous event driven application environment.
The student will also be introduced to networking solutions with TCP/IP using the BSD socket interface. Fundamental concepts are covered including network addressing, well known services, sockets and ports.
Documentation
The course documentation is written in-house in English. The course can be given in English or Swedish.
Recommended course lenght
3 days
By filling the » Information Request Form below, you'll receive more information on ENEA and their possibility to tailor the course Application development for Linux for your organisation.
Who should attend?
System designers, application programmers and project leaders. The course is targeted for students working with development of applications in all types of Linux systems ranging from small embedded system to large application servers.
Previous knowledge
C-programming on Linux or Unix and and understanding of multitasking concepts. Recommended courses: Embedded Linux Course, C programming,
Theoretical discussion on Linux application development environment
Programming environments
Linux kernel services and architecture
Trace and Error Handling
Networking with TCP/IP
Network Application Strategies
Price according to agreement.

Enea is a global software and services company focused on solutions for communication-driven products.

For more than 40 years, Enea has been a leading global provider of system software, development tools and professional services for high-availability, mission-critical telecom, mobile, medical, automotive and military/aerospace. With a team of over 700 people, Enea offers best-in-class solutions to solve complex technical problems.
Enea offers comprehensive training services for developers who want to get up to speed quickly and maximize their productivity with Enea’s operating system, middleware, and database products.
At Enea, we have many years of experience in developing and offering courses and seminars in our areas of competence and expertise. In effect, this means courses in the latest technologies, because we strive to remain at the cutting edge of technology. For example, we were the first to hold courses in UNIX, C++ and Java for embedded systems.
The majority of our courses are developed in-house, and our consultants are the instructors. This guarantees that the level of the courses remains high, since we teach in the areas in which we are working. The content of our courses reflects our competence and we can therefore offer a broad range of advanced technical courses within the technological scopes of all our Technology Areas – from hardware and various programming languages to testing and project management, for example.
Our Training offer includes both standard courses, which are described in our course catalogue; and customized courses, developed and held on request. Training can also be included as part of an assignment where we develop a system for testing, communication and real-time applications, for example, and then train the customer in the programming language we have used in the development.
In addition to the courses, we also offer seminars. These are held
as scheduled breakfast or lunch seminars, generally covering on
exciting new areas of technology. In addition a number of more in-depth
seminars may be held on request.
Contact Enea and » get more information on training for Enea's software solutions.
To request information from Application development for Linux, please fill out the following details: