For public sessions, you can sign in yourself or delegate one or a few employees. The prices given in the tables are for sessions in our London training rooms, per one person.
On customer's request we conduct trainings in London, other locations in UK and anywhere in Europe, either at the customer's premises or in any other place, on either customer's hardware or ours. For on-demand training costs see here.
Title / Code | Date | Duration |
Price TooltipTriangle |
---|---|---|---|
Advanced C/C++, low level, kernel and embedded | |||
Linux C/C++ Programmer's Workshop
LX-C-INTRO |
On demand 4+ TooltipTriangle |
4 days |
1140 EUR |
Low Level C Linux Programming
LX-C-LOWLEV |
On demand 4+ TooltipTriangle |
2 days |
790 EUR |
Embedded Linux Systems (SoC, IoT)
LX-EMBEDDED |
On demand 5+ TooltipTriangle |
5 days |
1490 EUR |
Linux Kernel and Driver Development
LX-KERNEL |
On demand 5+ TooltipTriangle |
3 days |
1190 EUR |
Programming | |||
Bash shell programming
LX-BASH |
On demand 5+ TooltipTriangle |
1 day |
380 EUR |
Advanced shell programming, Bash, AWK
LX-BASH-ADV |
On demand 5+ TooltipTriangle |
1 day |
390 EUR |
Additional information
- training prices given above are exempt from VAT
- training prices given above are for our London site - for other locations, please contact us
- training prices given above are valid for upfront payment at least 7 days before the beginning of the training, when you apply via our standard application form or sign a standard training contract. Payments for custom contracts and payments after the course are 5% higher.
What is included in the training fees?
All training fees for training conducted at our premises include:
- our training materials
- a certificate of training
- snacks, coffee, tea and soft drinks available during the whole course
- after the course, an opportunity for contacting the trainer/trainers once for advice and answers concerning the training material
Some training courses also include lunches; more information is available in the detailed course description.
Linux Kernel Programming Using C Language
The Linux kernel, which is the heart of the operating system, was written mainly in the C language. Therefore, programmers working on kernel development must have solid knowledge of this programming language and the specifics of working in the kernel environment.
Structure of the Linux Kernel
The Linux kernel consists of many modules that are responsible for various aspects of the system's functioning. Each module handles specific tasks such as file handling, memory management, and device support. All these modules work together to create a coherent operating system.
Programming in C Language
C is widely used for Linux kernel programming due to its efficiency and low-level nature. Kernel programmers must be proficient in pointers, memory management, and bit operations - key aspects of C programming.
Programming languages, especially C, play a key role in creating and developing the Linux operating system kernel. The C language is widely used in kernel programming for several reasons:
- Efficiency: The C language enables low-level programming, which is crucial for the operating system kernel. Simple C operations are directly mapped to processor instructions, which translates into efficiency and performance.
- Proximity to Hardware: The C language offers direct access to memory, pointers, and bit operations, which is important when programming operating systems where low-level hardware management is necessary.
- Portability: The C language is portable, which means that code written in the language can be easily transferred between different processor architectures. This is crucial for the Linux kernel, which runs on a variety of platforms.
- Assembler support: In some cases, especially in critical parts of the code, it may be necessary to use assembler. The C language allows for seamless integration with code written in assembly language.
- History and Tradition: The Linux kernel was written in C from its inception by Linus Torvalds. For this reason, the tradition of using C continues throughout the project.
- Rich Library Database:The C language has a rich library database, which facilitates the development of advanced software and enables the use of various system functions and services.
- Easy Integration with Assembler:The C language allows easy integration with code written in Assembler, which is useful for low-level hardware maintenance.
The C language is not the only language used in the context of Linux kernel programming, but it serves as the primary tool for this purpose. Other languages, such as assembly or scripts in a scripting language, may be applied in specific code segments, but they are often used as supplements to the main code written in the C language.
See also
Embedded Linux Systems (SoC)
A complete and thorough overview of Linux in embedded systems. This training, full of practical, hands-on exercises done on actual embedded systems, provides both the necessary theoretical knowledge and practical examples and use cases. After this course, participants are able to prepare development environment and operating system themselves. Read more