Sela

Advanced Linux System Programming

Description
The course introduces the participant to programming in the C programming language in a Linux environment. The course focuses on Linux system calls and library functions, how to use them, and their underlying mechanisms. The course deals with many facets of the Linux operating system, including: Linux kernel structure, I/O, Signals, Timers, Processes, Threads, IPC mechanisms: Pipes, Shared memory, Message Queues, Semaphores, and Sockets using TCP and UDP. The course includes many programming examples that can serve as a reference or basis for the participants' work in the future. Time is given to writing and testing several programs to help the participants comprehend the complexity of Linux system programming, along with the satisfaction of knowing how to do it well.
Intended audience
The course is for programmers, software designers, and project managers.

Topics

Short History
Why is Linux So Successful?
UNIX Flavors - BSD, SysV, Linux
Standards
System Architecture
The Kernel
The Shell
Utilities - Tools and Applications
Privileged Execution Mode
Kernel Mode Vs. User Mode
System Calls
Using System Calls
What Happen When a System Call Fails?
Printing Error Messages - perror
Printing Error Messages - strerror
Using Files
Links
Working With Directories
Obtaining File Information
File Permissions
Special Permissions
Using the Linux Clock
Working with Clocks
Working with Resolution in Seconds
High Resolution Clocks
Working with Internal Clocks
Timer Signals
Programs and Processes
The Process IDs
The Process Table
The Process State
PS - Report Process Status
Context Switch
The Process Environment
Process Group
Job and Processes
Process Termination
Creating a New Process
The wait Function Family
Executing a Program
The system C Library Function
Redirection of Input and Output
The vfork System Call
The Way the Kernel Handles Signal
Types of Signals
Results of a Process Receiving a Signal
Handling Signals
Signals List
Sending Signals
Response to Signals
Activation of pause,signal
System Call for Signal Handling
Blocking of Critical Segments
Error Handler
Thread Creation
Thread Cancellation
Thread-Specific Data
Synchronization and Critical Sections
GNU/Linux Thread Implementation
Processes Vs.Threads
Resource Management.
Measuring Resource Utilization.
Upper Levels of Resource Management.
Context Switch.
Algorithms for Process Management.
Process Management in UNIX.
Priorities.
Pipes
Named Pipes
Shared Memory
Message Queue
csh Level Commands
File locking
Semaphore
What Is A Socket?
A Brief History Of Sockets.
Communication Protocols.
Communication Capabilities.
Endpoint Addresses.
The Internet Protocol (IP).
Internet Addresses.
Address Classes.
Connection Oriented Communications And TCP
Connectionless Communications And UDP.
Stream Sockets - The Basic Model
Sending Data – send.
Receiving Data - recv.
Shutting Down A Socket.
Related files.
The select( ) System Call.
Broadcast and Datagram Sockets

רוצה לדבר עם יועץ?

האם אתה בטוח שאתה רוצה לסגור את הטופס ולאבד את כל השינויים?