HomeAboutusExpertiseCareersContactus

Overview
Linux
Windows
EmbedLinux
Registration
 

Training > > Advanced course on Embedded Linux Operating System

This is an advanced project-based training on programming in C, Linux Kernel Design, Device drivers and writing BSP for embedded Linux. It would involve classroom sessions, programming assignments/mini projects, and two full-fledged projects on Linux network/Wireless LAN/SCSI/USB device driver implementation and Linux Boot loader implementation for an embedded ARM based hardware. The classroom session will be held for 2 hours thrice a week (Monday, Wednesday and Friday). The rest of the time you are supposed to do hands on assignments/mini project and the main projects (For those who are working this could be different and they can do the lab work/project during their free time + weekends) at our office. The course would start with C programming classes 3 days a week and then move onto device drivers, Linux Kernel design, basic hardware concepts/architecture of an embedded board, and porting Linux to a new hardware platform.

Duration: 6 months

Aim of the course

  • Focus on C and Kernel design/Operating system/Device driver/Basic hardware architecture concepts and build a good conceptual base.

  • Hands on experience on Linux network/Wireless LAN/SCSI/USB device driver, so that the candidate becomes proficient in writing device driver/device driver concepts.

  • Hands on Experience on Boot loader implementation/System initialization for an embedded board, so that the candidate becomes proficient with writing BSPs.

  • All the points mentioned above go hand in hand in preparing the candidate to face interviews and become a device driver/system software/Embedded system professional.

Potential for Job

Kernel design/Embedded operating system porting (BSP)/ device driver programming is a fairly complex area to master compared to Application programming. As a result, the demand for good professionals in these areas has always exceeded the supply. With the Industry showing signs of recovery, the people with experience could be in high demand in another 3-6 months time.

Our responsibility would be to empower you with knowledge, and get you prepared for Interviews/writing BSPs/device drivers on your own. From experience in working these areas, we are aware that it is very difficult to get good device driver/Embedded OS/system software developers. So, one of the main intentions of this course is to develop device driver/Embedded system software expertise, which can be used by us for our development/consultancy requirements. So, if you do well, we would like to absorb you. Also, from experience in working in these areas, we are confident that if a candidate is good, he/she wouldn’t face any problem in getting a secure/challenging job. Some of the companies looking for expertise in Embedded OS/device drivers are Intel, HP, Lucent, Motorola, Sharp, Adaptec, Force, Timesys, Huawe, Analog devices, Philips, Infineon, Wipro, Tata Elxsi and Infosys (Almost every multi national has openings)..There are many small companies too.

Course strength: 15 candidates.

 

Faculty profile

  • I.I.T, M.Tech (Computer science) with more than 13 years of development experience in Companies like Wipro, Novell (India), National Semiconductor (India), Unisys and SCO (United states).

  • Very experienced in bringing up kernel/protocol/device driver teams from scratch.

  • Guest lectures from Industry Experts on TCP/IP, Real time systems etc.

Target Audience

  • Freshers who are keen to develop concepts and earn embedded system/device driver experience, to get a job in the system software domain/real time/embedded systems etc.

  • Experienced people who would like to change their area of work to system software/device drivers/real time/embedded system etc.

Prerequisite

  • A background in CS/Electronics is preferable. If not, an attitude to learn and work extremely hard is essential. In any case, attitude to work hard and make best use of the guidance for device driver/Embedded operating system development is very important.

  • Clear thinking and an attitude to focus on concepts, and do a good job.

Infrastructure

ARM based board would be used for boot loader project. In addition, every trainee is assigned a PC for the duration of the course. He/She can come any time and do the assignments/mini projects/project. Every trainee is given the relevant books on C, Linux Kernel design and Linux device driver.

Registration

For course registration please fill the online form and register. Please call 080-5251731 for details or contact.

GRACE SYSTEM TECHNOLOGY LABS
#7, 7th Main, Indira Nagar 2nd Stage
Bangalore – 38
(Behind BATA showroom on CMH Road)

We offer one-week free trial to give the trainees an opportunity to evaluate the training and make sure it matches their expectations before registering/making the payment.

Course fee

For full course Rs.30000 in three installments of Rs. 10000 each (First in the beginning, Second after two months, third after 4 months).
For Linux device driver + Kernel design alone Rs. 20000 in two installments of Rs. 10000 (First in the beginning, second after two months).
 

Course curriculum

C Course contents
Introduction, variable types and operators, Control flow, Functions, Pointers, Arrays, Structures and unions, Function pointer, basic data structures (Linked lists, queue, stack, hash table etc.).
There will be assignments and a mini project on memory allocator (Same as used in Unix kernel) to support the course.

Linux device drivers
Introduction, Building and running kernel modules, Character drivers and pseudo driver implementation (Mini project), Debugging techniques, Enhanced character driver operations and pipe implementation, Time keeping in the drivers, Memory allocation and usage, Block drivers & Pseudo driver implementation (Mini project), hardware I/O management, Interrupt handling, MMAP and DMA, Network device driver, Storage and USB drivers, PCI bus interface and overview of peripheral buses, KMOD and advanced modularization, Kernel source and kernel image building.

Full-fledged project on Network (Ethernet)/Wireless LAN/SCSI/Fibre Channel/USB driver implementation.

Linux Kernel design
Overview of Linux/Operating system/Hardware architecture
Basic Unix commands, Computer hardware architecture overview, Operating system overview.

Memory management subsystem
Virtual memory, Demand paging, Segmentation and regions, the hardware independent layer, Paging system procedures, Page fault handling, Page out and swapping, Kernel memory allocation, Memory related system calls

Process management subsystem
Process image, Process states, Structure of a process, Context switching, Process scheduling, User level context switching, System clock handling, process execution modes, signals, Process creation/execution/termination, process suspension, System initialization/shutdown/reboot.

I/O Subsystem
Buffer cache, Page cache, Virtual file system, EXT2 File system, I/O architecture.

Interprocess communication
Semaphores, Message queues and shared memory implementation in the kernel.

Writing BSPs
Hardware basics and processor architecture, Things involved in porting Linux to a new processor/platform/Writing Board support packages.

Full-fledged project on writing boot loader for Linux + Miniproject on root file system.

Tests and mock interviews

The tests and mock interviews are to evaluate the performance of the candidate as well as to prepare the candidate for job interviews/tests. They would cover all the areas covered in the course.

On completion of the course a certificate mentioning the course contents will be given.

   
Powered by CKM4 copyright © Grace System Technology Labs 2004 - 05 All rights reserved