Linux Multithreaded Architecture and Programming Course

Linux Multithreaded Programming Training

Course Title 
SF005 – Linux Multithreaded Architecture & Programming

Course Overview
This intensive training course teaches about multi-threaded, multi-core, parallel and/or concurrent programming techniques & architectures using Linux and C. Besides explaining about user and kernel level threads, it helps attendees understand the difference between single thread/process model and multithreaded programming models, thereby allowing the programmer to understand the intricacies involved in developing multithreaded, multi-core, parallel and/or concurrent programs and how to troubleshoot them.

The hands-on lab familiarize attendees with multithreaded programming model with threads creation and execution followed by complex scenarios likes races, synchronization, deadlock situation and troubleshooting them. The lab will consist of pthreads library in a Linux environment.

Course Highlights
  • Course will be delivered by our Founder/Director who is an Expert with 17+ years of experience in Linux Kernel and SAN software development.
  • The course flow will be an assignment driven model so that participants can have a hands-on experience of multithreaded and parallel programming techniques.

Course Delivery
  • Lectures, Classroom Discussions and Lab Exercises
  • 30% Theory, 70% Lab
  • Location: Sanfoundry Institute, Bangalore, India

Pre-Requisites

Target Audience
IT Professionals / Developers who are doing development & sustenance of complex system software products in any domain (systems, kernels, databases, search engines, applications, browsers, routers,  switches, etc…)

Fee, Schedule & Registration
Click Here for Multithreaded Programming course training schedule, fee and registration information

Course Details
  • Introduction to Threads
  • Parallelism
  • Multi-cores
  • Introduction to Thread
  • Threads – Application
  • User Level Threads (ULT)
  • Advantage of ULT
  • Disadvantage of ULT
  • Kernel Level Threads (KLT)
  • Advantage of KLT
  • Disadvantage of KLT
  • Threads Vs Processes
  • Process Memory Layout
  • Child Process Memory
  • Threads Inside Processes
  • Thread Memory Layout

  • Thread Programming – I
  • Introduction to Pthreads (POSIX Threads)
  • Thread Creation
  • Thread Termination
  • Thread Id & Attributes
  • Thread Joining & Detaching
  • Thread Priorities
  • Thread Cancellations
  • Thread Cleanup Handling
  • Passing Info to Threads

  • Thread Programming – II
  • Thread Synchronizations
  • Mutual Exclusions
  • Condition Variables
  • Thread Safe Operations
  • Thread Signal Handling
  • Thread Signal Masking
  • Issues @ Threads
  • Races & Deadlocks
  • Threads  & Process Resources
  • Threads – File Handling
  • Threads – IPC Handling
Subscribe Newsletter & Posts
Sanfoundry Training Center of Excellence (CoE)

Manish Bhojasia, a technology veteran with 17+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He is Linux Kernel Developer and SAN Architect and is passionate about competency developments in these areas. He lives in Bangalore and delivers focused training sessions to IT professionals in Linux Kernel, Linux Debugging, Linux Device Drivers, Linux Networking, Linux Storage & Cluster Administration, Advanced C Programming, SAN Storage Technologies, SCSI Internals and Storage Protocols such as iSCSI & Fiber Channel. Stay connected with him below.

Subscribe Newsletter & Posts
It was a wonderful course, a thorough study through the bits and pieces of Storage Devices and the other advancements in the SAN technology which was very informative for me. Well prepared slides, practical thoughts and fully interactive class.
— Milind - Microsoft
The Linux System Programming training presented by Manish was very good. His presentation was very precise, clear and in-depth covering the real-time design problems and solutions.
— Suneeth - Brocade
The depth of C coverage, the common pitfalls, the presentation by Manish and his pace were all remarkable. Gave a clear picture of the inner working of C language design.
— Shivanshu - Netapp
The course was well designed and coverage was satisfactorily deep. The linux programming assignments were designed to get a feel of real time issues and covered lot of areas of uncertainty. The project work suggested at the end of the course was invaluable.
— Somenath - EMC
Thank you for providing such an awesome experience on Linux Device Driver Programming. The real beauty in this training that I could witness was its practical exposures to design, issues and explanations on the same in a neat way.
— Roshan - Oracle/Sun
I checked a lot of other training centers before deciding to go with Sanfoundry and am glad I did. The training was very interactive and covered the most important industry aspects of SAN technology needed currently. I admire Manish's immense knowledge on the subject and his friendly attitude.
— Anoop - Hewlett Packard
Advanced C Course content quality was awesome. Lab exercise by Manish are really good as well as tough to cover C programming concepts indepth. The quality of teaching is superb.
— Vikas - Cisco
Follow Manish & Sanfoundry