LINUX INTERNALS & NETWORKING Weekend Workshop

Similar documents
Here to take you beyond. ECEP Course syllabus. Emertxe Information Technologies ECEP course syllabus

LINUX DEVICE DRIVERS Weekend Workshop

Linux Driver and Embedded Developer

ANDROID SYSTEM DEVELOPMENT (Android HAL & device drivers) Weekend Workshop

EMBEDDED LINUX ON ARM9 Weekend Workshop

CL020 - Advanced Linux and UNIX Programming

Kernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

POSIX Threads: a first step toward parallel programming. George Bosilca

UNIT I Linux Utilities

VEOS high level design. Revision 2.1 NEC

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

Threads. Thread Concept Multithreading Models User & Kernel Threads Pthreads Threads in Solaris, Linux, Windows. 2/13/11 CSE325 - Threads 1

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur QUESTION BANK

CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF MCA QUESTION BANK UNIT 1

Process. Program Vs. process. During execution, the process may be in one of the following states

UNIT I Linux Utilities and Working with Bash

REAL TIME OPERATING SYSTEM PROGRAMMING-I: VxWorks

Subject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering)

Problem Set: Processes

SKILL-SET & PROJECT DETAILS Trained Embedded Engineers

CSE 153 Design of Operating Systems

CS 3723 Operating Systems: Final Review

CSE 410: Systems Programming

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files. Compiler vs.

Operating Systems Comprehensive Exam. Spring Student ID # 3/16/2006

CS 450 Operating System Week 4 Lecture Notes

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

CSC209 Review. Yeah! We made it!

Chapter 4: Threads. Operating System Concepts. Silberschatz, Galvin and Gagne

Problem Set: Processes

Retrieval Exercises for CS 3733 Operating Systems. Instructor: Dr. Turgay Korkmaz Department Computer Science The University of Texas at San Antonio

RTOS Real T i Time me Operating System System Concepts Part 2

Software Development & Education Center

True/False: In Signal and Wait, the signaller finishes execution while the signalled process waits for its turn

St. MARTIN S ENGINEERING COLLEGE Dhulapally,Secunderabad DEPARTMENT OF INFORMATION TECHNOLOGY Academic year

Semaphore. Originally called P() and V() wait (S) { while S <= 0 ; // no-op S--; } signal (S) { S++; }

Midterm Exam. October 20th, Thursday NSC

NETWORK PROGRAMMING AND MANAGEMENT 1 KINGS DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

OS Structure. User mode/ kernel mode. System call. Other concepts to know. Memory protection, privileged instructions

Mid Term from Feb-2005 to Nov 2012 CS604- Operating System

CSC 4320 Test 1 Spring 2017

CS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University

Real-Time Programming

Linux Operating System

CIS Operating Systems Synchronization based on Busy Waiting. Professor Qiang Zeng Spring 2018

QUESTION BANK UNIT I

Introduction to PThreads and Basic Synchronization

Outline. CS4254 Computer Network Architecture and Programming. Introduction 2/4. Introduction 1/4. Dr. Ayman A. Abdel-Hamid.

OS Structure. User mode/ kernel mode (Dual-Mode) Memory protection, privileged instructions. Definition, examples, how it works?

Processes The Process Model. Chapter 2 Processes and Threads. Process Termination. Process States (1) Process Hierarchies

Dr. Rafiq Zakaria Campus. Maulana Azad College of Arts, Science & Commerce, Aurangabad. Department of Computer Science. Academic Year

Concurrent Programming

Lecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5.

(MCQZ-CS604 Operating Systems)

OPERATING SYSTEMS & Network OVERVIEW. 1: OS & Network Overview

Operating Systems: William Stallings. Starvation. Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall

CS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University

Processes The Process Model. Chapter 2. Processes and Threads. Process Termination. Process Creation

Exam Guide COMPSCI 386

Linux Kernel Architecture

Operating Systems. Lecture 4 - Concurrency and Synchronization. Master of Computer Science PUF - Hồ Chí Minh 2016/2017

CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE) UNIT I OPERATING SYSTEMS

Collaboration of Tasks

Questions from last time

ECE 574 Cluster Computing Lecture 8

Chapter 4: Threads. Chapter 4: Threads

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

EECS 482 Introduction to Operating Systems

CS350: Final Exam Review

2 nd Half. Memory management Disk management Network and Security Virtual machine

1. Draw and explain program flow of control without and with interrupts. [16]

Design Overview of the FreeBSD Kernel CIS 657

PROCESSES & THREADS. Charles Abzug, Ph.D. Department of Computer Science James Madison University Harrisonburg, VA Charles Abzug

Design Overview of the FreeBSD Kernel. Organization of the Kernel. What Code is Machine Independent?

Operating System(16MCA24)

Network Programming. Introduction to Sockets. Dr. Thaier Hayajneh. Process Layer. Network Layer. Berkeley API

I.-C. Lin, Assistant Professor. Textbook: Operating System Concepts 8ed CHAPTER 4: MULTITHREADED PROGRAMMING

Chapter 4: Threads. Operating System Concepts with Java 8 th Edition

Chapter 4: Threads. Operating System Concepts 9 th Edit9on

CSE 451 Midterm 1. Name:

Systems software design. Processes, threads and operating system resources

PostgreSQL Database and C++ Interface (and Midterm Topics) ECE 650 Systems Programming & Engineering Duke University, Spring 2018

CS450/550 Operating Systems

Computer Systems A Programmer s Perspective 1 (Beta Draft)

Operating Systems. Review ENCE 360

CS 5523: Operating Systems

Embedded System Curriculum

Lecture 9: Midterm Review

CSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division

Thread. Disclaimer: some slides are adopted from the book authors slides with permission 1

Question No: 1 (Marks: 1) - Please choose one A computer system that allows only one user to use the computer at a given time is known as:

Operating System Support

Operating Systems Comprehensive Exam. Spring Student ID # 3/20/2013

CSE Traditional Operating Systems deal with typical system software designed to be:

PROCESS CONCEPTS. Process Concept Relationship to a Program What is a Process? Process Lifecycle Process Management Inter-Process Communication 2.

CROWDMARK. Examination Midterm. Spring 2017 CS 350. Closed Book. Page 1 of 30. University of Waterloo CS350 Midterm Examination.

Transcription:

Here to take you beyond LINUX INTERNALS & NETWORKING Weekend Workshop

Linux Internals & Networking Weekend workshop Objectives: To get you started with writing system programs in Linux Build deeper view about soft interrupts and how Kernel handles it Usage of synchronous and asynchronous communication mechanisms in Linux Linux Kernel system call implementation POSIX thread library usage Race conditions and thread safe coding practices Internetworking concepts using TCP/IP Network packet analysis using Wireshark Protocol development using TCP/IP socket programming Overview: This workshop provides a practical overview Linux internals for writing highly optimized system programs in Linux environment. It gives complete understanding of the Operating system concepts and Linux internals (Interfaces, API s and system calls) and helps the audience to move to the next level of programming by considering other factors in the system. This module is industrial aligned and provides ample practical classes to provide good exposure to Linux programming. Duration: 4 days (Two weekends) Platform: Linux (Fedora / Mandriva / Ubuntu) Delivery method: Workshop based approach delivered in a fast-track Pre-requisites: Good C & Programming Skills Basic Hands-On Linux Usage Fundamentals of Operating systems Embedded working experience would be a plus

Detailed course contents: Day-1: Introduction Introduction to Linux & Open source GPL, LGPL licensing Introduction to various flavors to Linux Using the command line interface Components of Linux System Calls User and Kernel Space Introduction to System Calls System Calls in Detail Strace Tracing system calls Process Introduction to Process Process vs. Program Process States Creating Process Process termination Special case of processes Day-2 Inter Process Communication (IPC) Introduction to IPC Pipe FIFO Shared Memory Advantages and Disadvantages of various IPC mechanisms Application use cases Signals Introduction to Signals Default disposition of Signals Handling the Signals Signal Related Functions Threads Introduction to Threads

Creating Thread Data handling with Thread Types of Threads Thread Attributes Thread Cancellation Threads vs. Process Introduction to Synchronization Introduction to race conditions Critical section Priority inversion Deadlock Atomicity & Mutual exclusion Solutions to race condition Day-3 Thread Synchronization Race condition in multi-threaded applications Writing thread safe code Mutex POSIX Semaphores Usage of Binary semaphores and Mutex Process synchronization Race condition in multi-process applications Limitations of shared memory Semaphore (System-V) implementation Internetworking with TCP/IP OSI and TCP/IP models Addressing in TCP/IP IPv4 and IPv6 differences TCP three-way handshake Network packet analysis in Linux Networking commands in Linux Day-4 Linux Network programming using Sockets Socket APIs Iterative and Concurrent servers Client-server implementation using sockets TCP and UDP sockets Synchronous I/O using select() xinetd daemon in Linux

Process Management Scheduler and scheduling algorithms Real time OS RTOS characteristics Memory management Memory Management Unit (MMU) introduction Virtual memory Paging & Page fault MMU concepts Relocation, Protection, Sharing, Logical and physical organization Hands-on session details: System call tracing using strace Timer system call and usage of man pages for programming using system calls Creation of new process using fork(), exec() and system() Tracing Linux process tree structure and establishing parent-child relationship Creation of orphan & zombie process IPC message passing using combination of pipe and shared memory Asynchronous event handling using signal IPC Iterative and current client-server implementation using TCP/UDP Network live packet capturing and analyzing TCP/IP header fields Multi-thread application and data handling using POSIX thread library Race condition & solving in multi-thread & multi-process scenario Workshop Highlights: Platform: x86-based Kernel: 3.x / 4.x Optimization and use-case examples Choosing right IPC mechanism for your multi-tasking application How? Writing thread-safe code Special Focus: Application scenarios in Embedded systems

Emertxe Information Technologies Private Ltd #83, 1 st Floor, Farah Towers, MG road, Bangalore - 560001 T: +91 809 555 7 333 (M), +91 80 4128 9576 (L) E: training@emertxe.com www.emertxe.com