Advanced Linux Programming
Advanced Linux Programming
Advance Linux Programming
Basic Editing Tool
vi with various options
Command Line Compilation
Basic Compilation using gcc
The Process: Intermediate Files
Compile Flags
Dependency
Compilation Using make
Basic make and makefiles
Common Errors
Using Variables
Compiling Your Program For GDB
Important Commands for Running GDB
GCOV
Compiling your program for gcov
Running gcov on your program
gcov output interpretation
GPROF
Compiling your program for gprof
Running gprof
Dos2unix And Unix2dos
Running dos2unix or unix2dos
Single File and multiple file programs
Source Code navigation
cscope
ctags
Basic Commands
man
ls
vim
cat
mkdir
rmdir
cd
pwd
cp
rm
mv
alias
find
grep
more
ps
kill
top
chmod
chroot
chown
env
su
hostname
history
touch
du
diff
Advanced Commands –
tar
gzip
gunzip
mount
umount
cscope
ctags
make
gdb
cvs
Networking Commands –
ifconfig
host
telnet
rlogin
ping
traceroute
finger
ftp
netstat
route
arp
tcpdump
ssh
scp
Shell Programming
Control Statements
Loops
Debugger
The Environment of a Unix Process
How C program starts and terminates as process
Memory layout of a C Program
Main function, Command line arguments, Environment variables
exit(), _exit() and atexit() functions
Introduction to Linux
Process Management
File Management
Memory Management
I/O management
Unix File I/O System Calls
File descriptors
File types
Stdin, Stdout and Stderr File descriptors
Link or Relationship between File Descriptor and File or device
File descriptors of same file but from multiple processes
Unix File I/O calls (unbuffered i/o)
open, create, close, lseek, read, write, dup, dup2
fcntl, ioctl
File types, IDs and Access permissions
Standard I/O Library Functions
fopen,fread,fwrite,fclose,fseek
Relationship between file descriptor and FILE pointer
Character at a time I/O
Line at a time I/O
Formatted I/O
Reading and Writing Structures to Files
In Ascii format
In Binary format
Modifying a structure in the file
The Environment of a Unix Process
How C program starts and terminates as process
Memory layout of a C Program
Main function, Command line arguments, Environment variables
exit(), _exit() and atexit() functions
Process System Calls
Process Identifiers
fork, vfork, exit, wait, waitpid, execv
Initial Process Relationships
Terminal Logins
Signals
Signal Concepts
Signal(), kill(), raise(), alarm() and pause()
Inter Process Communication
Pipes
FIFO (Named pipes)
Message Queues
Semaphores
Shared Memory
Threads
Multithreaded programming
Synchronization and Mutual exclusion for threads
POSIX Semaphores
REFERENCES:
1. Advanced Programming in UNIX Environment
by W.RICHARD STEVENS & STEPHEN A.RAGO
Addison Wesley Professional
2. Beginning Linux Programming
by NEIL MATTHEW & RICHARD STONES
Wiley Publishing
3. Linux Programming by Example
4. Linuxsystemprogrammingtalkingdirectlytothekernelandclibrary
by ROBERT LOVE
O'REILLY Publishing