C++ System Programming Cookbook: Practical recipes for Linux system-level programming using the latest C++ features

C++ System Programming Cookbook: Practical recipes for Linux system-level programming using the latest C++ features

by Onorato Vaticone
C++ System Programming Cookbook: Practical recipes for Linux system-level programming using the latest C++ features

C++ System Programming Cookbook: Practical recipes for Linux system-level programming using the latest C++ features

by Onorato Vaticone

eBook

$20.49  $26.99 Save 24% Current price is $20.49, Original price is $26.99. You Save 24%.

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

A problem-solution-based guide to help you overcome hurdles effectively while working with kernel APIs, filesystems, networks, threads, and process communications




Key Features



  • Learn to apply the latest C++ features (from C++11, 14, 17, and 20) to facilitate systems programming


  • Create robust and concurrent systems that make the most of the available hardware resources


  • Delve into C++ inbuilt libraries and frameworks to design robust systems as per your business needs



Book Description



C++ is the preferred language for system programming due to its efficient low-level computation, data abstraction, and object-oriented features. System programming is about designing and writing computer programs that interact closely with the underlying operating system and allow computer hardware to interface with the programmer and the user. The C++ System Programming Cookbook will serve as a reference for developers who want to have ready-to-use solutions for the essential aspects of system programming using the latest C++ standards wherever possible.






This C++ book starts out by giving you an overview of system programming and refreshing your C++ knowledge. Moving ahead, you will learn how to deal with threads and processes, before going on to discover recipes for how to manage memory. The concluding chapters will then help you understand how processes communicate and how to interact with the console (console I/O). Finally, you will learn how to deal with time interfaces, signals, and CPU scheduling.






By the end of the book, you will become adept at developing robust systems applications using C++.




What you will learn



  • Get up to speed with the fundamentals including makefile, man pages, compilation, and linking and debugging


  • Understand how to deal with time interfaces, signals, and CPU scheduling


  • Develop your knowledge of memory management


  • Use processes and threads for advanced synchronizations (mutexes and condition variables)


  • Understand interprocess communications (IPC): pipes, FIFOs, message queues, shared memory, and TCP and UDP


  • Discover how to interact with the console (console I/O)



Who this book is for



This book is for C++ developers who want to gain practical knowledge of systems programming. Though no experience of Linux system programming is assumed, intermediate knowledge of C++ is necessary.


Product Details

ISBN-13: 9781838648756
Publisher: Packt Publishing
Publication date: 02/21/2020
Sold by: Barnes & Noble
Format: eBook
Pages: 292
File size: 5 MB

About the Author

Onorato Vaticone is a software engineer with over 18 years of experience. A C++ expert, he has deep, system-level programming experience. An Agile coach and XP advocate, TDD and Simple Design are his everyday tools. He has worked on real-time systems (defense and energy transmission) with C++. During this time, he learned to write multiplatform code. Early in his career, he realized that a form of agility was needed. He holds an MSc in cloud computing and a BSc in computer engineering and software. He finds learning how things work under the hood to be fascinating!

Table of Contents

Table of Contents
  1. Getting Started with System Programming
  2. Revisiting C++
  3. Dealing with Processes and Threads
  4. Deep Dive into Memory Management
  5. Using Mutexes, Semaphores, and Condition Variables
  6. Pipes, First-In First-Out (FIFO), Message Queues, and Shared Memory
  7. Network Programming
  8. Dealing with Console I/O and Files
  9. Dealing with Time Interfaces
  10. Managing Signals
  11. Scheduling
From the B&N Reads Blog

Customer Reviews