Curriculum
- 1 Section
- 35 Lessons
- 4 Days
Expand all sectionsCollapse all sections
- Topics35
- 1.1Introduction Objectives Who You Are The Linux Foundation Linux Foundation Training Linux Distributions Platforms Preparing Your System Using and Downloading a Virtual Machine Things change in Linux Course Registration
- 1.2Preliminaries Procedures Standards and the LSB
- 1.3How to Work in OSS Projects ** Overview on How to Contribute Properly Stay Close to Mainline for Security and Quality Study and Understand the Project DNA Figure Out What Itch You Want to Scratch Identify Maintainers and Their Work Flows and Methods Get Early Input and Work in the Open Contribute Incremental Bits, Not Large Code Dumps Leave Your Ego at the Door: Don’t Be Thin-Skinned Be Patient, Develop Long Term Relationships, Be Helpful
- 1.4Compilers GCC Other Compilers Major gcc Options Preprocessor Integrated Development Environments (IDE) Labs
- 1.5Libraries Static Libraries Shared Libraries Linking To Libraries Dynamic Linking Loader Labs
- 1.6Make Using make and Makefiles Building large projects More complicated rules Built-in rules Labs
- 1.7Source Control Source Control RCS and CVS Subversion git Labs
- 1.8Debugging and Core Dumps gdb What are Core Dump Files? Producing Core Dumps Examining Core Dumps Labs
- 1.9Debugging Tools Electric Fence Getting the Time Profiling and Performance valgrind Labs
- 1.10System Calls System Calls vs. Library Functions How System Calls are Made Return Values and Error Numbers Labs
- 1.11Memory Management and Allocation Memory Management Dynamical Allocation Tuning malloc() Locking Pages Labs
- 1.12Files and Filesystems in Linux ** Files, Directories and Devices The Virtual File System The ext2/ext3 Filesystem Journaling Filesystems The ext4/ Filesystem Labs
- 1.13File I/O UNIX File I/O Opening and Closing Reading, Writing and Seeking Positional and Vector I/O Standard I/O Library Large File Support (LFS) Labs
- 1.14Advanced File Operations Stat Functions Directory Functions inotify Memory Mapping flock() and fcntl() Making Temporary Files Other System Calls Labs
- 1.15Processes – I What is a Process? Process Limits Process Groups The proc Filesystem Inter-Process Communication Methods Labs
- 1.16Processes – II Using system() to Create a Process Using fork() to Create a Process Using exec() to Create a Process Using clone() Exiting Constructors and Destructors Waiting Daemon Processes Labs
- 1.17Pipes and Fifos Pipes and Inter-Process Communication popen() and pclose() pipe() Named Pipes (FIFOs) splice(), vmsplice() and tee() Labs
- 1.18Asynchronous I/O** What is Asynchronous I/O? The POSIX Asynchronous I/O API Linux Implementation Labs
- 1.19Signals – I What are Signals? Signals Available Dispatching Signals Alarms, Pausing and Sleeping Setting up a Signal Handler Signal Sets sigaction() Labs
- 1.20Signals – II Reentrancy and Signal Handlers Jumping and Non-Local Returns siginfo and sigqueue() Real Time Signals Labs
- 1.21POSIX Threads – I Multi-threading under Linux Basic Program Structure Creating and Destroying Threads Signals and Threads Forking vs. Threading Labs
- 1.22POSIX Threads – I Multi-threading under Linux Basic Program Structure Creating and Destroying Threads Signals and Threads Forking vs. Threading Labs
- 1.23Networking and Sockets Networking Layers What are Sockets? Stream Sockets Datagram Sockets Raw Sockets Byte Ordering Labs
- 1.24Sockets – Addresses and Hosts Socket Address Structures Converting IP Addresses Host Information Labs
- 1.25Sockets – Ports and Protocols Service Port Information Protocol Information Labs
- 1.26Sockets – Clients Basic Client Sequence socket() connect() close() and shutdown() UNIX Client Internet Client Labs
- 1.27Sockets – Servers Basic Server Sequence bind() listen() accept() UNIX Server Internet Server Labs
- 1.28Sockets – Input/Output Operations write(), read() send(), recv() sendto(), recvfrom() sendmsg(), recvmsg() sendfile() socketpair() Labs
- 1.29Sockets – Options Getting and Setting Socket Options fcntl() ioctl() getsockopt() and setsockopt() Lab
- 1.30Netlink Sockets** What are netlink Sockets? Opening a netlink Socket netlink Messages Labs
- 1.31Sockets – Multiplexing and Concurrent Servers Multiplexed and Asynchronous Socket I/O select() poll() pselect() and ppoll() epoll Signal Driven and Asynchronous I/O Concurrent Servers Labs
- 1.32Inter Process Communication Methods of IPC POSIX IPC System V IPC** Labs
- 1.33Shared Memory What is Shared Memory? POSIX Shared Memory System V Shared Memory** Labs
- 1.34Semaphores What is a Semaphore? POSIX Semaphores System V Semaphores** Labs
- 1.35Message Queues What are Message Queues? POSIX Message Queues System V Message Queues** Labs
Files and Filesystems in Linux ** Files, Directories and Devices The Virtual File System The ext2/ext3 Filesystem Journaling Filesystems The ext4/ Filesystem Labs
Prev
Advanced File Operations Stat Functions Directory Functions inotify Memory Mapping flock() and fcntl() Making Temporary Files Other System Calls Labs
Next