Provided by: Microsys Technologies and Solutions Pvt. Ltd.,

LINUX Kernel Internals and device drivers

Computer

Module 1 : A Brief History Module 2: LINUX System Programming Fundamentals Module 3 : Kernel Architecture and the Process Descriptor Module 4 : Process Creation and the Scheduler Module 5 : Open File kernel data structures Module 6 : Linux Memory Management Module 7 : Building a fresh LINUX Kernel Module 8 : System Call Implementation and LKMs Module 9 : The /proc filesystem Module 10: LINUX Device Drivers Module 11: I/O Port Drivers Module 12 : LINUX Device Drivers - Advanced Aspects Module 13 : LINUX Device Drivers - Interrupt Handling Module 14 : Kernel Synchronization Module 15 : Linux kernel debugging with kgdb
This is primarily ilt training
instructor led trainingThis class may be available at a classroom in Bangalore, Karnataka,
Duration:6 days
Training Presented in:English
Training Provided by Microsys Technologies and Solutions Pvt. Ltd.,
  • V asked: Hi, I'm bharadwaj I want to join the linux Kernel Internals and device drivers course, Plz let me know when the course starts from. Also if i complete the course will i be getting any certification? and also is there any placement assistance? pz do reply to my email address its
  • R asked: I wish to join the course for Linux Kernel Internals and device drivers. I am pretty confident with the linux OS and have been working on it since last years. Now I want to learn kernel internals and device drivers programming. Please tell me the details about your placement and program fee. Regards,
  • asked: I want to learn Windows CE Device Drivers
  • A asked: What is the duration of training? Will it be available in pune?
  • B asked: Hello Sir, I am Working at mumbai in vc++ language i want to learn device driver implementation. What is process to get the training for same. thanks
  • A asked: cost of the course and place in bangalore
  • M asked: How to attend the course??? Please give the details
  • V asked: Please let me know the price of linux kernel programming course
  • M asked: Hi, I would like to get following details on the course - - Detail description of course contents. - Faculties - Lab facilities - Fee for the course. - Weekend classes for working people, are available. - Location of your training center. Thanks, -
  • R asked: Hi, I am from persuing MTech in IT. I have interested to learn above topic. What all topics you cover? How much cost, duration, available branches(pref. banglore, bombay, hyderabad) this course? Please provide details about this. Plz fwd to thankx
  • S asked: Hi, I am working in TechMahindra. I want to undergo Linux certification course. I want information about the course in Linux kernel internals and device drivers. Thanks and Regards, Shailesh
  • M asked: im a final year student of computer science. do you guys have any projects on device drivers? pls send me the details..
  • R asked: Please send me the information about the training in LINUX Kernel Internals and device drivers along with the dates and pricing. Thanks
  • asked: I am interested in doing a your course. i would like to know what qualification is required , the fees , and duration.
  • S asked: Hi, Could I get more details about the course.
  • S asked: Dear Sir, Iam working in a networking company as linux admin. I want to know about linux kernels. I am able to come on saturday and sunday, if you are providing any training on it. So, let me know if it is possible or not. Regards,
  • A asked: I want to know the full course detail charges. By the course structure it seems that it is full time for days. Is there is any part time course so that i can join in the evening after the office hours. Thanks
LINUX Kernel Internals and device drivers
Course Prerequisites: Participants should have: Mandatory: A firm understanding of user- level UNIX or LINUX and some experience using the OS (includes vi editor and various user- level tools such as find, du, cut, redirection, awk, grep, etc.) Strong 'C' programming skills Application development exposure on UNIX/Linux platform using 'C' Preferable, not mandatory: In- depth application development experience and usage of system calls on any UNIX or LINUX platform using 'C' Duration : 6 days Format: Morning Session: Theory Afternoon/Evening Session: Laboratory hands- on (participants will design & implement programs and/or case studies covered in the Theory session) Requirements: LCD display projector (daily) White board Marker pens and white- board eraser For lab: Suggested man:machine ratio: 1:1 is optimal, 2:1 is viable. System H/W Requirements: Intel- based PCs (Pentium4, 256MB RAM or more preferable) running LINUX as the O.S. System S/W Requirements: LINUX O.S. - preferably RedHat Linux 7.3 with kernel version 2.4.18 The Linux O.S. should be installed as a "Development System" - must include -the 'C' development system (C complier & linker with std C library) -vi / other editors -kernel sources (the kernel source RPM should be installed subsequently) -kernel source for 2.4.20 vanilla kernel Preferable: X Window System installed (for ease of use) Debugger (gdb) Important: Every participant (or at max 2 participants) should have a separate independent LINUX desktop system to use for this course. This is as a particular participant's system can crash; having them completely stand- alone prevents this from affecting others (if a single LINUX server system is shared via network access, one participant crashing the kernel will force all others to lose data and stop work). The systems to be used for lab sessions should be "test" systems - this is as during kernellevel development they could crash and even suffer data loss. DAY-WISE COVERAGE Day 1 Module 1 : A Brief History Introduction to Linux Linux Variants The Birth of Linux: Linus Torvalds' historic post OSDLs Linux Timeline The GNU project GNU [L]GPL Module 2: LINUX System Programming Fundamentals A brief mention on Process Privileges- Process Credentials SUID, SGID executables Process execution executing a process the exec family of system calls Process creation with the fork system call Waiting for a Child Process Orphans and Zombies Signals and signalling with POSIX sigaction Signals in Linux POSIX: The sigaction() system call Signal Flags for special behaviour Executing critical code: Blocking signal(s) from delivery to a process when required Lab Session: Implement the: The assignments provided by the instructor The remaining programs reviewed during the session. Day 2 Module 2: LINUX System Programming Fundamentals (contd.) Real- time signal handling support Using the SA_NODEFER flag Sending signals to other processes Piping: Using the pipe, fork, dup and exec API in one stroke Tracing a process with strace A Conceptual Introduction to POSIX Threading on Linux The multithreading concept Pthreads on Linux Module 3 : Kernel Architecture and the Process Descriptor Layout of the kernel source tree Architecture Process descriptor- the task_struct structure Module 4 : Process Creation and the Scheduler Process Creation The INIT_TASK macro Process Creation the __clone() function and flags fork() kernel implementation The Linux kernel scheduler Internal working of the kernel scheduler Brief Note on the 2.5/2.6 kernel scheduler Module 5 : Open File kernel data structures The Open Files Table - the files_struct structure The File Table - the file structure The File Operations pointer - the file_operations structure Lab Session: Implement the: The assignments provided by the instructor The remaining programs (if any) reviewed during the session. Day 3 Module 6 : Linux Memory Management Hardware Segmentation Paging Paging on the x86 Process Page Tables Linux Memory Zones Zone allocator Buddy System Memory Map - page structure Swapping and the Page Cache VM LRU Page Lists Page Reclamation Page Life Cycle Process VM Mapping Kernel Threads Memory Regions - VMAs VM Management Policy Kernel data structures- overall relationships Module 7 : Building a fresh LINUX Kernel Overview of the process Download and extraction Configuration Compile and build Boot option setting Case Study: Building a kernel with the Magic SysRq key enabled and other specific features Lab Session: Kernel build Day 4 Module 8 : System Call Implementation and LKMs System Calls LINUX x86 System Call Implementation The syscall[n] macros The sys_call_table Loadable Kernel Modules (LKMs) Intercepting a system call using LKMs Additional Notes Compiling Modules Loading and Unloading Symbol exporting The nm utility Memory allocation API in the kernel Case Study on LKMs Module 9 : The /proc filesystem What is the /proc filesystem Exploring the /proc filesystem A first quick session on /proc Kernel data in /proc Session 2 on /proc : kernel data Using the sysctl facility Sysctl - the kernel branch Sysctl - the fs branch Sysctl - the vm branch Real-world case- study of user- level procfs usage Lab Session: Implement the exit() trapping module Case study/Project I: the exec module (details will be provided). Day 5 Module 10: LINUX Device Drivers What is a device driver User- space and kernel- space Writing a device driver - the basics Block and character device files The VFS layer and driver registration Writing a character device driver for Linux - the framework registering with the kernel the major-wide open and fop setup minor- specific open Default processing on null fop entries Writing our own character driver: the cz and cnul memory devices Using the proc filesystem within a kernel module/driver for reading for writing Case Studies Case # 1: the cz driver Lab Session: Implement the cz and cnul device driver Implement the above using the procfs interfaces as well Module 11: I/O Port Drivers Linux Hardware I/O Management Memory Barriers Port I/O operations Portability issues The x86 parallel port specification Case Study #3: Build a Linux device driver to drive an actual parallel port hardware device (device will be provided by the instructor during the session for testing the driver) Day 6 Module 12 : LINUX Device Drivers - Advanced Aspects Blocking I/O and Wait Queues Kernel implementation of sleep_on_* and wait_event_* routines Simple blocking I/O implementation: the sleepy driver Additional tests (slpy2) Handling Blocking and Non- blocking I/O Using semaphores for mutual exclusion control Blocking I/O - for read()/write() operations in device drivers Module 13 : LINUX Device Drivers - Interrupt Handling Control of Interrupts Interrupt Handlers Installing an Interrupt Handler Tasklets and Bottom Halves The ppd driver features tour- Module parameter passing IRQ request Procfs entries Blocking I/O mode Interrupt handling with tasklet Task Queues Module 14 : Kernel Synchronization The need for synchronization in the kernel Linux's synchronization techniques Using spinlocks Module 15 : Linux kernel debugging with kgdb Using the kernel debugger kgdb Hardware and Software requirements Hardware and Software setup Initiating a debugging session on the target system Lab Session: Implement the cz and cnul device driver Case study/Project II: the vcp module (details will be provided by the instructor) Implement Case study/project III Case 4: Enhance Case 3 project, by adding on an interrupt handler. Have a tasklet service it. Appendices Appendix A : LINUX Resources Appendix B : Bibliography Appendix C : Misc. Useful Topics Kernel Initialization Dynamic Kernel Timers Using the GNU debugger gdb Tracing processes with strace
About The Training Provider: Microsys Technologies and Solutions Pvt. Ltd.,
Microsys Technologies and Solutions Pvt. Ltd., - Microsys Technologies & Solutions Pvt. Ltd is a proactive organization headquartered in Pune with its branches across Mumbai & Bangalore. In the last few years of our existence we have successfully offered value propositions to our clientele across the country and overseas. Customized Software Development Corporate Training & IT Education leadership and management skill programs ...
Want to Sell More linux kernel internals training?
Custom Search
tcw11-v473M-08/23/11-20:29:06-()[B]-[A]-[A] -00:41:47