Home    |    Instructor-led Training    |    Online Training     
         
 
Courses
ADA
Adobe
Agile
AJAX
Android
Apache
AutoCAD
Big Data
BlockChain
Business Analysis
Business Intelligence
Business Objects
Business Skills
C/C++/Go programming
Cisco
Citrix
Cloud Computing
COBOL
Cognos
ColdFusion
COM/COM+
CompTIA
CORBA
CRM
Crystal Reports
Data Science
Datawarehousing
DB2
Desktop Application Software
DevOps
DNS
Embedded Systems
Google Web Toolkit (GWT)
IPhone
ITIL
Java
JBoss
LDAP
Leadership Development
Lotus
Machine learning/AI
Macintosh
Mainframe programming
Mobile
MultiMedia and design
.NET
NetApp
Networking
New Manager Development
Object oriented analysis and design
OpenVMS
Oracle
Oracle VM
Perl
PHP
PostgreSQL
PowerBuilder
Professional Soft Skills Workshops
Project Management
Python
Rational
Ruby
Sales Performance
SAP
SAS
Security
SharePoint
SOA
Software quality and tools
SQL Server
Sybase
Symantec
Telecommunications
Teradata
Tivoli
Tomcat
Unix/Linux/Solaris/AIX/
HP-UX
Unisys Mainframe
Visual Basic
Visual Foxpro
VMware
Web Development
WebLogic
WebSphere
Websphere MQ (MQSeries)
Windows programming
XML
XML Web Services
Other
LINUX INTERNALS
Linux Training Overview

This course focuses on the elements of the Linux kernel that allow programmers to build software components that are linked to the hardware level. Students gain a general understanding of basic tools and interfaces in order to successfully modify features and develop new aspects of the kernel.

Linux Training Audience

Programmers, software designers, and technical managers who plan to use Linux below the application level.

Linux Training Prerequisites

Advanced UNIX Programming is recommended. Strong C programming skills and intermediate knowledge of UNIX/Linux shell commands are required. UNIX/Linux application development experience is recommended.

Linux Training Course duration

5 Days

Linux Training Course outline

Introduction to Linux Internals

  • Introduction and environmental setup
  • Main characteristics of the Linux operating system
  • Linux distributions
  • Kernel configuration facilities
  • Building the kernel
  • Location of components
  • Compiling
  • Kernel Overview
  • Important data structures
  • Processes and tasks
  • Files and inodes
  • Dynamic memory management
  • Queues and semaphores
  • System time and timers
  • Primary algorithms
  • Signals
  • Interrupts
  • System booting
  • Timer interrupt
  • Scheduler
  • System call implementation
  • Description of system calls
  • Practical examples
  • Adding new system calls
  • Memory Management
  • Architecture-dependent memory model Pages
  • Virtual address space
  • Linear address conversion
  • Page table and page directory
  • Middle page directory
  • Virtual address space model
  • User segment
  • Virtual memory
  • The brk system call
  • Mapping functions
  • Kernel segment
  • Static and dynamic memory allocation in the kernel
  • Block device caching
  • Block buffering
  • Update and bdflush
  • List structures for the buffer cache
  • How to use the buffer cache
  • Paging in Linux
  • Page cache management
  • Finding free pages
  • Page exceptions
  • Inter-Process Communication
  • Synchronization
  • Communication via files
  • Pipes
  • Debugging using ptrace
  • System V IPC
  • Socket-based communications
  • File System
  • Basic aspects
  • VFS
  • Mouting a file system
  • Superblock
  • The Inode concept and operations
  • File operations
  • Directory cache
  • Proc filesystem
  • Ext2 filesystem
  • Structure
  • Directories
  • Block allocation
  • Extensions
  • System Calls
  • Initialization
  • Process management
  • Memory management
  • Communication
  • Filesystem
  • Kernel-Related Commands
  • ps
  • top
  • free
  • init
  • shutdown
  • strace
  • traceroute
  • mount
  • Device Drivers
  • Character vs block devices
  • Polling and interrupts
  • Polling and interrupt mode
  • Interrupt sharing
  • Bottom halves
  • Task queues
  • Implementation
  • Setup
  • Init
  • Open and release
  • Read and write
  • Ioctl
  • Select
  • Lseek
  • Mmap
  • Readdir
  • Fsync and fasync
  • Module Management
  • Interfaces to modules
  • Adding/removing modules to the Kernel
  • Insmod
  • Modprobe
  • Rmmod
  • Implementation details
  • Network
  • Layer model
  • Network communications
  • Data structures
  • Socket
  • sk_buff
  • Inet socket
  • proto
  • Devices
  • Ethernet
  • SLIP and PPP
  • Loopback
  • Dummy device
  • Protocols
  • Arp
  • IP
  • Functions
  • Routing
  • Multicasting
  • Packet filters
  • Accounting
  • Firewalls
  • UDP
  • Standard and extra functions
  • TCP
  • Standard functions
  • Communication details
  • SCSI Subsystem
  • Architecture overview
  • Names and conventions
  • Upper level
  • Block devices (hard disks, CD-ROM)
  • Character devices (tape)
  • Generic drivers
  • Mid level (boot parameters, proc interface)
  • Lower (hardware) level and pseudo drivers
  • Boot Process
  • Booting details
  • LILO
  • Started by MBR
  • Started by a boot manager
  • Structure in the MBR
  • Files
  • Parameters
  • Start-up messages
  • Error messages
  • Debugging Tools
  • ptrace
  • SysRq
  • KDB
  • User Mode Linux
  • kgdb

  • Please contact your training representative for more details on having this course delivered onsite or online

    Training Outlines - the one stop shopping center for IT training.
    © Training Outlines All rights reserved