This course guides a student for the basic understanding of Linux Kernels
Familiarize students with kernel compilations and different ways to achieve the same.
Introduce the character device Driver and explained in details like copy_to_user and copy_from_user
Explained the concept of Jiffies and a practical example of working Jiffies code
Explained in depth about debugfs and its various calls.
Explained in details with the help of power point as to how system call works.
The course provides the various way a system call can be invoked using software interrupt or directly invoking the syscall layer.
At the end of this course students would be well versed in kernel compilation and writing modules on Linux kernel.
This lecture series also guides students as to how to effectively get involved with Linux open source community and write patches which would be accepted upstream.
The course intends to build a niche in students who are devoted in kernel programming but couldn't gather enough resource at single location to build a career out of it.
The intention is to give a build blocks to students to understand the kernel, driver, file system, compilation, module insertion, deletion, device file, communication between user level and kernel level and how to code from kernel perspective rather than general c code.
In depth details of the explanation of concepts to communicate with kernel using either copy_from_user, copy_to_user or using the debugfs or proc fs.
Explained in details how to use virtual machine like VMware fusion of VMware workstation to setup a system for Linux kernel compilation and programming as virtual machines we can take snapshots and if there is problem we can simply revert to older snapshots for quick development, without corrupting the entire Operating system.
Introduction and how to install ubuntu in vmware fusion or workstation for kernel compilation
How to compile Linux kernel in details part2
How to compile Linux kernel in details part3
How to add a hello world module in linux kernel Part 1
How to write a character device driver part -1
How to write a character device driver part -3
How to write a character device driver part -4
How to Patch a linux kernel
How system call works
Over 15 years of total experience in software development, focusing on C/C++/Linux/Symbian C++, different flavors of UNIX (SCO, HP-UX, SunOS, AIX and RedHat Linux). Knowledge of LINUX Internals/ System programming/Inter Process Communication and Shell Scripting.
Worked on Symbian OS features like TLS/descriptors/ threads/ semaphore/IPC/ Active Objects/ Dynamics Arrays/Cleanup Stack/Client –server/Binary Compatibility.
Experience in all stages of development of large project using C/C++/ Clearcase/Subversion/GIT on Linux and LynxOS platform.
Worked on Linux Device driver and System programming.
Worked on HP bootloader, Board Support Package and grub.
Knowledge of Virtual File system, ext3, I/O Scheduler.
Good knowledge of Socket, TCP/IP and routing protocol like BGP, RIP.
Good knowledge of porting and cross-compilation. Ported FreeBSD-libc to Symbian Platform.
Worked on Linux Device Driver(Parallel port Control panel, USB mass storage driver), System programming, ELF32,DWARF, binary optimization.
Worked on GNU Tools chain like Cross-Compiler, Makefile, Auto Conf.
Worked on drivers for SPI, UART, I2C, GPIO Bus as part of board bringup.
Good Knowledge of Multithreading, Semaphore, Message queue, Shared memory and other IPC mechanism.
Bring up of Board and enhanced product for power star energy consumption by implementing various sleeping mode in Devices like scanner, Fax, Hard drive etc.
Knowledge of GNU tool chain and cross compilation
Participated in Code reviews, Risk management, design document as well as implementation phase.
Good knowledge of Object oriented Analysis and design.
Good Knowledge of Xen/ Qemu and virtualization.
Worked on Malware Analysis and disassembly
Very good and through knowledg of Hypervisor like Xen, KVM.