Unix System Programing Online Training
Unix System Programing Online Training Course Content :
Generalities
- Modules System and Unix
- Interface with the calling program
- Error handling
- Library functions
Files
- The file system
- File names and file descriptors
- Meta-attributes, types and permissions
- Operations on directories
- Complete example: search in a file hierarchy
- Opening a file
- Reading and writing
- Closing a descriptor
- Complete example: file copy
- The cost of system calls and buffers
- Complete example: a small input/output library
- Positioning
- Operations specific to certain file types
- 1Locks on files
- 1omplete example: recursive copy of files
- 1Complete example: Tape Archive
Processes
- Creation of processes
- Complete Example: the command leave
- Awaiting the termination of a process
- Launching a program
- Complete example: a mini-shell
Signals
- Default behavior
- Using signals
- Changing the effect of a signal
- How to mask signals
- Signals and system calls
- The passage of time
- Problems with signals
Classical inter-process communication: pipes
- Pipes
- Complete example: parallel sieve of Eratosthenes
- Named pipes
- Descriptor re-directions
- Complete example: composing N commands
- Input/ output multiplexing
- Miscellaneous: write
Modern communication: sockets
- Sockets
- Socket creation
- Addresses
- Connection to a server
- Disconnecting sockets
- Complete example: the universal client
- Establishing a service
- Tuning sockets
- Complete example: the universal server
- Communication in connection-less mode
- Low level reads and writes
- High-level primitives
- Examples of protocols
- 1Complete example: http requests
Threads
- Introduction
- Creation and termination of threads
- Waiting
- Synchronization among threads: locks
- omplete example: http relay
- Conditions
- Event-based synchronous communication
- Implementation details