Learn to Program on Linux
Programming on Linux in C++
In the book Distributed Systems: Developing High Performance Applications on Linux, the reader will find the basic concepts of systems and the foundations of distributed programming, with an emphasis on their main characteristics: creation, manipulation, and communication between processes and machines. With the work, the reader will be able to model, design, and implement a solution using the distribution of tasks, within the same machine or in several. The book, which offers explained source codes and various exercises for the Online Course, also provides instructions for beginners on how to use the GNU GCC compiler, debug programs with GDB, and customize Vi for programming. Only 119.00### Why read this book?
This practical book presents the basic concepts of distributed systems and the foundations of distributed programming, emphasizing their main characteristics: creation, manipulation, and communication between processes and machines, with dozens of programs and examples made in C++ for Linux. You will be able to model, design and implement a solution using the distribution of tasks, within the same machine or on several machines. ### By reading this book you will be able to:
- Create a C++ programming environment on Linux with GNU compilers;
- Manipulate processes aimed at competition, parallelism, and resource sharing;
- Use the fork (), exec (), system (), exit () and wait () primitives of parallel programming;
- Enable communication between processes through signals, pipe conductors, and message queues with the primitives kill (), signal (), sleep (), popen (), pipe (), msgget (), msgsnd () and msgrcv ().
- Create a shared memory segment with the primitives shmget (), shmat (), and shmdt ().
- Avoid race conditions and deadlocks by using traffic lights and manipulating critical regions with the primitives semget (), semop () and semctl.
- Use Dijkstra binary semaphores P () and V ().
- Create threads to make use of the potential of Hyperthreading processors.
- Dynamically allocate memory with the functions calloc (), malloc (), free (), and realloc ().
- Use communication between processes through sockets.
- Create client/server programs using the TCP and UDP protocols.
- Create programs that use RPC remote procedure calls
- For beginners, it also contains instructions for using the GNU GCC compiler, debugging programs with GDB, and customizing Vi for programming.
Book Data: - Author: Ribeiro, Uira
- Publisher: Nova Terra
- ISBN: 978-85-61893-27-9
- Language: Portuguese
- Pages: 461
- Publication: 2015
- Edition: 1st
- Weight: 850.00 grams
- Price: 119.00