Learn to Program on Linux
Linux
Programming in C++ on Linux
In the book Distributed Systems: Developing High-Performance Applications on Linux, the reader will find the basic concepts of systems and the fundamentals of distributed programming, with emphasis on its main characteristics: creation, manipulation, and communication between processes and machines. With this book, the reader will be able to model, design and implement a solution using task distribution, within the same machine or across multiple machines. The book, which offers explained source code and several exercises for the Online Course, also presents – for beginners – instructions on how to use the GNU GCC compiler, debug programs with GDB, and customize Vi for programming.Why read this book?
This practical book presents the basic concepts of distributed systems and the fundamentals of distributed programming, emphasizing its main characteristics: creation, manipulation, and communication between processes and machines, with dozens of programs and examples written in C++ for Linux. You will be able to model, design and implement a solution using task distribution, within the same machine or across multiple machines.By reading this book you will be able to:
- Create a C++ programming environment on Linux with GNU compilers;
- Manipulate processes for concurrency, parallelism and resource sharing;
- Use the fork(), exec(), system(), exit() and wait() primitives of parallel programming;
- Enable communication between processes through signals, pipe drivers and message queues with the kill(), signal(), sleep(), popen(), pipe(), msgget(), msgsnd() and msgrcv() primitives.
- Create a shared memory segment with the shmget(), shmat() and shmdt() primitives.
- Avoid race conditions and deadlocks with the use of semaphores and manipulation of critical regions with the semget(), semop() and semctl primitives.
- Use Dijkstra's binary semaphores P() and V().
- Create threads to take advantage of Hyperthreading processors' potential.
- Dynamically allocate memory with the calloc(), malloc(), free() and realloc() functions.
- Use interprocess communication through sockets.
- Create client/server programs with TCP and UDP protocols.
- Create programs that use Remote Procedure Call RPC
- For beginners, it also contains instructions for using the GNU GCC compiler, debugging programs with GDB and customizing Vi for programming.
- Author: Ribeiro, Uirá
- Publisher: Nova Terra
- ISBN: 978-85-61893-27-9
- Language: Portuguese
- Pages: 461
- Publication: 2015
- Edition: 1st
- Weight: 850.00 grams
- Price: 119.00
Liked it? Share :-)
That was just one piece. The course teaches the whole path — from your first command to exam day.