Android System Development Course
For working professionals. Learn Android system development for integrating new devices using HAL.
Course
Projects
LMS Access
Interventions
The Linux Kernel Internals Course will enable you to write Linux system programs and applications by making use of system calls.Starting with OS concepts, this course will deep dive into process, memory, networking, IPC mechanisms of Linux.
The Linux Operating System has established number one position in Embedded Systems due to many reasons, one of them being robust Kernel design. This course on Linux Kernel Internals will take you through a hands-on and exciting journey.
Currently most of the embedded systems are built over an operating system due to performance requirements and the resource complexity. This adds responsibility to developers to understand the OS capabilities in form of system calls – Interfaces, API’s and system calls.
This course gives hands-on perspective on various Inter Process Communication (IPC) mechanisms like Pipes, FIFO, Shared Memory, TCP/IP Socket programming and multithreading using pThread APIs. By the end of the module you will be able to implement a multi-tasking or multi-threading application by understanding the internal aspects of Linux.
The Linux Kernel Internals course is targeted for working professionals. Since this is an UpSkilling course, we expect participants to have some prerequisites. This will help you to get maximum takeaway from the course.
Key Takeaways:
Prerequisites:
Learning Platform:
The Linux Kernel Internals course is delivered in a workshop model. Each session consists of a concept explainer followed by a power packed hands-on session. Overall day and session wise plan is given below.
Detailed Linux Kernel Internals Course Syllabus is also available to download in PDF format.
Course name | Start date | Duration | Registration Status |
---|---|---|---|
Emertxe Certified Embedded Professional - Advanced(Onsite /Classroom-based) | 23/12/2024 | 6 Months* | Register Now |
Emertxe Certified Embedded Professional(Online) | 20/12/2024 | 6 Months* | Register Now |
Emertxe Certified Embedded Professional (Online) | 03/01/2025 | 6 Months/Evening* | Register Now |
Embedded Systems Internship | 30/11/2024 | 1 Month | Register Now |
Everyone hits the career crossroads one time or another. UpSkilling is the best way forward. Here is the list of professionals from the past who have won over their career challenges.
Developing solutions on my own and the belief in Best return on investment is in improving self-skills were the key motivating factors that made me reach Emertxe. Mentors helped me advance diversified skills in the Embedded domain. I could enhance my profile and started giving interviews. At one point I had 5 offers in hand to make a choice. Thanks to Emertxe.
I was working in a non Embedded domain, and wanted to get back into the core. Hence I quit my job and joined Emertxe. I got help from mentors who helped me to get back into hands-on programming. Because of Helped to achieve a career transition. Mentors Helped to get the basics of embedded systems and build a career in the core domain.
Training provided at Emertxe is more about practical knowledge necessary to become ready for industry. Practice sessions and assignments at Emertxe are well-designed to give candidates the edge over other job seekers in the market. I have worked on IoT, Linux drivers, Low level drivers, firmware, RTOS, currently working at Toshiba Software India.
I was working as a faculty in an engineering college. Wanted to get into Embedded, which has been my area of interest. However I had a skill-gap. Mentors understood my challenge and aspirations. They helped me by giving hands-on mentoring and close guidance. I could make a transition into the industry, which was not possible without Emertxe.
Our Linux internals courses give very high importance on project based learning. Not only you learn a particular technology as a part of the workshop, it will enable you to build a project on your own. Here is a list of projects that will expose you to various part of Linux Kernel and System calls.
The Trivial File Transfer Protocol (TFTP) is a simple way of transferring files between two systems. This protocol is specified in RFC 1350.This protocol doesn’t support advances available in FTP (ex: User authentication), typically used in Embedded systems for its smaller footprint and simplicity.
The goal of this project is to understand RFC and implement the protocol in a LAN environment. Eventually this project can be extended for advanced cases like inter-operating with standard TFTP client / servers.
TCP/IP networking
UDP socket APIs
The Internet today has become a very complex entity by having different set of devices working together. In a scenario where the network devices are located remotely (ex: Wireless base station) monitoring such devices pro-actively becomes a very critical activity. Any malfunctions happen in remote device (ex: CPU usage) will result in device crash.
The goal of this project is to implement a TCP based client and server. The centralized server will connect with multiple clients and monitor various system parameters, thereby enabling remote manageability.
Linux commands used in systems management
TCP socket APIs
Web based chat applications are one of the more commonly used tool for effective two way communication, starting with IRC chat-rooms. Each user need to authenticate himself and join a chat-room after which he should be able to communicate with all in the group.
The goal of this project is to simulate a chat room in a LAN by using TCP sockets and demonstrate message exchanges
TCP socket APIs
Server discovery in a LAN environment
Message queues are one of the IPC mechanisms that helps two user-space processes to communicate and exchange information. They are exposed by the Kernel as system calls. In actual implementation the data-structures are maintained inside the Kernel to facilitate buffer transfer between two processes.
The goal of this project is to implement Message Queue IPCs inside the kernel and expose them to user space processes. Along with implementation, these new system calls need to be hooked into Kernel’s soft interrupt ecosystem.
Queue & Linked list ADTs
Linux Kernel data structures – process & memory
One of the key requirements of a network is the ability to handle large volumes of data. Network should have necessary resilience to handle, which is simulated using Network packet injectors in the test environment.
The goal of this project is to create a command line based Network packet injector that will generate all major protocol packets (ex: HTTP). For implementation RAW sockets are used.
TCP/IP network protocols – Headers & payload
RAW socket usage
The Trivial File Transfer Protocol (TFTP) is a simple way of transferring files between two systems. This protocol is specified in RFC 1350.This protocol doesn’t support advances available in FTP (ex: User authentication), typically used in Embedded systems for its smaller footprint and simplicity.
The goal of this project is to understand RFC and implement the protocol in a LAN environment. Eventually this project can be extended for advanced cases like inter-operating with standard TFTP client / servers.
TCP/IP networking
UDP socket APIs
The Internet today has become a very complex entity by having different set of devices working together. In a scenario where the network devices are located remotely (ex: Wireless base station) monitoring such devices pro-actively becomes a very critical activity. Any malfunctions happen in remote device (ex: CPU usage) will result in device crash.
The goal of this project is to implement a TCP based client and server. The centralized server will connect with multiple clients and monitor various system parameters, thereby enabling remote manageability.
Linux commands used in systems management
TCP socket APIs
Web based chat applications are one of the more commonly used tool for effective two way communication, starting with IRC chat-rooms. Each user need to authenticate himself and join a chat-room after which he should be able to communicate with all in the group.
The goal of this project is to simulate a chat room in a LAN by using TCP sockets and demonstrate message exchanges
TCP socket APIs
Server discovery in a LAN environment
Message queues are one of the IPC mechanisms that helps two user-space processes to communicate and exchange information. They are exposed by the Kernel as system calls. In actual implementation the data-structures are maintained inside the Kernel to facilitate buffer transfer between two processes.
The goal of this project is to implement Message Queue IPCs inside the kernel and expose them to user space processes. Along with implementation, these new system calls need to be hooked into Kernel’s soft interrupt ecosystem.
Queue & Linked list ADTs
Linux Kernel data structures – process & memory
One of the key requirements of a network is the ability to handle large volumes of data. Network should have necessary resilience to handle, which is simulated using Network packet injectors in the test environment.
The goal of this project is to create a command line based Network packet injector that will generate all major protocol packets (ex: HTTP). For implementation RAW sockets are used.
TCP/IP network protocols – Headers & payload
RAW socket usage
Our UpSkilling courses are designed by keeping working professionals in mind. It will enable them to take the next successful step in their careers. Please register here with your area of interest, one of the senior career counselors will get in touch with you.
In WSA we believe in knowledge sharing and spreading a word of positivity. Here are the various ways using which you can get additional benefits and support from our team.
In Emertxe we believe in sharing all our resources. Here is our online digital library where you will find all our course materials for free.
We have a pool of experts who can clarify your career related questions and doubts. Feel free to reach out and get your queries answered.
Our Webinars bring in industry and career guidance. Access all our webinar resources and make the right decision for your career.
We are pretty sure you will have a lot of questions before joining our courses. Here are the frequently asked questions for your reference. In case you still have anything specific write to us at training@emertxe.com
Emertxe Linux internals courses is ideal for anyone interested in building system programs and network applications in Linux. Working professionals looking to gain knowledge in this domain. Having some background in Linux is necessary as this requires some amount of Linux / OS level knowledge.
For this workshop Linux standard distributions (Ubuntu / Fedora / Mandriva) is used, where necessary system call support is available in the Linux Kernel.
Emertxe has created innovative self-learning kits which consist of board, tool-chain, software and self-learning materials. This makes learning easier. Along with the course, this kit comes as a bundled option, so that you can practice programming at your own pace even after workshop. Please check out our self-learning kits for more details.
Linux device driver kit is one of the key innovations that our team has brought in the field of education. Learning device drivers is considered to be a challenging affair due to lack of proper hardware, documentation and self-learning ecosystem that consist of sample code and projects. Our team has come up with a self-learning device that addresses these limitations by bundling unique combination of hardware, software and documentation. This kit can also be used as a micro-controller kit for IoT programming by changing modes. Recently this kit related technical paper was presented in Open Source India conference, which can be accessed by clicking here. In summary you can learn device drivers like a breeze using this kit.
Definitely. Self-learning kits can be purchased by anybody interested in self-learning. Request you visit self-learning kits in the web-site, choose the kit that matches your need. In each section we have provided simple ‘How to order’ section using which kits can be purchased at ease.
Here is the list of our UpSkilling courses. Please check individual course cards to get more details.
For working professionals. Learn Android system development for integrating new devices using HAL.
For working professionals.Learn comprehensive Advanced Linux device drivers course. Develop and debug the kernel with ease.
Weekend workshop for professionals. Navigate into Linux Kernel subsystem and create system programs.
Advanced and Comprehensive course to develop, build, deploy and debug Embedded GUI Applications using Qt.
Hands-on training to develop GUI using QML and Qt Quick. Build applications by integrating QML and C++
Comprehensive course to build E2E QT application using C++. Build applications quickly with lesser code
Hands-on workshop on how-to write your first device driver from the scratch. For working professionals
Customized training programs on Qt specific to project areas like integrating Qt Applications for devices.
Hands-on workshop on getting started with customizing Linux and porting Embedded Linux on ARM.
Comprehensive training program to create custom Embedded Linux. For Professionals and enthusiasts